using System;
namespace mobiltelefonok
{
class Program
{
static void Main(string[] args)
{
//A mobiltelefon nagykerbe x db okostelefon
//érkezett a legújabb modellből. Az ország y üzletébe
//kell szétosztani a készletet.
//Használj x és y tárolásához a következő értékű konstansokat:
//1. alkalommal próbáld meg 100 telefonnal és 9 bolttal.
//2. alkalommal próbáld meg 100 telefonnal és 10 bolttal.
//Írd ki az értékeket a képernyőre.
//A programban arra keressük a választ, hogy szét lehet-e osztani egyenlően,
//vagy marad a nagykerben néhány készülék?
const int telefonok = 100;
const int bolt = 9; //próbáld ki 10-zel is
Console.WriteLine($"{telefonok} telefont kell szétosztani {bolt} boltba.");
//Ha nem maradt ki telefon, írd ki a képernyőre:
//"A telefonokat el lehetett osztani egyenlően."
//Ha maradt ki telefon, írd ki:
//A telefonokat nem lehetett egyenlően elosztani, <z> telefon maradt meg. (a <z> értelemszerűen a maradék)
//Ha maradt ki telefon, akkor kérdezz tovább:
//A maradék készülékeket odaadjuk a legnagyobb boltnak? (I/N)
//Oldd meg, hogy kicsi és nagy betűvel is beírhassa a választ.
//3 eset lehetséges:
//1.
//Ha "igen" volt a válasz,
//ezt írd ki először:
//Köszönjük a választ. A maradék telefonokat szétosztjuk.
//Eztán írd ki, hogy:
//- mennyi telefont osztottunk szét összesen,
//- hogy mennyi telefon került egy boltba,
//- és hogy mennyi telefon maradt ki.
//2.
//Ha "nem" volt a válasz, ezt írd ki:
//Köszönjük a választ.A maradék telefonok a raktárban maradnak.
//3.
//Adj hibaüzenetet, ha nem jó betűt írt be.
if (telefonok % bolt == 0)// a % művelet: maradékos osztás, az osztás művelet maradékát mondja meg
//az osztás eredényét így nem tudjuk meg,
//csak ha külön elvégezzük az osztást is: telefonok/bolt
//maradékos osztás: 100 / 9 = 11, és maradt 1
//maradékos osztás: 100 / 10 = 10, és maradt 0
{
Console.WriteLine("A telefonokat el lehetett osztani egyenlően.");
//Itt figyeld meg: amikor a konstansok értékéből az következik, hogy ez az ág nem teljesülhet,
//akkor "Unreachable code detected" üzenetet kapsz.
//Ez csak a konstansoknál
}
else
{
Console.WriteLine($"A telefonokat nem lehetett egyenlően elosztani, {telefonok % bolt} telefon maradt meg.\n");
Console.Write($"A maradék készülékeket odaadjuk a legnagyobb boltnak? (I/N) ");
string ertek = Console.ReadLine();
if (ertek.ToUpper() == "I")
{
Console.WriteLine("Köszönjük a választ. A maradék telefonokat szétosztjuk.");
int maradek = telefonok % bolt;
int osztas = telefonok / bolt; //csak az egész részét veszi a tört számnak (ha törtre jön ki)
int kivonas = telefonok - maradek;
Console.WriteLine("Ennyi telefont osztottunk szét: {0}", kivonas);
Console.WriteLine("Ennyi telefont küldtünk egy boltba: {0}", osztas);
Console.WriteLine("Ennyi kimaradt: {0}", maradek);
}
else
{
if (ertek.ToUpper() == "N")
{
Console.WriteLine("Köszönjük a választ. A maradék telefonok a raktárban maradnak.");
}
else
{
Console.WriteLine("Rossz választ adott meg.");
}
}
}
Console.ReadLine();
}
}
}
Nincsenek megjegyzések:
Megjegyzés küldése