08. FELADAT · FORRÁSKÓD
Kosárlabda-edzés
Program.csAnimáció megnyitása →
namespace Feladat08_KosarlabdaDobasok
{
internal class Program
{
static void Main(string[] args)
{
const int DOBASOK_SZAMA = 20;
Console.WriteLine("=== Kosárlabda-edzés: büntetődobások rögzítése ===");
Console.WriteLine("Minden dobás után nyomd le a megfelelő billentyűt:");
Console.WriteLine(" t = talált, bármely más billentyű = kihagyott");
Console.WriteLine();
int talalatok = 0;
int aktualisSorozat = 0;
int leghosszabbSorozat = 0;
int sorozatVege = 0;
for (int i = 1; i <= DOBASOK_SZAMA; i++)
{
Console.Write($"{i}. dobás: ");
char billentyu = Console.ReadKey().KeyChar;
Console.WriteLine();
if (billentyu == 't' || billentyu == 'T')
{
talalatok++;
aktualisSorozat++;
if (aktualisSorozat > leghosszabbSorozat)
{
leghosszabbSorozat = aktualisSorozat;
sorozatVege = i;
}
}
else
{
aktualisSorozat = 0;
}
}
int kihagyottak = DOBASOK_SZAMA - talalatok;
double arany = talalatok * 100.0 / DOBASOK_SZAMA;
Console.WriteLine();
Console.WriteLine("--- Edzésjelentés ---");
Console.WriteLine($"Talált dobások: {talalatok} db");
Console.WriteLine($"Kihagyott dobások: {kihagyottak} db");
Console.WriteLine($"Találati arány: {arany:F1}%");
if (leghosszabbSorozat > 0)
{
int sorozatEleje = sorozatVege - leghosszabbSorozat + 1;
Console.WriteLine($"Leghosszabb találati sorozat: {leghosszabbSorozat} dobás (a {sorozatEleje}. dobástól a {sorozatVege}. dobásig)");
}
else
{
Console.WriteLine("Nem volt egyetlen találat sem.");
}
Console.WriteLine($"Értékelés: {Ertekeles(arany)}");
}
static string Ertekeles(double arany)
{
string szoveg;
if (arany < 40)
{
szoveg = "gyenge – sokat kell még gyakorolni";
}
else if (arany < 60)
{
szoveg = "megfelelő";
}
else if (arany < 80)
{
szoveg = "jó";
}
else
{
szoveg = "kiváló";
}
return szoveg;
}
}
}