//Ahol érdemes, használj a megoldás során többágú
szelekciót!
//Ha ez nem megy, akkor megoldhatod kétágú szelekciókkal is.
//Asztali számítógépek eladásához azt a modult kell
megírnod,
//ami a mindenkori 3 legújabb készülék vásárlására ad lehetőséget.
//Feladat:
//1.
//Tárold struktúrákban a 3 számítógép megnevezését (gyártó,
fantázianév és egy kód egyben,
//pl. HP Pavilion Wave 600-a000),
//az árát, és a hozzá tartozó akció mértékét (pl. 10 - ez 10
%-ot jelent).
//2.
//Írd ki ezeket az adatokat a képernyőre, egy készülék
adatait egy sorszámozott sorba.
//3.
//Kérdezd meg a felhasználót, hogy melyik számítógépet
választja. Csak egy számot kelljen beütnie.
//Írd ki a választásától függően a képernyőre a számítógép
akciós árát. Ha valótlan
//számot ütött be a felhasználó, írj ki hibaüzenetet.
//4.
//Ezután kérdezd meg a felhasználót, hogy regisztrált
felhasználó-e <regisztrált / nem regisztrált>
//formában kérd ezt be.
//Ha regisztrált, és a számítógép nettó értéke 150.000,- Ft
fölött van,
//írd ki neki, hogy a 1000 forintnyi bónuszt fog kapni.
//Ha nem regisztrált, akkor írd ki,
//hogy 150.000 ft fölött 1000 forintnyi bónuszt kapott
volna, ha regisztrált vásárló lenne.
//5.
//Ezután kérdezd meg, hogy ezeket a feltételeket elfogadja-e
(true/false lehet a válasz).
//Ha igen, kérd be a nevét, és a címét egy-egy változóba.
//Ha nem, akkor nincs teendő.
//6.
//Írj ki egy búcsúzó üzenetet, melyben a nevén nevezed a
felhasználót, ha tudod a nevét,
//és kiírod, hogy milyen címre postázod a számítógépet.
//Ha nem tudod a nevét, akkor csak ennyit:
//„Reméljük, nemsokára ellátogat újra hozzánk!”
Ricsi megoldása alapján egy lehetséges megoldás:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _2020._03._06_2
{
class Program
{
public struct szamitogepek
{
public string
gyartoFantazianevKod;
public double ar;
public double akcio;
}
static void Main(string[] args)
{
//Ahol érdemes, használj a megoldás során többágú szelekciót!
//Ha ez nem megy, akkor megoldhatod kétágú szelekciókkal
is.
//Asztali számítógépek eladásához azt a modult kell megírnod,
//ami a mindenkori 3 legújabb készülék vásárlására ad lehetőséget.
//Feladat:
//1.
//Tárold struktúrákban a 3 számítógép megnevezését (gyártó,
fantázianév és egy kód egyben,
//pl. HP Pavilion Wave 600-a000),
//az árát, és a hozzá tartozó akció mértékét (pl. 10 - ez
10 %-ot jelent).
szamitogepek gep1 = new
szamitogepek();
gep1.gyartoFantazianevKod = "Hp Gép 1";
gep1.ar = 200000;
gep1.akcio = 10;
szamitogepek gep2 = new
szamitogepek();
gep2.gyartoFantazianevKod = "Asus Gép
2";
gep2.ar = 14000;
gep2.akcio = 13;
szamitogepek gep3 = new
szamitogepek();
gep3.gyartoFantazianevKod = "Samsung Gép
3";
gep3.ar = 170000;
gep3.akcio = 8;
//2.
//Írd ki ezeket az adatokat a képernyőre, egy készülék
adatait egy sorszámozott sorba.
Console.WriteLine("Gép
1: Gyártó,név,kód: {0}, Ár: {1}, Akció: {2}%",
gep1.gyartoFantazianevKod, gep1.ar, gep1.akcio);
Console.WriteLine("Gép
2: Gyártó,név,kód: {0}, Ár: {1}, Akció: {2}%", gep2.gyartoFantazianevKod,
gep2.ar, gep2.akcio);
Console.WriteLine("Gép
3: Gyártó,név,kód: {0}, Ár: {1}, Akció: {2}%",
gep3.gyartoFantazianevKod, gep3.ar, gep3.akcio);
//3.
//Kérdezd meg a felhasználót, hogy melyik számítógépet választja.
Csak egy számot kelljen beütnie.
Console.WriteLine("Melyik
gépet választja ? (1,2,3)");
char valaszt = Convert.ToChar(Console.ReadLine());
//Írd ki a választásától függően a képernyőre a számítógép
akciós árát. Ha valótlan
//számot ütött be a felhasználó, írj ki hibaüzenetet.
double ar = 0;
switch (valaszt)
{
case '1':
double akciosar1 = gep1.ar - (gep1.ar *
gep1.akcio) / 100;
Console.WriteLine("Ennek a gépnek az akciós ára: {0}",
akciosar1);
ar = gep1.ar;
break;
case '2':
double akciosar2 = gep2.ar - (gep2.ar *
gep2.akcio) / 100;
Console.WriteLine("Ennek a gépnek az akciós ára: {0}",
akciosar2);
ar = gep2.ar;
break;
case '3':
double akciosar3 = gep3.ar - (gep3.ar *
gep3.akcio) / 100;
Console.WriteLine("Ennek a gépnek az akciós ára: {0}",
akciosar3);
ar = gep3.ar;
break;
default:
Console.WriteLine("Rossz számot írt be!!");
break;
}
//4.
//Ezután kérdezd meg a felhasználót, hogy regisztrált
felhasználó-e <regisztrált / nem regisztrált>
//formában kérd ezt be.
Console.WriteLine("Ön
regisztrált felhasználó ? (regisztrált/nem regisztrált)");
string regsztr = Console.ReadLine();
//Ha regisztrált, és a számítógép nettó értéke 150.000,- Ft
fölött van,
//írd ki neki, hogy a 1000 forintnyi bónuszt fog kapni.
//Ha nem regisztrált, akkor írd ki,
//hogy 150.000 ft fölött 1000 forintnyi bónuszt kapott
volna, ha regisztrált vásárló lenne.
if (regsztr == "regisztrált")
{
if (ar > 150000)
{
Console.WriteLine("Akkor 1000 forintnyi bónuszt fogsz kapni.");
}
}
else
{
if (regsztr == "nem
regisztrált")
{
Console.WriteLine("150.000 ft fölött 1000 forintnyi bónuszt kapott
volna, ha regisztrált vásárló lenne");
}
}
//5.
//Ezután kérdezd meg, hogy ezeket a feltételeket
elfogadja-e (true/false lehet a válasz).
Console.WriteLine("Elfogadja
ezeket a feltételeket ? (true/false)");
bool elfogad = Convert.ToBoolean(Console.ReadLine());
//Ha igen, kérd be a nevét, és a címét egy-egy változóba.
//Ha nem, akkor nincs teendő.
switch (elfogad)
{
case true:
Console.WriteLine("Kérem a nevét és a címét:"); //Kicsit lusta, de teljes pontot érő megoldás:)
string cimNev = Console.ReadLine();
Console.WriteLine("A {0} névre és címre fogom postázni a számítógépet.",
cimNev);
break;
default:
Console.WriteLine("Reméljük, nemsokára ellátogat újra hozzánk!");
break;
}
//6.
//Írj ki egy búcsúzó üzenetet, melyben a nevén nevezed a
felhasználót, ha tudod a nevét,
//és kiírod, hogy milyen címre postázod a számítógépet.
//Ha nem tudod a nevét, akkor csak ennyit:
//„Reméljük, nemsokára ellátogat újra hozzánk!”
Console.ReadLine();
}
}
}
Nincsenek megjegyzések:
Megjegyzés küldése