С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вызов структуры из структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Тест по С++ http://www.cyberforum.ru/cpp-beginners/thread93162.html
Привет всем! Большая просьба помочь решить тест по С++ Заранее огромное спасибо! Вариант 1 1) Какой диапазон значений имеет тип Char 1)от -128 до 127 2)от 0 до 255 3)от -32768 до...
C++ Черепашья графика Полистал тут Дейтелов, пятое большое издание и нашёл простенькую задачку, но код получился черезчур увесистый, по моему разумению. Помогите оптимизировать и привести к более компактному виду. Заодно... http://www.cyberforum.ru/cpp-beginners/thread93156.html
C++ как организовать ?
вот такой вопрос нужно написать программу которая определяет минимальное число во введенной с клавиатуры последовательности положительных чисел (ДЛИНА ПОСЛЕДОВАТЕЛЬНОСТИ НЕОГРАНИЧЕННА) если перебор...
Некоректности в булевом выражении C++
Я недавно начал изучать C++ и я немного преуспел (для начинающего), но тут меня кое-что конкретно тормознуло. Тормозом оказалась проблемка в этом коде: #include <iostream> #include <stdio.h> using...
C++ Дан целочисленный массив, нужно исключить из него все нули http://www.cyberforum.ru/cpp-beginners/thread93105.html
Дан целочисленный массив, нужно исключить из него все нули. Если нулей нет-написать "сжатие невозможно". Составить динамический массив и ввод элементов я смогу. А как реализовать поиск 0 и их...
C++ Вычислить процент от общего количества Помогите пожалуйста разобратся с этой прогой: Написать прогамму, которая обрабатывает результаты экзамена. Для каждой оценки программа должна вычислить процент от общего количества оценок.... подробнее

Показать сообщение отдельно
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200

Вызов структуры из структуры - C++

07.02.2010, 07:00. Просмотров 1128. Ответов 0
Метки (Все метки)

Привет всем. Не получается вызвать структуру из структуры, помогите пжлст.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
#include <fstream>
#include <windows.h>
#include <string>
#include <conio.h>
 
using namespace std;
struct NOTEBOOK {
   char model[21]; //наименование модели
   struct size{    //габаритные размеры
       float x; 
       float y;
       float z;
   };
   float w;        //вес 
   int price;      //цена
   int chastota;    //частота
} note[16];
 
int read_txt(void);
 
int main(){
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    printf("\nПрограмма запущена\n\n");
 
    int answer = read_txt();
    if (answer) printf("\nОшибка чтения\n");
    else {
        printf("\nДанные записаны в структуру\n");      
    }
    _getch();
    return 0;
}
 
int read_txt(void){
 
    ifstream fin("D:\\C++\\Projects\\note.txt");
    if(!fin) return 1;
    char buf[77];
    int i, count = 0;
    while(fin.getline(buf,77)){
        count++;
        for(i = 0; i < 20; i++) note[count].model[i] = buf[i];
        for(i = 30; i < 34; i++) note[count].size.x = buf[i];
    }   
 
    for(i = 0; i < 16; i++)
        printf("\n%s, %i", note[i].model, note[count].size.x);
    
    return 0;
}
ошибки :
>------ Build started: Project: Function, Configuration: Debug Win32 ------
1>Compiling...
1>function.cpp
1>d:\c++\projects\function\function\function.cpp(47) : warning C4832: token '.' is illegal after UDT 'NOTEBOOK::size'
1> d:\c++\projects\function\function\function.cpp(10) : see declaration of 'NOTEBOOK::size'
1>d:\c++\projects\function\function\function.cpp(47) : error C2274: 'function-style cast' : illegal as right side of '.' operator
1>d:\c++\projects\function\function\function.cpp(47) : error C2228: left of '.x' must have class/struct/union
1>d:\c++\projects\function\function\function.cpp(51) : warning C4832: token '.' is illegal after UDT 'NOTEBOOK::size'
1> d:\c++\projects\function\function\function.cpp(10) : see declaration of 'NOTEBOOK::size'
1>d:\c++\projects\function\function\function.cpp(51) : error C2274: 'function-style cast' : illegal as right side of '.' operator
1>d:\c++\projects\function\function\function.cpp(51) : error C2228: left of '.x' must have class/struct/union
1>Build log was saved at "file://d:\C++\Projects\Function\Function\Debug\BuildLog.htm"
1>Function - 4 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Добавлено через 38 минут
Все решение нашел), надо было объявить переменную с типом структура size, и уже через нее обращаться к внутренней структуре.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct NOTEBOOK {
   char model[21]; //наименование модели
   struct SIZE{      //габаритные размеры
       float x; 
       float y;
       float z;
   } size;
   float w;           //вес 
   int price;         //цена
   int chastota;    //частота
} note[16];
 
................
 
note[count].size.x
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.