Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <string> // думички (асд, дфг, окибоки)
- #include <iostream> //cin cout
- #include <fstream> //работа с файлове
- using namespace std; //винаги
- struct Polet //описва какво има един полет
- {
- int denOtMesec; //цели числа
- int nomer;
- string imenaNaPilot; // думички
- int brojPatnici_parvaKlasa;
- int brojPatnici_vtoraKlasa;
- double biletParvaKlasa_cena; //дробни числа 4.5, 5.8
- double biletVtoraKlasa_cena;
- };
- //декларират функциите, да се знае че съществуват
- void enterDataIntoArray(Polet danniZaPoleti[30], int &brojPoleti);
- void editNumberOfPassengers(Polet danniZaPoleti[30], int brojPoleti);
- void printAllFlights(Polet danniZaPoleti[30], int brojPoleti);
- void printPilotFlights(Polet danniZaPoleti[30], int brojPoleti);
- void transferDataFromArrayToFile(Polet danniZaPoleti[30], int brojPoleti);
- void main() //главната функция
- {
- //масив за полети = масив от структури
- Polet danniZaPoleti[30]; //запазва ме до 30 места за полети
- int brojPoleti = 0;
- while (true) //безкраен цикъл за да изписва менюто
- {
- cout << "Izberete 1 za vavezdane na danni" << endl;
- cout << "Izberete 2 za korekciq na broj patnici za polet po vaveden nomer" << endl;
- cout << "Izberete 3 za spravka na poletite na pilot" << endl;
- cout << "Izberete 4 za izvezdane na vsichki registrirani poleti" << endl;
- int izbor;
- cin >> izbor;
- while (izbor < 1 || izbor > 4) //валидация, ако не е от 1 до 4
- {
- cout << "Nevaliden izbor. Vavedi otnovo: " << endl;
- cout << "Izbor: ";
- cin >> izbor;
- }
- switch (izbor) //проверява избор (1, 2, 3, 4)
- {
- case 1:
- enterDataIntoArray(danniZaPoleti, brojPoleti); //изпълнение на функция
- transferDataFromArrayToFile(danniZaPoleti, brojPoleti);
- break; //разграничител
- case 2:
- editNumberOfPassengers(danniZaPoleti, brojPoleti);
- transferDataFromArrayToFile(danniZaPoleti, brojPoleti);
- break;
- case 3:
- printPilotFlights(danniZaPoleti, brojPoleti);
- break;
- case 4:
- printAllFlights(danniZaPoleti, brojPoleti);
- break;
- }
- }
- }
- //функция за въвеждане на данните в масив
- void enterDataIntoArray(Polet danniZaPoleti[30], int &brojPoleti)
- {
- cout << "Broj poleti: ";
- cin >> brojPoleti;
- for (int i = 0; i < brojPoleti; i++) //въвеждане на данни за всеки полет на потребителя
- {
- cout << "* * * * * *" << endl;
- cout << "Vavedi den ot mesec: ";
- cin >> danniZaPoleti[i].denOtMesec;
- cout << "Vavedi nomer na poleta: ";
- cin >> danniZaPoleti[i].nomer;
- cout << "Vavedi imena na pilota: ";
- cin >> danniZaPoleti[i].imenaNaPilot;
- cout << "Vavedi broj patnici parva klasa: ";
- cin >> danniZaPoleti[i].brojPatnici_parvaKlasa;
- cout << "Vavedi broj patnici vtora klasa: ";
- cin >> danniZaPoleti[i].brojPatnici_vtoraKlasa;
- cout << "Vavedi cena na bilet parva klasa: ";
- cin >> danniZaPoleti[i].biletParvaKlasa_cena;
- cout << "Vavedi cena na bilet vtora klasa: ";
- cin >> danniZaPoleti[i].biletVtoraKlasa_cena;
- }
- }
- //данните от масива да се запишат във файл
- void transferDataFromArrayToFile(Polet danniZaPoleti[30], int brojPoleti)
- {
- ofstream fajlZaPoleti;
- fajlZaPoleti.open("poleti.txt"); //разрешава да пишем по файла
- for (int i = 0; i < brojPoleti; i++) //пише по файла за всички полети
- {
- fajlZaPoleti << danniZaPoleti[i].denOtMesec << " " << danniZaPoleti[i].nomer << " " << danniZaPoleti[i].imenaNaPilot
- << " " << danniZaPoleti[i].brojPatnici_parvaKlasa << " " << danniZaPoleti[i].brojPatnici_vtoraKlasa
- << " " << danniZaPoleti[i].biletParvaKlasa_cena << " " << danniZaPoleti[i].biletVtoraKlasa_cena << endl;
- }
- }
- //редактиране на броя на пътниците
- void editNumberOfPassengers(Polet danniZaPoleti[30], int brojPoleti)
- {
- int nomer;
- cout << "Vavedi nomer na poleta: ";
- cin >> nomer;
- bool namerenPolet = false;
- for (int i = 0; i < brojPoleti; i++) //за всеки полет
- {
- if (danniZaPoleti[i].nomer == nomer) //провери дали номера на полета съвпада с въведения
- {
- namerenPolet = true; //казва, че има намерен полет
- cout << "Korekciq na broq patnici parva klasa: "; //корекция първа класа
- cin >> danniZaPoleti[i].brojPatnici_parvaKlasa;
- cout << "Korekciq na broq patnici vtora klasa: "; //корекция втора класа
- cin >> danniZaPoleti[i].brojPatnici_vtoraKlasa;
- break; //край на цикъла
- }
- }
- if (namerenPolet == false) //ако няма намерен полет с въведения номер
- {
- cout << "Ne e nameren polet s takav nomer." << endl;
- }
- }
- //извеждане на полетите на пилот
- void printPilotFlights(Polet danniZaPoleti[30], int brojPoleti)
- {
- string imena;
- cout << "Vavedete imena na pilota: ";
- cin >> imena;
- for (int i = 0; i < brojPoleti; i++)
- {
- if (danniZaPoleti[i].imenaNaPilot == imena) //ако името на пилота на полета съвпада с въведеното име
- {
- //извеждане на данни за полета:
- cout << "* * * * * *" << endl;
- cout << "Den ot meseca: " << danniZaPoleti[i].denOtMesec << endl;
- cout << "Nomer na poleta: " << danniZaPoleti[i].nomer << endl;
- cout << "Broj patnici parva klasa: " << danniZaPoleti[i].brojPatnici_parvaKlasa << endl;
- cout << "Broj patnici vtora klasa: " << danniZaPoleti[i].brojPatnici_vtoraKlasa << endl;
- cout << "Cena na bilet parva klasa: " << danniZaPoleti[i].biletParvaKlasa_cena << endl;
- cout << "Cena na bilet vtora klasa: " << danniZaPoleti[i].biletVtoraKlasa_cena << endl;
- }
- }
- }
- //извежда данни за всички полети:
- void printAllFlights(Polet danniZaPoleti[30], int brojPoleti)
- {
- for (int i = 0; i < brojPoleti; i++) //за всеки полет
- {
- //принтирай данни за полет:
- cout << "* * * * * *" << endl;
- cout << "Den ot meseca: " << danniZaPoleti[i].denOtMesec << endl;
- cout << "Nomer na poleta: " << danniZaPoleti[i].nomer << endl;
- cout << "Imena na pilota: " << danniZaPoleti[i].imenaNaPilot << endl;
- cout << "Broj patnici parva klasa: " << danniZaPoleti[i].brojPatnici_parvaKlasa << endl;
- cout << "Broj patnici vtora klasa: " << danniZaPoleti[i].brojPatnici_vtoraKlasa << endl;
- cout << "Cena na bilet parva klasa: " << danniZaPoleti[i].biletParvaKlasa_cena << endl;
- cout << "Cena na bilet vtora klasa: " << danniZaPoleti[i].biletVtoraKlasa_cena << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment