Форум программистов, компьютерный форум CyberForum.ru

Структурa, вложеные структуры в С++ - C++

Восстановить пароль Регистрация
 
Kamisama
0 / 0 / 0
Регистрация: 29.04.2011
Сообщений: 3
20.06.2011, 04:15     Структурa, вложеные структуры в С++ #1
Вот ужасная структура, вроде бы написано всё правильно(я так думаю), но в чём проблема понять немогу
пишет :STRUCT~2 вызвал ошибку при использовании стека в модуле STRUCT~2.EXE в 0002:000Е

Платформа:Windows 3.x.(16)

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <iostream.h>
#include <stdio.h>
#include <fstream.h>
 
void main()
{
 
struct tag_fio
{
char last[100];
char first[100];
char otch[100];
};
 
struct children
{
int kol;
int god;
int pol;
};
 
struct RAB
{
struct tag_fio fio;
char kval[30];
char dolznost[30];
int god_nachalo;
int god_birthday;
int mecec;
int day;
int zarplata;
struct children deti;
};
 
struct bolt
{
    char nazv[30];
      float time;
      int ves;
      int stoim;
      struct RAB rab;
};
 
int n,i;
 
struct bolt det[30];
 
cout<<"Введите количество данных записи"<<endl;
cin>>n;
 
 
 
for (i=0;i<=n-1;i++)
{
cout<<"Введите данные "<<i+1<<"-ой детали"<<endl;
cout<<"Введите название детали"<<endl;
scanf("%s",det[i].nazv);
cout<<"Введите время изготовления"<<endl;
scanf("%f",det[i].time);
cout<<"Введите вес детали"<<endl;
scanf("%d",det[i].ves);
cout<<"Введите стоимость детали"<<endl;
scanf("%d",det[i].stoim);
        cout<<"Введите Фамилию Рабочего"<<endl;
        scanf("%s",det[i].rab.fio.last);
        cout<<"Введите Имя"<<endl;
        scanf("%s",det[i].rab.fio.first);
        cout<<"Введите Отчество"<<endl;
        scanf("%s",det[i].rab.fio.otch);
cout<<"Введите квалификацию работника"<<endl;
scanf("%s",det[i].rab.kval);
cout<<"Введите должность"<<endl;
scanf("%s",det[i].rab.dolznost);
cout<<"Введите год приёма на работу, этого работника"<<endl;
scanf("%d",det[i].rab.god_nachalo);
        cout<<"Введите год рождения работника"<<endl;
        scanf("%d",det[i].rab.god_birthday);
        cout<<"Введите месяц рождения"<<endl;
        scanf("%d",det[i].rab.mecec);
        cout<<"Введите день рождения"<<endl;
        scanf("%d",det[i].rab.day);
cout<<"Введите зарплату"<<endl;
scanf("%d",det[i].rab.zarplata);
    cout<<"Введите количество детей"<<endl;
    scanf("%d",det[i].rab.deti.kol);
            for(int j=1;j<=det[i].rab.deti.kol;j++)
                    {
                             cout<<"Введите год рождения"<<j<<"-ого ребёнка"<<endl;
                      scanf("%d",det[i].rab.deti.god);
                      cout<<"Ввыбирете пол  ребёнка,1-мальчик,2-девочка"<<endl;
                      scanf("%d",det[i].rab.deti.pol);
                    }
 
}
}
Да также как можно сделать динамику записей???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2011, 04:15     Структурa, вложеные структуры в С++
Посмотрите здесь:

вложеные циклы C++
Используя вложеные условные операторы IF и IF-ELSE C++
C++ Вложеные циклы и целые числа
C++ Вложеные цыкли Сумы
C++ Как удалить каталог, который имеет вложеные папки и файлы?
Структуры C++
C++ Структуры
структуры си++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
20.06.2011, 07:30     Структурa, вложеные структуры в С++ #2
все аргументы функции scanf должны передаваться по указателю.
скажем
C
1
scanf("%s",det[i].nazv);
правильно, так как nazv это массив.
А вот
C
1
scanf("%f",det[i].time);
неправильно, time это переменная и надо передавать её адрес:
C
1
scanf("%f",&det[i].time);
Ну и так далее.
Yandex
Объявления
20.06.2011, 07:30     Структурa, вложеные структуры в С++
Ответ Создать тему
Опции темы

Текущее время: 05:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru