namespace Feladat04_BufeNapiZaras { internal class Program { static void Main(string[] args) { const double KEDVEZMENY_HATAR = 1000.0; // e fölötti vásárlásra jár a diákkedvezmény const double KEDVEZMENY_SZAZALEK = 0.10; // 10% Console.WriteLine("=== Iskolai büfé – napi zárás ==="); Console.Write("Hány vásárlás volt ma? "); int vasarlasokSzama = int.Parse(Console.ReadLine()); double bevetelSzendvics = 0; double bevetelItal = 0; double bevetelEdesseg = 0; double adottKedvezmeny = 0; int kedvezmenyesTetelek = 0; int ervenyesTetelek = 0; int hibasTetelek = 0; double legnagyobbVasarlas = 0; int legnagyobbSorszama = 0; for (int i = 1; i <= vasarlasokSzama; i++) { Console.Write($"{i}. vásárlás kategóriája (1-szendvics, 2-ital, 3-édesség): "); int kategoria = int.Parse(Console.ReadLine()); if (kategoria < 1 || kategoria > 3) { hibasTetelek++; Console.WriteLine(" Érvénytelen kategória, a tétel nem kerül rögzítésre."); } else { Console.Write($"{i}. vásárlás összege (Ft): "); double osszeg = double.Parse(Console.ReadLine()); double kedvezmeny = Kedvezmeny(osszeg, KEDVEZMENY_HATAR, KEDVEZMENY_SZAZALEK); double fizetett = osszeg - kedvezmeny; if (kedvezmeny > 0) { kedvezmenyesTetelek++; adottKedvezmeny += kedvezmeny; Console.WriteLine($" Diákkedvezmény: -{kedvezmeny:F2} Ft, fizetendő: {fizetett:F2} Ft"); } switch (kategoria) { case 1: bevetelSzendvics += fizetett; break; case 2: bevetelItal += fizetett; break; case 3: bevetelEdesseg += fizetett; break; } ervenyesTetelek++; if (fizetett > legnagyobbVasarlas) { legnagyobbVasarlas = fizetett; legnagyobbSorszama = i; } } } double osszBevetel = bevetelSzendvics + bevetelItal + bevetelEdesseg; Console.WriteLine(); Console.WriteLine("--- Napi zárás ---"); Console.WriteLine($"{KategoriaNev(1)}: {bevetelSzendvics:F2} Ft"); Console.WriteLine($"{KategoriaNev(2)}: {bevetelItal:F2} Ft"); Console.WriteLine($"{KategoriaNev(3)}: {bevetelEdesseg:F2} Ft"); Console.WriteLine($"Összes bevétel: {osszBevetel:F2} Ft"); Console.WriteLine($"Rögzített tételek: {ervenyesTetelek} db, hibás tételek: {hibasTetelek} db"); Console.WriteLine($"Kedvezményes vásárlások: {kedvezmenyesTetelek} db"); Console.WriteLine($"Összes adott kedvezmény: {adottKedvezmeny:F2} Ft"); if (ervenyesTetelek > 0) { double atlag = osszBevetel / ervenyesTetelek; Console.WriteLine($"Átlagos kosárérték: {atlag:F2} Ft"); Console.WriteLine($"A legnagyobb vásárlás a(z) {legnagyobbSorszama}. tétel volt: {legnagyobbVasarlas:F2} Ft"); } else { Console.WriteLine("Ma egyetlen érvényes vásárlás sem volt, ezért átlag és legnagyobb tétel sincs."); } } // A határ FÖLÖTTI vásárlásra jár a kedvezmény; egyébként 0 Ft. static double Kedvezmeny(double osszeg, double hatar, double szazalek) { double kedvezmeny = 0; if (osszeg > hatar) { kedvezmeny = osszeg * szazalek; } return kedvezmeny; } static string KategoriaNev(int kod) { string nev; switch (kod) { case 1: nev = "Szendvics"; break; case 2: nev = "Ital"; break; case 3: nev = "Édesség"; break; default: nev = "Ismeretlen"; break; } return nev; } } }