#include #include #include // Sokcélú müveletekhez #include // String müveletekhez #include // file müveletekhez using namespace std; struct foglal{ int sorszam; int szoba; int erknap; int tavnap; int vendeg; int reggeli; string nev; }; struct honaptipus{ string nev; int hossz; int elsoszam; int ej; //Eltöltött éjszakák száma }; int main() { system("cls"); setlocale(LC_ALL, ""); // ez beállítja az op.rendszer által használt nyelvi környezetet, amit feltételezünk, hogy magyar printf("A 2011. októberi emelt informatika érettségi megoldása\n"); foglal adat[1000]; //1. feladat printf("\n1. feladat: Olvassa be az adatokat!\n"); ifstream myfile; myfile.open("pitypang.txt"); int foglalas; myfile >> foglalas; printf("Foglalások száma: %i\n",foglalas); int i=1; //ciklusváltozó while (i<=foglalas) { myfile >>adat[i].sorszam >>adat[i].szoba >>adat[i].erknap >>adat[i].tavnap >>adat[i].vendeg >>adat[i].reggeli >>adat[i].nev; //printf("Sorszám: %i, Szobaszám: %i, Érk.nap: %i Táv.nap: %i, Vendég: %i, Reggeli: %i", adat[i].sorszam ,adat[i].szoba, adat[i].erknap, adat[i].tavnap, adat[i].vendeg, adat[i].reggeli); //cout <<"\n"; Csak tesztüzemben! i++; } myfile.close(); printf("Beolvasás megtörtént!\n"); //2. feladat printf("\n2. feladat: Leghosszabb szállodai tartózkodás\n"); int hossz=1; //Tartózkodás hossza int hosszmax=1; //Leghosszabb tartózkodás int indexhm=1; //Melyik indexu adat a leghosszabb? for (i=1; i<=foglalas; i++) { hossz=adat[i].tavnap-adat[i].erknap; //Tartózkodás hosszának kiszámolása if (hossz>hosszmax) //A leghosszabb kiszámolása { hosszmax=hossz; indexhm=i; } } cout <121) and (j<=244)) ar += 10000; //Nyári ár if (j>244) ar += 8000; //Oszi ár } hossz=adat[i].tavnap-adat[i].erknap; //Tartózkodás hosszának kiszámolása if (adat[i].vendeg==3) // Kell pótágy { ar += (hossz-1)*2000; //Az utolsó napért nem kell fizetni, mert akkor nincs éjszaka. } if (adat[i].reggeli==1) //Kell-e reggeli? { ar += (hossz-1)*adat[i].vendeg*1100; } //printf("Foglalás: %i, fizetendö: %i\n", adat[i].sorszam, ar); Tesztüzemben! myfile1 << adat[i].sorszam <<":" <>honap[i].nev; myfile2 >>honap[i].hossz; myfile2 >>honap[i].elsoszam; honap[i].ej=0; // cout <honap[2].elsoszam) and (j<=honap[3].elsoszam)) honap[2].ej++; if ((j>honap[3].elsoszam) and (j<=honap[4].elsoszam)) honap[3].ej++; if ((j>honap[4].elsoszam) and (j<=honap[5].elsoszam)) honap[4].ej++; if ((j>honap[5].elsoszam) and (j<=honap[6].elsoszam)) honap[5].ej++; if ((j>honap[6].elsoszam) and (j<=honap[7].elsoszam)) honap[6].ej++; if ((j>honap[7].elsoszam) and (j<=honap[8].elsoszam)) honap[7].ej++; if ((j>honap[8].elsoszam) and (j<=honap[9].elsoszam)) honap[8].ej++; if ((j>honap[9].elsoszam) and (j<=honap[10].elsoszam)) honap[9].ej++; if ((j>honap[10].elsoszam) and (j<=honap[11].elsoszam)) honap[10].ej++; if ((j>honap[11].elsoszam) and (j<=honap[12].elsoszam)) honap[11].ej++; if (j<=honap[12].elsoszam) honap[12].ej++; } } for (i=1; i<=12; i++) { printf("%i: %i vendégéj\n",i,honap[i].ej); } //5. feladat printf("\n5. feladat: Uj foglalás lekérdezése\n"); int elsonap,fhossz; int szoba[28]; cout <<"Kérem a foglalás elsö dátumához tartozó nap sorszámát!"; cin >>elsonap; cout <<"Kérem a foglalás teljes hosszát (napokban)!"; cin >>fhossz; bool foglalt[366][28]; //Napok x szobák foglaltsága for (i=1; i<=366; i++) { for (j=1; j<=27; j++) foglalt[i][j]=false; } for (i=1; i<=foglalas; i++) { for (j=adat[i].erknap; j