2020. február 13., csütörtök

2020.02.13. Gyakorlás - Alakzat-méretek


            //Alakzat-méretek
            //A felhasználó 3-féle alakzat közül választhat:
            //Háromszög, négyszög, kör
            //Végezz számításokat az alakzatokkal.
            //Használj a tanult módon egymásba ágyazott szelekciókat.

            //Feladat:
            //Kérd be, melyik alakzatot választja
            //(ilyenkor mindig pontosan írd ki, hogy mit kell beírnia).
            //Rajzold ki neki kicsiben a választott alakzatot.
            //(Pl. legyen egy bármilyen háromszög, egy téglalap
            //és ha sikerül, egy szabályosnak kinéző kör.)

            //Szorgalmi: használd a Console.SetCursorPosition(oszlop, sor) beépített metódust.
            //Használhatsz színeket is.

            //Mindhárom ágban a megfelelő adatok bekérése után számold ki
            //a területet.
            //A terület kiírása után kérdezd meg minden alakzat esetén,
            //beágyazott szelekcióval, hogy szeretné-e a kerületet is
            //kiszámoltatni.
            //Ha igen, számold ki és írd ki az eredményt.
            //Ha nem szeretné, akkor köszönj el tőle.

            //Szorgalmi:
            //Oldd meg, hogy az elköszönés sora a programban
            //csak egyszer szerepeljen.
            //Ehhez ne változtasd meg a programszerkezetet, amit eddig kialakítottál.

Szabi megoldása:

//Alakzat-méretek
            //A felhasználó 3-féle alakzat közül választhat:
            //Háromszög, négyszög, kör
            //Végezz számításokat az alakzatokkal.
            //Használj a tanult módon egymásba ágyazott szelekciókat.

            //Feladat:
            //Kérd be, melyik alakzatot választja
            //(ilyenkor mindig pontosan írd ki, hogy mit kell beírnia).
            Console.WriteLine("Melyik alakzatot választod?:(háromszög, négyszög, kör): ");
            string alakzat = Console.ReadLine();
            if (alakzat == "háromszög" || alakzat == "Háromszög")
            {
                Console.WriteLine("      #         ");
                Console.WriteLine("     # #        ");
                Console.WriteLine("    #   #       ");
                Console.WriteLine("   #     #      ");
                Console.WriteLine("  #       #     ");
                Console.WriteLine(" #         #    ");
                Console.WriteLine("#           #   ");
                Console.WriteLine("#############   ");
                Console.WriteLine("Kérem a háromszög A oldalának a hosszát: ");
                double A3 = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Kérem a háromszög magasságának a hosszát: ");
                double magassag = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Kérem a háromszög B oldalának a hosszát: ");
                double B3 = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Kérem a háromszög C oldalának a hosszát: ");
                double C3 = Convert.ToDouble(Console.ReadLine());
                double terulet3 = (A3 * magassag) / 2;
                Console.WriteLine("A háromszög területe: {0}", terulet3);
                Console.WriteLine("Szeretnéd kiszámítani a kerületet is: (True/False)");
                bool IgenNem = Convert.ToBoolean(Console.ReadLine());
                if (IgenNem == true)
                {
                    double kerulet3 = A3 + B3 + C3;
                    Console.WriteLine("A háromszög kerülete: {0}", kerulet3);
                }
                else
                {
                    Console.WriteLine("Szevasz!");
                }
               
               
            }
            else
            {
                if (alakzat == "Négyszög" || alakzat == "négyszög")
                {
                    Console.WriteLine("############");
                    Console.WriteLine("#          #");
                    Console.WriteLine("#          #");
                    Console.WriteLine("#          #");
                    Console.WriteLine("#          #");
                    Console.WriteLine("############");
                    Console.WriteLine("Kérem a négyszög A oldalát");
                    int A4 = Convert.ToInt32(Console.ReadLine());
                    double negyszögT = Math.Pow(A4, 2);
                    Console.WriteLine("A négyszög területe: {0}", negyszögT);
                    Console.WriteLine("Szeretnéd kiszámolni a négyszög kerületét:(True/False): ");
                    bool negyszögK = Convert.ToBoolean(Console.ReadLine());
                    if (negyszögK == true)
                    {
                        double kerületN = A4 * 4;
                        Console.WriteLine("A négyszög kerülete: {0}", kerületN);
                    }
                    else
                    {
                        Console.WriteLine("Szevasz!");
                    }
                }
                else
                {
                    if (alakzat == "kör" || alakzat == "Kör")
                    {
                        Console.WriteLine("     #######        ");
                        Console.WriteLine("   #          #     ");
                        Console.WriteLine("  #            #    ");
                        Console.WriteLine("  #            #    ");
                        Console.WriteLine("  #            #    ");
                        Console.WriteLine("   #          #     ");
                        Console.WriteLine("     ########       ");
                        Console.WriteLine("Kérem a kör sugarát: ");
                        double sugar = Convert.ToDouble(Console.ReadLine());
                        double teruletKör = Math.Pow(sugar, 2) * Math.PI;
                        Console.WriteLine("A kör területe: {0}", teruletKör);
                        Console.WriteLine("Szeretnéd a kiszámítani a kör kerületét:(True/False): ");
                        bool korI = Convert.ToBoolean(Console.ReadLine());
                        if (korI == true)
                        {
                            double kerületKör = 2 * sugar * Math.PI;
                            Console.WriteLine("A kör kerülete: {0}", kerületKör);
                        }
                        else
                        {
                            Console.WriteLine("Szevasz!");
                        }
                    }
                }
            }
            //Rajzold ki neki kicsiben a választott alakzatot.
            //(Pl. legyen egy bármilyen háromszög, egy téglalap
            //és ha sikerül, egy szabályosnak kinéző kör.)
            //Szorgalmi: használd a Console.SetCursorPosition(oszlop, sor) beépített metódust.
            //Használhatsz színeket is.

            //Mindhárom ágban a megfelelő adatok bekérése után számold ki
            //a területet.
            //A terület kiírása után kérdezd meg minden alakzat esetén,
            //beágyazott szelekcióval, hogy szeretné-e a kerületet is
            //kiszámoltatni.
            //Ha igen, számold ki és írd ki az eredményt.
            //Ha nem szeretné, akkor köszönj el tőle.

            //Szorgalmi:
            //Oldd meg, hogy az elköszönés sora a programban
            //csak egyszer szerepeljen.
            //Ehhez ne változtasd meg a programszerkezetet, amit eddig kialakítottál.
            Console.ReadLine();


