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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
#1

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

07.02.2010, 07:00. Просмотров 1230. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2010, 07:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вызов структуры из структуры (C++):

Структуры. Вызов данных структуры по указателю. с++ - C++
Условие задачи: Помогите, пожалуйста, с как реализовать печать вообще не представляю.

Помещение структуры в вектор, удаление структуры, изменение элементов структуры - C++
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный элемент структуры. 2 - удалять...

Вызов из структуры - C++
Доброе утро! Возник вопрос по следующему поводу: Есть структура: struct { char predmet; char people; int four_mark; } jurnal; ...

Структуры, вызов метода - C++
Здравствуйте, недавно начал изучать язык С++, до этого работал с языком pawn ( используется как встроенный язык программирования для AMXX и...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё. - C++
Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для...

Функция внутри структуры использует указатель, как поле этой структуры - C++
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл GlobalItems.h, где хранятся глобальные...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2010, 07:00
Привет! Вот еще темы с ответами:

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) - C++
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом создаю экземпляр, Subject G; ...

Вывод структуры, строка как элемент структуры - C++
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта назначения; □ номер поезда; □ время отправления. ...

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? - C++
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f= fopen (&quot;file.txt&quot;, &quot;w&quot;); в переменной f содержится...

Структуры. Работа с файлами, содержащими структуры - C++
2) Дана совокупность сведений, каждое из которых состоит из следующих рекви-зитов: фамилия и инициалы автора – 25 знаков; название книги –...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru