2020. március 6., péntek

2020.03.06. Felmérés: Számítógép vásárlás


//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