Varsó megoldása:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _20200213
{
    class Program
    {
        static void Main(string[] args)
        {
            //Alakzat-méretek
            Console.Title = "Alakzat-méretek";
            Console.WriteLine("Alakzat-méretek\n--------------\n");
            //A felhasználó 3-féle alakzat közül választhat:
            //Háromszög, négyszög, kör
            //Végezz számításokat az alakzatokkal.
            //Használj a tanult módon egymásba ágyazott szelekciókat.

            //Feladat:
            //Kérd be, melyik alakzatot választja
            //(ilyenkor mindig pontosan írd ki, hogy mit kell beírnia).
            //Rajzold ki neki kicsiben a választott alakzatot.
            //(Pl. legyen egy bármilyen háromszög, egy téglalap
            //és ha sikerül, egy szabályosnak kinéző kör.)
            bool log = false;
            Console.WriteLine("Kérem válasszon az alábbiak közül!\n1. Háromszög\n2. Négyszög\n3. Kör");
            Console.Write("\nMenüpont: ");
            int valasztas = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine();

            while (valasztas < 1 || valasztas > 3)
            {
                Console.WriteLine("Hibás adatbevitel! Kérem válasszon újra a menüpontok közül.");
                Console.Write("\nMenüpont: ");
                valasztas = Convert.ToInt32(Console.ReadLine());
            }


            double A;
            double B;
            double C;

            double A_Ma;
            double R;
            bool valasztas2;

            if (valasztas == 1)
            {
                Console.WriteLine("A háromszöget választottad");
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine("            /\\          ");
                Console.WriteLine("           /  \\         ");
                Console.WriteLine("          /    \\           ");
                Console.WriteLine("         /      \\         ");
                Console.WriteLine("        /        \\     ");
                Console.WriteLine("       /__________\\     ");
                Console.WriteLine();
                Console.WriteLine();
                Console.Write("Kérem a háromszög alapját:  ");
                A = Convert.ToDouble(Console.ReadLine());
                Console.Write("Kérem a háromszög alapjához tartozó magasságot:  ");
                A_Ma = Convert.ToDouble(Console.ReadLine());
                Console.Write("Kérem a háromszög \"b\" oldalát:  ");
                B = Convert.ToDouble(Console.ReadLine());
                Console.Write("Kérem a háromszög \"c\" oldalát:  ");
                C = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("\nA háromszög területe: {0} cm", A * A_Ma / 2);
                Console.Write("\nKi szeretné számolni a kerületét is? (true/false):  ");
                valasztas2 = Convert.ToBoolean(Console.ReadLine());
                if (valasztas2)
                {
                    Console.WriteLine("\nA háromszög kerülete: {0} cm", A + B + C);
                }
                else
                {
                    log = true;
                }

            }
            else
            {
                if (valasztas == 2)
                {
                    Console.WriteLine("A négyszöget választottad");
                    Console.WriteLine();
                    Console.WriteLine();
                    Console.WriteLine("  ______________________  ");
                    Console.WriteLine(" |                      | ");
                    Console.WriteLine(" |                      | ");
                    Console.WriteLine(" |                      | ");
                    Console.WriteLine(" |                      | ");
                    Console.WriteLine(" |______________________| ");
                    Console.WriteLine();
                    Console.WriteLine();
                    Console.Write("Kérem a négyszög \"a\" oldalát:  ");
                    A = Convert.ToDouble(Console.ReadLine());
                    Console.Write("Kérem a négyszög \"b\" oldalát:  ");
                    B = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine("\nA négyszög területe: {0} cm", A * B);
                    Console.Write("\nKi szeretné számolni a kerületét is? (true/false):  ");
                    valasztas2 = Convert.ToBoolean(Console.ReadLine());
                    if (valasztas2)
                    {
                        Console.WriteLine("\nA négyszög kerülete: {0} cm", 2 * (A + B));
                    }
                    else
                    {
                        log = true;
                    }
                }
                else
                {
                    if (valasztas == 3)
                    {
                        Console.WriteLine("A kört választottad");
                        Console.WriteLine();
                        Console.WriteLine();
                        Console.WriteLine();
                        Console.WriteLine(" .oOOOOOOOOo.");
                        Console.WriteLine(".O           o.");
                        Console.WriteLine("O             o");
                        Console.WriteLine("o              O ");
                        Console.WriteLine("O              o ");
                        Console.WriteLine("o              O ");
                        Console.WriteLine("`o           O' ");
                        Console.WriteLine(" `OooooooooO'  ");
                        Console.WriteLine();
                        Console.WriteLine();
                        Console.WriteLine();
                        Console.Write("Kérem a kör sugarát:  ");
                        R = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("\nA kör területe: {0} cm"Math.Pow(R, 2) * Math.PI);
                        Console.Write("\nKi szeretné számolni a kerületét is? (true/false):  ");
                        valasztas2 = Convert.ToBoolean(Console.ReadLine());
                        if (valasztas2)
                        {
                            Console.WriteLine("\nA kör kerülete: {0} cm", 2 * R * Math.PI);
                        }
                        else
                        {
                            log = true;
                        }
                    }
                }
            }



            //Szorgalmi: használd a Console.SetCursorPosition(oszlop, sor) beépített metódust.
            //Használhatsz színeket is.
            //Mindhárom ágban a megfelelő adatok bekérése után számold ki
            //a területet.
            //A terület kiírása után kérdezd meg minden alakzat esetén,
            //beágyazott szelekcióval, hogy szeretné-e a kerületet is
            //kiszámoltatni.
            //Ha igen, számold ki és írd ki az eredményt.
            //Ha nem szeretné, akkor köszönj el tőle.

            //Szorgalmi:
            //Oldd meg, hogy az elköszönés sora a programban
            //csak egyszer szerepeljen.
            //Ehhez ne változtasd meg a programszerkezetet, amit eddig kialakítottál.
            if (log)
            {
                Console.Write("\nHa nem kér kerületet, akkor viszlát!\n\nA program bezárásához nyomjon meg egy billentyűt... ");
                Console.ReadKey();
            }
            else
            {
                Console.Write("\nViszlát!\n\nA program bezárásához nyomjon meg egy billentyűt... ");
                Console.ReadKey();
            }

        }
    }
}






Nincsenek megjegyzések:

Megjegyzés küldése