2017. január 16., hétfő

2017.01.16. Számológép

            //A feladat megoldásában szelekcióból csak többágút használj.
            //A hibás adatbevitelekre írj ki hibaüzenetet.
            //Feladat:
            //Jelenítsd meg a következőket a képernyőn!
            //1. Összeadás (a+b)
            //2. Kivonás (a-b)
            //3. Szorzás (a*b)
            //4. Osztás (a/b)
            //Ezek után kérj be két valós számot, majd a fentiekből
            //kiválasztott menüpont sorszámát.
            //A három bekért adat alapján végezd el a műveletet, és írd ki az eredményét.
            //Továbbfejlesztés:
            //1. Logikai kalkulátor:
            //A program kérjen be két logikai értéket, (igaz/hamis formában),
            //és egy logikai művelet megnevezését (és, vagy, tagadás formában).
            //A program határozza meg az eredményt, és igaz/hamis formában írja ki.
            //2. Szorgalmi: A többágú szelekció előtt írd ki a mondat elejét, a szelekcióban a közepét,
            //majd a szelekció után a végét.
            //3. Alakíts át úgy a feladatot, hogy ne a menüpont sorszámát kérje a program,
            //hanem egy betűt a menüpontból. Ezt a betűt a menü kiírásakor

            //írd más színnel, mint a többit.

Nem kell otthon befejezni!

Továbbfejlesztés: Az igaz/hamis formában bekért részt alakítsuk át többágú szelekciósra.
            
Ádám megoldása:
//A feladat megoldásában szelekcióból csak többágút használj.
            //A hibás adatbevitelekre írj ki hibaüzenetet.
            //Feladat:
            //Jelenítsd meg a következőket a képernyőn!
            //1. Összeadás (a+b)
            //2. Kivonás (a-b)
            //3. Szorzás (a*b)
            //4. Osztás (a/b)
            //Ezek után kérj be két valós számot, majd a fentiekből
            //kiválasztott menüpont sorszámát.
            //A három bekért adat alapján végezd el a műveletet, és írd ki az eredményét.
            //Továbbfejlesztés:
            //1. Logikai kalkulátor:
            //A program kérjen be két logikai értéket, (igaz/hamis formában),
            //és egy logikai művelet megnevezését (és, vagy, tagadás formában).
            //A program határozza meg az eredményt, és igaz/hamis formában írja ki.
            //2. Szorgalmi: A többágú szelekció előtt írd ki a mondat elejét, a szelekcióban a közepét,
            //majd a szelekció után a végét.
            //3. Alakíts át úgy a feladatot, hogy ne a menüpont sorszámát kérje a program,
            //hanem egy betűt a menüpontból. Ezt a betűt a menü kiírásakor

            //írd más színnel, mint a többit.

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("Ö");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("sszeadás (a+b)");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("K");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("ivonás (a-b)");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("S");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("zorzás (a*b)");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("O");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("sztás (a/b)");

            double eredmeny;

            Console.Write("Adj meg egy valós számot: ");
            int szam1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("Adj meg egy másik valós számot: ");
            int szam2 = Convert.ToInt32(Console.ReadLine());

            Console.Write("Válaszd ki az elvégzendő művelet 1. betűjelét (kisbetűt használj): ");
            char betu = Convert.ToChar(Console.ReadLine());

            Console.Write("A két szám eredménye: ");

            switch (betu)
            {
                case 'ö':
                    eredmeny = szam1 + szam2;
                    Console.WriteLine("{0} + {1} = {2} ", szam1, szam2, eredmeny);
                    break;
                case 'k':
                    eredmeny = szam1 - szam2;
                    Console.WriteLine("{0} - {1} = {2} ", szam1, szam2, eredmeny);
                    break;
                case 's':
                    eredmeny = szam1 * szam2;
                    Console.WriteLine("{0} * {1} = {2} ", szam1, szam2, eredmeny);
                    break;
                case 'o':
                    eredmeny = szam1 / szam2;
                    Console.WriteLine("{0} / {1} = {2} ", szam1, szam2, eredmeny);
                    break;
                default:
                    Console.WriteLine("Rossz értéket adtál meg! ");
                    break;
            }

            Console.WriteLine();

            //Logikai értékek
            bool logeredmeny;

            Console.Write("Kérek egy logikai értéket (igaz/hamis): ");
            string A = Console.ReadLine();
            Console.Write("Kérek egy másik logikai értéket (igaz/hamis): ");
            string B = Console.ReadLine();

            bool Alog = true;
            bool Blog = true;

            //if (A == "igaz")
            //      Alog = true;
            //else
            //{
            //      if (A == "hamis")
            //      Alog = false;
            //      else
            //        Console.WriteLine("Rossz értéket adtál meg. ");
            //}


            //if (B == "igaz")
            //      Blog = true;
            //else
            //{
            //      if (B == "hamis")
            //      Blog = false;
            //      else
            //        Console.WriteLine("Rossz értéket adtál meg. ");
            //}

            switch (A)
            {
                case "igaz":
                    Alog = true;
                    break;
                case "hamis":
                    Alog = false;
                    break;
                default:
                    Console.WriteLine("Rossz értéket adtál meg. ");
                    break;
            }

            switch (B)
            {
                case "igaz":
                    Blog = true;
                    break;
                case "hamis":
                    Blog = false;
                    break;
                default:
                    Console.WriteLine("Rossz értéket adtál meg. ");
                    break;
            }


            Console.WriteLine("Adj meg egy logikai művelet sorszámát (kisbetűt használj): ");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("É");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("s");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("V");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("agy");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("T");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("agadás");
            Console.WriteLine();
            char logmuvelet = Convert.ToChar(Console.ReadLine());

            Console.Write("A kért logikai érték: ");

            switch (logmuvelet)
            {
                case 'é':
                    logeredmeny = Alog && Blog;
                    Console.WriteLine("{0} és {1} = {2} ", Alog, Blog, logeredmeny);
                    break;
                case 'v':
                    logeredmeny = Alog || Blog;
                    Console.WriteLine("{0} vagy {1} = {2} ", Alog, Blog, logeredmeny);
                    break;
                case 't':
                    Alog = !Alog;
                    Blog = !Blog;
                    Console.WriteLine("A két érték tagadásban = {0} ; {1} ", Alog, Blog);
                    break;
                default:
                    Console.WriteLine("Rossz értéket adtál meg!");
                    break;
            }


            Console.ReadLine();