// i'm a bassline JUNKIE. // aryx@potvizs.ga // Tóth Patrik, GAMF 2018 #include #include #include using namespace std; struct place { bool used; int category; }; void main() { place places[15][20]; // 15 sor, 20 szék int kategoriak[5] = { 5000, 4000, 3000, 2000, 1500 }; // a kategoriak, a sorszam+1 az azonositojuk vegulis // adatok betöltése & kiírása ifstream foglfile("foglaltsag.txt"); if (foglfile.fail()) { cerr << "hiba a foglaltsag.txt megnyitasakor! "; system("pause"); exit(1); } ifstream katfile("kategoria.txt"); if (katfile.fail()) { cerr << "hiba a kategoria.txt megnyitasakor! "; system("pause"); exit(1); } string fogl_line, kat_line; for (int x = 0; x < 15; x++) { foglfile >> fogl_line; // egesz szeksor infojat toltjuk be katfile >> kat_line; //egesz szeksor infoja szinten cout << fogl_line << "\n" << kat_line << "\n"; for (int y = 0; y < 20; y++) { if (fogl_line[y] == 'x') { // ha x van ott, akkor foglalt places[x][y].used = true; } else { // ha nem,... nem. places[x][y].used = false; } switch (kat_line[y]) { case '1': places[x][y].category = 1; break; case '2': places[x][y].category = 2; break; case '3': places[x][y].category = 3; break; case '4': places[x][y].category = 4; break; case '5': places[x][y].category = 5; break; } } } foglfile.close(); katfile.close(); cout << "\n\n"; cout << places[2][3].category << "\n\n"; // 2. feladat, bekérés cout << "Add meg a sort: "; int sor; cin >> sor; cout << "Add meg a szeket: "; int szek; cin >> szek; if (places[sor-1][szek-1].used == true) { // -1, mert 0-tol indexeltuk az tombot! cout << "Ez a szek foglalt."; } else { cout << "Ez a szek szabad."; } cout << "\n\n"; // 3. feladat, szazalekos cucc int eladott = 0; for (int x = 0; x < 15; x++) { for (int y = 0; y < 20; y++) { if (places[x][y].used == true) { eladott++; } } } int szazalek = eladott / (15. * 20.) * 100; cout << "Az eloadasra eddig " << eladott << " jegyet adtak el, ez a nezoter " << szazalek << "%-a.\n\n"; // 4+5. feladat, melyik kateg a legtobb jegy int kat_legtobbjegy; int kat_count_seged = 0; int kat_count = 0; int sum = 0; for (int i = 0; i < 5; i++) { kat_count_seged = 0; for (int x = 0; x < 15; x++) { for (int y = 0; y < 20; y++) { if ((places[x][y].used == true) && (places[x][y].category == i+1)) { sum += kategoriak[i]; kat_count_seged += 1; } } } if (kat_count_seged > kat_count) { kat_legtobbjegy = i + 1; kat_count = kat_count_seged; } } cout << "A legtobb jegyet a(z) " << kat_legtobbjegy << ". arkategoriaban ertekesitettek.\n"; cout << "A szinhaz bevetele pillanatnyilag " << sum << " Ft.\n\n"; // 6. feladat, páros helyek int dupla = 0; for (int x = 0; x < 15; x++) { for (int y = 0; y < 20; y+=2) { if (places[x][y].used == false && places[x][y+1].used == false) { dupla++; } } } cout << "Paros ures helyek szama: " << dupla << "\n\n"; // 7. feladat ofstream szabadf("szabad.txt"); if (szabadf.fail()) { cerr << "hiba a szabad.txt megnyitasakor! "; system("pause"); exit(1); } for (int x = 0; x < 15; x++) { for (int y = 0; y < 20; y++) { if (places[x][y].used == true) { szabadf << "x"; } else { szabadf << places[x][y].category; } } szabadf << "\n"; } szabadf.close(); system("pause"); }