G
grewnica
описать структуру с именем train, содержащую след. поля:
1)название пункта назначения
2)номер поезда
3)время отправления
написать программу, выполняющую след. действия:
1)ввод с клавиатуры данных в массив, состоящий из 8 элементов типа train, записи должны быть размещены в алфавитном орядке по названиям пунктов назначения
2)вывод на экран информации о поездах, отправляющихся после введенного с клавы времени
3)если таких нет, выдать соответствующее сообщение
вот код:
[codebox]#include <iomanip.h>
#include <windows.h>
#include <conio.h>
char bufRus[256];
char *Rus(const char *text)
{
CharToOem(text,bufRus);
return bufRus;
}
struct TRAIN
{
char punkt[10];
int number;
int time[2];
};
int main()
{
//-----------Введение данных о маршруте----------------------------------------------------------------
const int n = 8;
TRAIN tran[n];
for(int i = 0; i < n; i++)
{
system("cls");
cout << Rus("Введите пункт назначения:");
cin >> tran.punkt;
cout << Rus("Введите номер маршрута:");
cin >> tran.number;
cout << Rus("Введите через пробел часы и минуты времени отправления:");
cin >> tran.time[0] >> tran.time[1];
}
//------------Сортировка масива структур--------------------------------------------------------------
for ( i=0 ; i<n-1 ; i++)
{
int imin = i;
for (int j = i ; j<n ;j++)
{
for(int k = 0; ((tran[j].punkt[k] != 0) || (tran[imin].punkt[k] !=0)); k++)
{
if (tran[j].punkt[k] < tran[imin].punkt[k])
{
imin = j;
break;
}
}
}
TRAIN tranVr = tran;
tran = tran[imin];
tran[imin] = tranVr;
}
//-------------------Вывод данных о маршруте-------------------------------------------------------------
system("cls");
cout << setfill('-') << setw(59) <<endl << setfill(' ');
cout << Rus("| Номер маршрута ");
cout << Rus("| Пункт назначения ");
cout << Rus("| Время отпавления |") << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ');
for(i = 0; i < n; i++)
{
cout << '|' << setw(18) << tran.number << '|'
<< setw(18) << tran.punkt << '|'
<< setw(15) << tran.time[0] << ':' << setw(2) << setfill('0') << tran.time[1] << '|' << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ') ;
}
getch();
//---------Вывод номеров по заданному времени--------------------------------------------------------------
int time_vr[2];
cout << Rus("Введите время отправления через пробел: ");
cin >> time_vr[0] >> time_vr[1];
system("cls");
cout << setfill('-') << setw(59) <<endl << setfill(' ');
cout << Rus("| Номер маршрута ");
cout << Rus("| Пункт назначения ");
cout << Rus("| Время отпавления |") << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ');
bool bla = false;
for(i = 0; i < n; i++)
{
if(time_vr[0] < tran.time[0])
{
cout << '|' << setw(18) << tran.number << '|'
<< setw(18) << tran.punkt << '|'
<< setw(15) << tran.time[0] << ':' << setw(2) << setfill('0') << tran.time[1] << '|' << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ') ;
bla = true;
}
else if(time_vr[0] == tran.time[0])
{
if(time_vr[1] < tran.time[1])
{
cout << '|' << setw(18) << tran.number << '|'
<< setw(18) << tran.punkt << '|'
<< setw(15) << tran.time[0] << ':' << setw(2) << setfill('0') << tran.time[1] << '|' << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ') ;
bla = true;
}
}
}
if(bla == false)
{
system("cls");
cout << Rus("Поездов, отправляющихся после заданного времени нет!") << endl;
}
getch();
return 0;
}[/codebox]
1)название пункта назначения
2)номер поезда
3)время отправления
написать программу, выполняющую след. действия:
1)ввод с клавиатуры данных в массив, состоящий из 8 элементов типа train, записи должны быть размещены в алфавитном орядке по названиям пунктов назначения
2)вывод на экран информации о поездах, отправляющихся после введенного с клавы времени
3)если таких нет, выдать соответствующее сообщение
вот код:
[codebox]#include <iomanip.h>
#include <windows.h>
#include <conio.h>
char bufRus[256];
char *Rus(const char *text)
{
CharToOem(text,bufRus);
return bufRus;
}
struct TRAIN
{
char punkt[10];
int number;
int time[2];
};
int main()
{
//-----------Введение данных о маршруте----------------------------------------------------------------
const int n = 8;
TRAIN tran[n];
for(int i = 0; i < n; i++)
{
system("cls");
cout << Rus("Введите пункт назначения:");
cin >> tran.punkt;
cout << Rus("Введите номер маршрута:");
cin >> tran.number;
cout << Rus("Введите через пробел часы и минуты времени отправления:");
cin >> tran.time[0] >> tran.time[1];
}
//------------Сортировка масива структур--------------------------------------------------------------
for ( i=0 ; i<n-1 ; i++)
{
int imin = i;
for (int j = i ; j<n ;j++)
{
for(int k = 0; ((tran[j].punkt[k] != 0) || (tran[imin].punkt[k] !=0)); k++)
{
if (tran[j].punkt[k] < tran[imin].punkt[k])
{
imin = j;
break;
}
}
}
TRAIN tranVr = tran;
tran = tran[imin];
tran[imin] = tranVr;
}
//-------------------Вывод данных о маршруте-------------------------------------------------------------
system("cls");
cout << setfill('-') << setw(59) <<endl << setfill(' ');
cout << Rus("| Номер маршрута ");
cout << Rus("| Пункт назначения ");
cout << Rus("| Время отпавления |") << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ');
for(i = 0; i < n; i++)
{
cout << '|' << setw(18) << tran.number << '|'
<< setw(18) << tran.punkt << '|'
<< setw(15) << tran.time[0] << ':' << setw(2) << setfill('0') << tran.time[1] << '|' << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ') ;
}
getch();
//---------Вывод номеров по заданному времени--------------------------------------------------------------
int time_vr[2];
cout << Rus("Введите время отправления через пробел: ");
cin >> time_vr[0] >> time_vr[1];
system("cls");
cout << setfill('-') << setw(59) <<endl << setfill(' ');
cout << Rus("| Номер маршрута ");
cout << Rus("| Пункт назначения ");
cout << Rus("| Время отпавления |") << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ');
bool bla = false;
for(i = 0; i < n; i++)
{
if(time_vr[0] < tran.time[0])
{
cout << '|' << setw(18) << tran.number << '|'
<< setw(18) << tran.punkt << '|'
<< setw(15) << tran.time[0] << ':' << setw(2) << setfill('0') << tran.time[1] << '|' << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ') ;
bla = true;
}
else if(time_vr[0] == tran.time[0])
{
if(time_vr[1] < tran.time[1])
{
cout << '|' << setw(18) << tran.number << '|'
<< setw(18) << tran.punkt << '|'
<< setw(15) << tran.time[0] << ':' << setw(2) << setfill('0') << tran.time[1] << '|' << endl;
cout << setfill('-') << setw(59) <<endl << setfill(' ') ;
bla = true;
}
}
}
if(bla == false)
{
system("cls");
cout << Rus("Поездов, отправляющихся после заданного времени нет!") << endl;
}
getch();
return 0;
}[/codebox]