Задача на структуру TRAIN, упорядоченные по времени и выводом по пункту назначения

О задаче:

По книге:C/C++ Программирование на языке высокого уровня: Учебник для вузов 
Автор книги: Павловская Татьяна Александровна
Задача на тему: Структуры
Вариант задачи: 8 — (на странице 147)’ style=’default’ collapse_link=’true’]

Условия задачи:
[свернуть]

1. Описать структуру с именем TRAIN, содержащую следующие поля:
[свернуть]
  • NAZN — название пункта назначения;
  • NUMR — номер поезда;
  • TIME — время отправления.

‘ style=’default’ collapse_link=’true’]

2. Написать программу, выполняющую следующие действия:
[свернуть]
  • ввод с клавиатуры данных в массив, состоящий из шести элементов типа TRAIN; записи должны быть упорядочены по времени отправления поезда;
  • вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры; 
  • если таких поездов нет, выдать на дисплей соответствующее сообщение.

‘ style=’default’ collapse_link=’true’]

Листинг(исходник) программы:
[свернуть]

Struct.cpp
[свернуть]

#define Num 6
struct TRAIN	{
char NAZN[20];
int NUMR;
float TIME;
};

‘ style=’default’ collapse_link=’true’]

main.cpp
[свернуть]

#include <iostream>
#include <locale>
#include <string>
#include "Struct.cpp"
using namespace std;
TRAIN RASP[Num];
int main(){
setlocale(LC_ALL,"Russian");
for(int i=0; i<Num;i++)
{
cout<<"Введите место назначения: ";
cin>>RASP[i].NAZN;
cout<<"Введите номер поезда: ";
cin>>RASP[i].NUMR;
cout<<"Введите время отправления: ";
cin>>RASP[i].TIME;
cout<<endl;
}

for (int i=0; i<Num; i++)
{
for(int j=0; j<Num; j++)
{
if(RASP[i].TIME < RASP[j].TIME)
{
swap(RASP[i],RASP[j]);
}
}
}

cout<<"Введите пункт назначения: ";
char UserIn_NAZN[20];
cin>>UserIn_NAZN;
cout<<endl;
bool flag1, flag2 = false;
for(int i=0; i<Num;i++)
{
if( strcmp(UserIn_NAZN,RASP[i].NAZN) == 0)
{
cout<<"Место назначения: "<<RASP[i].NAZN <<"\\t"<<"Номер поезда: "<<RASP[i].NUMR<<"\\t"<<"Время отправления: "<<RASP[i].TIME<<endl;
flag2 = true;
}
else
{
flag1 = false;
}
}
if ( flag1 == false && flag2 == false)
{
cout<<"\\t\\tНа данный маршрут поездов нет!"<<endl;
}
system("pause");
return 0;
}

[свернуть]

Автор: Павел Кадыров