Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include "stdio.h"
- #include "iostream"
- #include "fstream"
- #include <conio.h>
- #include <stdlib.h>
- #include <ctime>
- #include <windows.h>
- #define _CRT_SECURE_NO_WARNINGS
- #define k 10000
- using namespace std;
- struct aero
- {
- char reis[10];
- char kuda[15];
- char time0[5];
- char time1[5];
- char price[7];
- }rasp[10];
- int comanda=0, spisok=0, a=0, Aero;
- bool Exit=false;
- void Menu();
- void DobZap();
- void Read();
- void Save();
- void SaveFile();
- void Redact();
- void Menu()
- {
- cout<<"Создать автоматизированную информационную систему Аэрофлота. Структура данных: рейс, пункт назначения, время вылета, время прибытия, стоимость билетов. Предусмотреть возможность получения справки о наличии билетов на указанный рейс."<<endl;
- cout<<"Выберите действие: "<<endl;
- cout<<"1 - Добавить рейс"<<endl;
- cout<<"2 - Сохранить изменения в файле"<<endl;
- cout<<"3 - Прочитать записи в файле"<<endl;
- cout<<"4 - Редактировать запись в файле"<<endl;
- cout<<"5 - Выход"<<endl;
- cin>>comanda;
- if (comanda>5 || comanda<1)
- {
- cout<<"Ввести можно только от 1 до 5"<<endl;
- system("pause");
- system("cls");
- Menu();
- }
- switch(comanda)
- {
- case 1: DobZap();break;
- case 2: SaveFile();break;
- case 3: Read();break;
- case 4: Redact();break;
- case 5: Exit=true;break;
- }
- }
- void DobZap()
- {
- cout<<"Не забывайте сохранять после каждой записи"<<endl;
- Aero=0;
- cout<<"Имя(номер) рейса"<<endl;
- cin>>rasp[Aero].reis;
- cout<<"Куда летит"<<endl;
- cin>>rasp[Aero].kuda;
- cout<<"Во-сколько вылет"<<endl;
- cin>>rasp[Aero].time0;
- cout<<"Во-сколько приземление"<<endl;
- cin>>rasp[Aero].time1;
- cout<<"Цена билета"<<endl;
- cin>>rasp[Aero].price;
- }
- void SaveFile()
- {
- cout<<"Вы точно хотите сохранить изменения?\n1 - сохранить файл, 2 - отменить сохранение"<<endl<<endl;
- cin>>a;
- if (a>2 || a<1)
- {
- cout<<"Неправильный ввод!\nВведите 1 - для сохранения или 2 - для отмены"<<endl;
- SaveFile();
- }
- if (a==1)
- {
- Save();
- }
- if (a==2)
- {
- Menu();
- }
- }
- void Save()
- {
- FILE*fp;
- fp=fopen("raspisanie.txt","a");
- fwrite(&rasp[Aero],sizeof(aero),1,fp);
- fclose(fp);
- cout<<"\nФайл сохранён! Нажмите для продолжения Enter"<<endl;
- system("pause");//ПРОВЕРИТЬ!!!
- }
- void Read()
- {
- FILE*fp;
- int i, j=0;
- char buf[512];
- if ((fp=fopen("raspisanie.txt","r"))==NULL)
- {
- cout<<"\nОшибка при открытии файла! Возможно он ещё не был создан"<<endl;
- system("pause");
- system("cls");
- Menu();
- }
- for (i=0;i<k;i++)
- {
- if (fread(&rasp[i],sizeof(aero),1,fp) !=ferror(fp))
- {
- j++;
- }
- else
- {
- break;
- }
- }
- for (i=0;i<j;i++)
- {
- cout<<"Номер рейса: "<<rasp[i].reis<<"\t"<<"Пункт назначения: "<<rasp[i].kuda<<"\t"<<"Вылет в: "<<rasp[i].time0<<"\t"<<"Приземление в: "<<rasp[i].time1<<"\t"<<"Цена билета: "<<rasp[i].price<<endl;
- }
- system("pause");
- system("cls");
- fclose(fp);
- Menu();
- }
- void Redact()
- {
- FILE*fp;
- fp=fopen("raspisanie.txt","w");
- int i, s, x, z, j=0;
- for (i=0;i<k;i++)
- {
- if (fread(&rasp[i],sizeof(aero),1,fp) !=ferror(fp));
- {
- j++;
- }
- }
- cout << "Введите номер пункта для редактирования: " << endl;
- cin >> s;
- s--;
- cout << rasp[s].reis << "\t" << rasp[s].kuda << "\t" << "\t" << rasp[s].time0 << "\t" << rasp[s].time1 << "\t"<< rasp[s].price << endl;
- cout<<"\n Запись номер "<< s+1 <<endl;
- cout<<"\n Какое поле редактировать? "<<endl;
- cout<<"\n 1. "<< rasp[s].reis <<endl;
- cout<<"\n 2. "<< rasp[s].kuda <<endl;
- cout<<"\n 3. "<< rasp[s].time0 <<endl;
- cout<<"\n 4. "<< rasp[s].time1 <<endl;
- cout<<"\n 5. "<< rasp[s].price <<endl;
- cin>>x;
- if (x > 5 || x < 1)
- {
- cout << "\nВвести можно только от 1 до 5" << endl;
- }
- switch (x)
- {
- case 1:
- cin>>rasp[s].reis;
- break;
- case 2:
- cin>>rasp[s].kuda;
- break;
- case 3:
- cin>>rasp[s].time0;
- break;
- case 4:
- cin>>rasp[s].time1;
- break;
- case 5:
- cin>>rasp[s].price;
- break;
- }
- for (int i=0;i<5;i++)
- {
- fwrite(&rasp[i], sizeof(aero), 1, fp);
- }
- fclose(fp);
- }
- int main()
- {
- setlocale(LC_ALL, "rus");
- do
- {
- system("cls");
- Menu();
- }
- while (Exit==false);
- getchar();
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement