Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2011, 04:20   #1
Kami-sama3
 
Регистрация: 17.12.2010
Сообщений: 9
Печаль Структурa, вложеные структуры в С++

Вот ужасная структура, вроде бы написано всё правильно(я так думаю), но в чём проблема понять немогу
пишет :STRUCT~2 вызвал ошибку при использовании стека в модуле STRUCT~2.EXE в 0002:000Е

Платформа:Windows 3.x.(16)
Код:
#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);
					}

}


}

Последний раз редактировалось Kami-sama3; 20.06.2011 в 04:24.
Kami-sama3 вне форума Ответить с цитированием
Старый 20.06.2011, 06:26   #2
Kami-sama3
 
Регистрация: 17.12.2010
Сообщений: 9
По умолчанию

попробывал за коментировать вложеные структуры, заработало,но нет всё равно на вводе 3 записи вылетает таже ошибка

Последний раз редактировалось Kami-sama3; 20.06.2011 в 06:28.
Kami-sama3 вне форума Ответить с цитированием
Старый 25.04.2012, 16:49   #3
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Вы смешиваете средства ввода вывода С и С++. Лучше вместо scanf использовать cin. Ошибка в scanf - нужно передавать адрес переменной.
rmv240899 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вложеные цикла pr0kazn1k Помощь студентам 10 21.12.2010 15:10
Структуры в Си osichev Помощь студентам 2 12.09.2009 15:51
Структуры. Влад-mego Помощь студентам 1 12.04.2009 19:24
Структуры в СИ ManInBlack Помощь студентам 3 04.04.2009 19:08
про вложеные циклы) кое что непонял MeGaTpoH Общие вопросы C/C++ 18 12.03.2009 20:04