2017. január 12., csütörtök

2017.01.12. Struktúra - A Fordos feladat továbbfejlesztése

namespace auto
{
    class Program
    {    
        public struct autok
        {
            public int ar; //ft
            public int motor; //cm3
            public int szemely; //fő
            public int teljesitmeny; //lóerő
        }
        static void Main(string[] args)
        {        
//Többágú szelekció gyakorlása
//A feladat megoldásában szelekcióból csak többágút használj.
//A hibás adatbevitelekre írj ki hibaüzenetet.
//Ford márkakereskedő vagy. Jön a vevő, és érdeklődik a készleten levő autók iránt.
            autok auto1 = new autok();
            auto1.ar = 6000000;
            auto1.motor = 1600;
            auto1.szemely = 5;
            auto1.teljesitmeny = 150;

….


Teljes megoldás:

namespace auto
{
    class Program
    {
        public struct autok
        {
            public int ar; //ft
            public int motorter; //cm3
            public int szemszam; //fő
            public int telj; //lóerő
        }
        static void Main(string[] args)
        {
            //A feladat megoldásában szelekcióból csak többágút használj.
            //A hibás adatbevitelekre írj ki hibaüzenetet.
            //Ford márkakereskedő vagy. Jön a vevő, és érdeklődik a készleten levő autók iránt.
            //Feladat:
            //-      Kérdezd meg tőle, hogy milyen típus érdekli (legalább 3 típus van készleten).
            //-      A típustól függően adj neki tájékoztatást az autó fontos paramétereiről
            //    (pl. ár, motor térfogata, személyek száma, teljesítmény, stb.,).
            //-      Meggyőzted a vevőt, meg akarja venni azt a típusú autót, ami iránt érdeklődött - programban ehhez nem kapcsolódik feladat.
            //-      Kérdezd meg tőle, milyen módon akar fizetni.
            //       ha készpénzzel, akkor adj neki 5% kedvezményt,
            //       ha azonnal átutalással, akkor adj neki 3% kedvezményt,
            //       ha pedig hitelt vesz föl rá, akkor tegyél az árra 5% felárat.
            //-      Ezek után írd ki a rá vonatkozó árat.
            //Továbbfejlesztés:
            //1. Oldjuk meg, hogy az autók árait konstansokban tároljuk.
            //2. Oldjuk meg, hogy az autók árait rekordban tároljuk.

            Console.WriteLine("Milyen típusú autó érdekli önt ? (Mustang, Mondeo, Fiesta");
            string tipus = Console.ReadLine();

            autok mustang = new autok();
            mustang.ar = 1127000;
            mustang.motorter = 5000;
            mustang.szemszam = 2;
            mustang.telj = 418;

            autok mondeo = new autok();
            mondeo.ar = 7750000;
            mondeo.motorter = 2500;
            mondeo.szemszam = 4;
            mondeo.telj = 250;

            autok fiesta = new autok();
            fiesta.ar = 5550000;
            fiesta.motorter = 1600;
            fiesta.szemszam = 4;
            fiesta.telj = 210;

            int ar = 0;
            switch (tipus)
            {
                case "Mustang":
                    Console.WriteLine("Mustang ára {0}", mustang.ar);
                    Console.WriteLine("Mustang motortérfogata {0} köbcenti ", mustang.motorter);
                    Console.WriteLine("Mustang személyek száma {0}", mustang.szemszam);
                    Console.WriteLine("Mustang teljesítménye {0}LE", mustang.telj);

                    ar = mustang.ar;
                    break;

                case "Mondeo":
                    Console.WriteLine(" Mondeo ára {0}", mondeo.ar);
                    Console.WriteLine(" Mondeo motortérfogata {0} köbcenti ", mondeo.ar);
                    Console.WriteLine(" Mondeo személyek száma {0}", mondeo.szemszam);
                    Console.WriteLine(" Mondeo teljesítménye {0}LE", mondeo.telj);

                    ar = mondeo.ar;
                    break;

                case "Fiesta":
                    Console.WriteLine("Fiesta ára {0}", fiesta.ar);
                    Console.WriteLine("Fiesta motortérfogata {0} köbcenti ", fiesta.motorter);
                    Console.WriteLine("Fiesta személyek száma {0}", fiesta.szemszam);
                    Console.WriteLine("Fiesta teljesítménye {0}LE", fiesta.telj);

                    ar = fiesta.ar;
                    break;

                default:
                    Console.WriteLine("Rossz típust adtál meg.");
                    break;
            }

            Console.WriteLine("Milyen módon akar fizetni? (készpénz,átutalás,hitel) ");
            string valasz = Console.ReadLine();

            switch (valasz)
            {
                case "készpénz":
                    int aktar = ar - (ar / 100 * 5);
                    Console.WriteLine(" Készpénz fizetés esetén 5% kezdvezmény jár. Az aktuális ár {0}", aktar);
                    break;

                case "átutalás":
                    int aktar2 = ar - (ar / 100 * 3);
                    Console.WriteLine(" Azonnali átutalás esetén 3% kezdvezmény jár. Az aktuális ár {0}", aktar2);
                    break;

                case "hitel":
                    int aktar3 = ar + (ar / 100 * 5);
                    Console.WriteLine(" Hitel felvétel esetén +5% felárat számítunk fel. Az aktuális ár {0}", aktar3);
                    break;
            }
            Console.ReadLine();
        }

    }

}