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

О задаче:
[свернуть]

По книге:C/C++ Программирование на языке высокого уровня: Учебник для вузов 
Автор книги: Павловская Татьяна Александровна
Задача на тему: Структуры
Вариант задачи: 7 — (на странице 146)’ 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 8
struct TRAIN{
char NAZN[20];
int NUMR;
float TIME;
};

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

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


#include <iostream>
#include <locale>
#include "Struct.cpp"
using namespace std;
TRAIN RASP[Num];

void 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].NAZN[0] < RASP[j].NAZN[0])
{
swap(RASP[i], RASP[j]);
}
else if(RASP[i].NAZN[0] == RASP[j].NAZN[0])
{
if(RASP[i].NAZN[1] < RASP[j].NAZN[1])
{
swap(RASP[i], RASP[j]);
}
}
}
}
//////////////////////////Поиск и вывод поездов по введенному маршруту и сообщение о не нахождение//////////////////
float UserIn_TIME;
cout<<"\\t\\tВведите время отправления: ";cin>>UserIn_TIME;cout<<endl;
bool flag1 = true ,flag2 = false;
for(int i=0; i<Num;i++)
{
if( UserIn_TIME > RASP[i].TIME)
{
flag1 = false;
}
else
{
cout<<" Место назначения: "<<RASP[i].NAZN<<" Номер поезда: "<<RASP[i].NUMR<<" Время отправления: "<<RASP[i].TIME<<endl;
flag1 = true;
flag2 = true;
}
}
if( flag1 == false && flag2 == false) cout<<"\\n\\t\\tНет поездов отправляющихся после этого времени!\\n";	cout<<endl;
system("pause");
}

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *