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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2010, 15:31   #1
JulLy
Профессионал
Пользователь
 
Аватар для JulLy
 
Регистрация: 27.04.2009
Сообщений: 37
Восклицание Структуры

Задание
1.Описать структуру с именем TRAIN,содержащую поля:
название пункта
номер поезда
Вложенную структуру Time_otpravl отправления содержащую поля
Часы
минуты

Написать программу,выполняющую следующие действия:
А)ввод с клав-ры данных в массив,состоящий из 6 структур типа TRAIN
В)Записи должны быть размещены в алфавитном порядке по названию пунктов назначения
С)Вывод на экран информации о поездах,отправляющихся после введённого с клав-ры времени


Не получается ввод с клав-ры времени,пишет,что описан не в той структуре!

Код программы.ПС:Место где ошибка,название(//Tretie(3) & Chetvertoe(4)//)



Код:


struct Time_otpravl
 {
  int hours;
  int minutes;
 };

struct TRAIN
  {
   char punkt[10];
   int nomer;
   Time_otpravl t;
  };







 void main ()
 {
  clrscr();
  TRAIN tr;
  const int n=6;
  TRAIN mas[n];
   for(int i=0;i<n;i++)
    {
     cout<<endl;
     cout<<"Punkt naznacheniya"<<endl;
     cin>>mas[i].punkt;
     cout<<"Nomer poezda"<<endl;
     cin>>mas[i].nomer;
     cout<<"Chasi"<<endl;
     cin>>mas[i].t.hours;
     cout<<"Minuti"<<endl;
     cin>>mas[i].t.minutes;
    };




   int flag=0;
  do {
      flag=1;
      for(i=0;i<n-1;i++)
       if(strcmp(mas[i].punkt,mas[i+1].punkt)>0)
	 {
	  TRAIN temp=mas[i];
	  mas[i]=mas[i+1];
	  mas[i+1]=temp;
	  flag=0;
	 }
    }
 while(flag!=1);

 for(i=0;i<n;i++)
  cout<<endl<<setw(4)<<mas[i].punkt
	    <<setw(4)<<mas[i].nomer
	    <<setw(4)<<mas[i].t.hours
	    <<setw(4)<<mas[i].t.minutes<<endl;








//Tretie(3) & Chetvertoe(4)//



 int minutes,hours;
 cout<<"Vvedite vremya otpravleniya v formate hh:mm";
 cin>>hours;
 cin>>minutes;
 int flag=0;
 for(i=0;i<n;i++)
  if(mas[i].hours==hours)
     {
       cout<<endl<<setw(4)<<mas[i].punkt
		 <<setw(4)<<mas[i].nomer
		 <<setw(4)<<mas[i].t.hours
		 <<setw(4)<<mas[i].t.minutes<<endl;
       flag=1;
     }
 if(flag==0) cout<<"Izvinite,takoi reis otsutstvuet";
JulLy вне форума Ответить с цитированием
Старый 31.01.2010, 15:50   #2
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

if(mas[i].t.hours==hours)
Cpluser вне форума Ответить с цитированием
Старый 31.01.2010, 17:04   #3
JulLy
Профессионал
Пользователь
 
Аватар для JulLy
 
Регистрация: 27.04.2009
Сообщений: 37
По умолчанию Пользуясь случаем!

Цитата:
Сообщение от Cpluser Посмотреть сообщение
if(mas[i].t.hours==hours)
Спасибки!
Пользуясь случаем хочу прояснить для себя вторую задачку!

Условие (красным помечены места,которые мне не ясны):

Описать структуру с именем ORDER,содержащую следующие поля:
Фамилия плательщика
Расчётный счёт плательщика
Общая перечисляемая сумма в руб за квартал(массив из 3 чисел)

Написать программу,выполняющую следующие действия:
1)Ввод с кла-ры данных в массив,состоящий из 6 структур типа AEROFLOT
2)Упорядочить записи в алфавитном порядке по фамилиям платильщиков
3)Вывод на экран информации о платильщике с самой большой суммой операциях за квартал(перечисляемых суммах)
4)Вывод информации о платильщики,фамилия которого введена с клавиатуры
5)Если таких расчётных счётов нет,выдать на экран соответствующие сообщение



Это ваще без понятий как сделать:
(массив из 3 чисел) пробывала,не получилось!

1)Ввод с кла-ры данных в массив,состоящий из 6 структур типа AEROFLOT ...У нас же структура Ордер.Или здесь вложенную афэрофлот надо сделать?

""4)Вывод информации о платильщики,фамилия которого введена с клавиатуры""...КЭП...Мы же вроде всё вводим с клавиатуры!



Код программы:



Код:
struct ORDER
  {
   char familiya[10];
   int  schet;
   float summa;
  };






//==="3.a"===
/*
 void main ()
 {
  clrscr();
  ORDER or;
  const int n=6;
  ORDER mas[n];
   for(int i=0;i<n;i++)
    {
     cout<<endl;
     cout<<"Vvedite familiyu"<<endl;
     cin>>mas[i].familiya;
     cout<<"Raschetnii schet"<<endl;
     cin>>mas[i].schet;
     cout<<"Obshaya perecheslyaemaya summa"<<endl;
     cin>>mas[i].summa;

    };







/==3.b
   int flag=0;
  do {
      flag=1;
      for(i=0;i<n-1;i++)
       if(strcmp(mas[i].familiya,mas[i+1].familiya)>0)
	 {
	  ORDER temp=mas[i];
	  mas[i]=mas[i+1];
	  mas[i+1]=temp;
	  flag=0;
	 }
    }
 while(flag!=1);

 for(i=0;i<n;i++)
  cout<<endl<<setw(4)<<mas[i].familiya
	    <<setw(4)<<mas[i].schet
	    <<setw(4)<<mas[i].summa;
JulLy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры masha.dongyz Помощь студентам 2 19.12.2011 20:29
Структуры Shadovv13 Общие вопросы C/C++ 18 15.10.2009 23:03
Структуры в C++ Wia Помощь студентам 7 18.04.2009 15:51
Структуры Centyrion Общие вопросы C/C++ 4 06.05.2008 20:33
Структуры в С++ bloo[d] Помощь студентам 1 30.01.2008 22:27