Сформировать массив на диске, содержащий сведения о наличии билетов на рейсы аэрофлота. Структурный тип содержит поля: номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в салоне.
Написать программу, которая выбирает необходимую информацию с диска и выводит на экран:
- время вылета самолетов в город X;
- наличие свободных мест на рейс в город X с временем отправления Y.
#include <iostream> #include <fstream> #include <conio.h> #include <string.h> using namespace std; struct staff { char id[100]; char city[100]; char startTime[100]; char endTime[100]; int sits; }; void add_Info() { staff buf; ofstream f("lab.dat", ios::app); char s[100]; memset(&buf, 0, sizeof(staff)); cout << "Введите информацию:"<<endl; cout << "tномер рейса: "; cin.getline(s, sizeof(s)); cin.getline(s, sizeof(s)); strcpy(buf.id, s); cout << "tгород: "; cin.getline(s, sizeof(s)); strcpy(buf.city, s); cout << "tвремя вылета: "; cin.getline(s, sizeof(s)); strcpy(buf.startTime, s); cout << "tвремя прибытия: "; cin.getline(s, sizeof(s)); strcpy(buf.endTime, s); cout<<"tКоличество мест : "; cin>>buf.sits; f.write((char *)&buf, sizeof(staff)); f.close(); } void show_numFreeSits() { staff buf; char city[100], startTime[100]; cout << "Введите город: "; cin.getline(city, sizeof(city)); cin.getline(city, sizeof(city)); cout << "Введите время вылета: "; cin.getline(startTime, sizeof(startTime)); ifstream f("lab.dat"); for(;;) { memset(&buf, 0, sizeof(staff)); f.read((char *)&buf, sizeof(staff)); if (f.eof()) break; if((*buf.city == *city) && (*buf.startTime == *startTime)) cout << "Город: " << buf.city << endl << "Вылет: " << buf.startTime << endl << "Места: " << buf.sits; } f.close(); cout << "nnPress any key to continue..."; getch(); } void show_Plane() { staff buf; char city[100]; ifstream f("lab.dat"); cout << "Введите город: "; cin.getline(city, sizeof(city)); cin.getline(city, sizeof(city)); system("cls"); for(;;) { memset(&buf, 0, sizeof(staff)); f.read((char *)&buf, sizeof(staff)); if(f.eof()) break; if(*buf.city == *city) cout << "Город: " << buf.city << endl << "Вылет: " << buf.startTime << endl; } f.close(); cout << "nnPress any key to continue..."; getch(); } void main(void) { setlocale(LC_ALL, "Russian"); #define kol 4 int choice; char menu[kol][100]={"1. Добавить информацию о рейсе", "2. Время вылета самолетов в город X", "3. Наличие свободных мест в город X с временем Y", "4. Выход"}; do { system("cls"); for(int i = 0; i < kol; i++) cout << menu[ i ] << endl; cout << "Ваш выбор: "; cin >> choice; system("cls"); switch(choice) { case 1: add_Info(); break; case 2: show_Plane(); break; case 3: show_numFreeSits(); break; default: ; } } while(choice != 4); }
Получайте новые статьи блога прямо себе на почту