2020.01.08. Gyakorlás: Osztás, logikai műveletek + Tört formázása a kiírásban

Házi feladat befejezni.           
 //Tört formázása a kiírásban:
            Console.WriteLine("Az alábbi sorokban egy tört számot írunk ki különbözőképpen formázva: ");
            ////
            Console.WriteLine("Mindenféle formázás nélkül:");
            Console.WriteLine
            Console.WriteLine();

            Console.WriteLine("3 tizedesjeggyel, 10 hosszon jobbra:");
            Console.WriteLine
            Console.WriteLine();

            Console.WriteLine("3 tizedesjeggyel:");
            Console.WriteLine
            Console.WriteLine();

            Console.WriteLine("Tizedesjegyek nélkül, ekkor kerekít is, nem csak levágja a tizedesjegyeket:");
            Console.WriteLine
            Console.WriteLine();


            Console.WriteLine("Az alábbi sorokban egy törtként tárolt egész számot írunk ki különbözőképpen formázva: ");
            ////
            Console.WriteLine("3 tizedesjeggyel:");
            Console.WriteLine
            Console.WriteLine();

            Console.WriteLine("Tizedesjegyek nélkül:");
            Console.WriteLine
            Console.WriteLine();

            Console.ReadLine();

            //1. feladat: Osszunk el egymással két számot!
            //Lássuk, milyen eredményeket kaphatunk attól
            //függően, hogy milyen számokról volt szó.
                       

            Console.Write("Kérek egy egész számot (osztandót): ");
            ////
            Console.Write("Kérek még egy egész számot (osztót): ");
            ////
            Console.WriteLine
            Console.WriteLine

            Console.WriteLine("Most az <a> és a <b> értékét betesszük egy-egy double típusú változóba.");
            ////
            ////
            Console.WriteLine
            Console.WriteLine();

            Console.Write("Kérek egy egész, vagy tört számot (osztandót): ");
            ////
            Console.Write("Kérek még egy egész, vagy tört számot (osztót): ");
            ////
            Console.WriteLine();
            //////////////////////////////////////////////////////////////////////////////////////

            //2. feladat: Kérjünk be két logikai értéket, tároljuk őket változókban.
            //- Végezzük el velük a 3 alap logikai műveletet: tagadás, és, vagy.
            //- Tároljunk két további változóban is logikai értékeket, amelyeket
            //programból adunk meg.
            //- Írassuk ki összetett logikai műveletek eredményét.

            Console.Write("Kérem az <A> logikai értéket (true/false): ");
            //Ismétlés: idézőjellel így kell megoldani:
            //Console.Write("Kérem az \"A\" logikai értéket (true/false): ");
            ////
            Console.Write("Kérem a <B> logikai értéket (true/false): ");
            ////
            Console.WriteLine();
            Console.WriteLine
            Console.WriteLine
            Console.WriteLine


            Console.WriteLine("Két további változónak programból adunk értéket.");

            bool C = true; //programból is értéket kaphatnak a logikai változók is
            bool D = false;

            Console.WriteLine();
            Console.WriteLine("A and B or A = {0}",           );
            Console.WriteLine("B and (B or A) and B) or not A = {0}",          ;
            Console.WriteLine("(A and (C or D) and not B) or C) = {0}",         ;
            Console.ReadLine();

 

2021.01.07. Osztás, logikai műveletek + Tört formázása a kiírásban

            Console.BackgroundColor = ConsoleColor.Blue;

            Console.ForegroundColor = ConsoleColor.Green;
            Console.Clear();

            //Tört formázása a kiírásban:
            Console.WriteLine("Az alábbi sorokban egy tört számot írunk ki különbözőképpen formázva: ");
            double szam = 16546.6875645;
            Console.WriteLine("Mindenféle formázás nélkül:");
            Console.WriteLine("Szám: {0}", szam);
            //vagy egyszerűbben:
            Console.WriteLine(szam);
            Console.WriteLine();

            Console.WriteLine("3 tizedesjeggyel, 15 hosszon jobbra:");
            Console.WriteLine("Szám: {0,15:0.000}", szam);
            //vagy így:
            Console.WriteLine("Szám: {0,15:.000}", szam);
            Console.WriteLine();

            Console.WriteLine("3 tizedesjeggyel:");
            Console.WriteLine("Szám: {0:.000}", szam);
            Console.WriteLine();

            Console.WriteLine("3 tizedesjeggyel, 15 hosszon balra, kétszer egymás után:");
            Console.WriteLine("Szám: {0,-15:.000}{0,-15:.000}", szam);
            Console.WriteLine();

            Console.WriteLine("Tizedesjegyek nélkül, ekkor kerekít is, nem csak levágja a tizedesjegyeket:");
            Console.WriteLine("Szám: {0:0}", szam);
            Console.WriteLine();

itt folytatjuk
            Console.WriteLine("Az alábbi sorokban egy TÖRTként tárolt EGÉSZ számot írunk ki különbözőképpen formázva: ");
            szam = 16546;
            Console.WriteLine("3 tizedesjeggyel:");
            Console.WriteLine("Szám: {0:0.000}", szam);
            Console.WriteLine();

            Console.WriteLine("Tizedesjegyek nélkül:");
            Console.WriteLine("Szám: {0:0}", szam);
            Console.WriteLine();

            Console.ReadLine();

            //1. feladat: Osszunk el egymással két számot!
            //Lássuk, milyen eredményeket kaphatunk attól
            //függően, hogy milyen számokról volt szó.


            Console.Write("Kérek egy egész számot (osztandót): ");
            string s = Console.ReadLine(); //bekérés
            int a = Convert.ToInt32(s); //konvertálás
            Console.Write("Kérek még egy egész számot (osztót): ");
            int b = Convert.ToInt32(Console.ReadLine()); //egy lépésben végrehajtható a bekérés és a konvertálás
            Console.WriteLine("Első szám: {0}", a); //ellenőrzés
            Console.WriteLine("Második szám: {0}", b); //ellenőrzés
            Console.WriteLine("A két egész szám osztásának eredménye (ha az eredmény tört szám, annak csak egész része) (a/b): {0}", a / b);
            Console.WriteLine("A két szám osztási maradéka (a%b): {0}", a % b);

            Console.WriteLine("Most az <a> és a <b> értékét betesszük egy-egy double típusú változóba.");
            double aTortSzam = a; //az <a> értékét betesszük egy double típusú változóba
            double bTortSzam = b; //a <b> értékét betesszük egy double típusú változóba
            Console.WriteLine("A két egész szám osztásának eredménye, ha törtként számoltunk velük (a/b): {0}", aTortSzam / bTortSzam);
            Console.WriteLine();

            Console.Write("Kérek egy egész, vagy tört számot (osztandót): ");
            double c = Convert.ToDouble(Console.ReadLine());
            Console.Write("Kérek még egy egész, vagy tört számot (osztót): ");
            double d = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("A két egész, vagy tört (törtként kezelt) szám hányadosa (c/d): {0}", c / d);
            //////////////////////////////////////////////////////////////////////////////////////
            //ISMÉTLÉS
            //2. feladat: Kérjünk be két logikai értéket, tároljuk őket változókban.
            //- Végezzük el velük a 3 alap logikai műveletet: tagadás, és, vagy.
            //- Tároljunk két további változóban is logikai értékeket, amelyeket
            //programból adunk meg.
            //- Írassuk ki összetett logikai műveletek eredményét.

            Console.WriteLine();
            Console.Write("Kérem az <A> logikai értéket (true/false): ");
            //Ismétlés: idézőjellel így kell megoldani:
            //Console.Write("Kérem az \"A\" logikai értéket (true/false): ");
            bool A = Convert.ToBoolean(Console.ReadLine());
            Console.Write("Kérem a <B> logikai értéket (true/false): ");
            bool B = Convert.ToBoolean(Console.ReadLine());
            Console.WriteLine();
            Console.WriteLine("<A> logikai tagadásának eredménye: {0}", !A);
            Console.WriteLine("<A> és <B> logikai ÉS műveletének eredménye: {0}", A && B);
            Console.WriteLine("<A> és <B> logikai VAGY műveletének eredménye: {0}", A || B);

            Console.WriteLine("Két további változónak programból adunk értéket.");

            bool C = true; //programból is értéket kaphatnak a logikai változók is
            bool D = false;

            Console.WriteLine();
            Console.WriteLine("A and B or A = {0}", A && B || A);
            Console.WriteLine("B and (B or A) and B) or not A = {0}", (B && (B || A) && B) || !A);
            Console.WriteLine("(A and (C or D) and not B) or C) = {0}", (A && (C || D) && !B) || C);
            Console.ReadLine();


2021.01.06. -07. Rajzverseny

//Rajzverseny

 

//Az országos rajzversenyen 3 korcsoportban indulhattak a versenyzők:

//-    alsó tagozat (1.-4. osztály)

//-    felső tagozat (5.-8. osztály)

//-    középiskola (9.-12. osztály)

 

//A megyei fordulóból minimum 30, maximum 50 pontot hozhattak a versenyzők.

 

//Az országos fordulóban minden korcsoportban maximum 100 pontot lehetett szerezni, ehhez adódott hozzá a megyei fordulón szerzett pontok 25%-a.

//Az így kiszámított összpontszám alapján sorolták be a versenyzőket az alábbiak szerint:

//-    30-70 pontig: piktorok, ők könyvjutalomban részesültek;

//-    71-100 pontig: festők, ők a Louvre képeit kapták DVD-n;

//-    101-120 pontig: festőművész palánták, ők olajfesték készletet kaptak;

//-    121-140 pontig: festőművészek, ők olajpasztell, és porpasztell készletet kaptak;

//-    141-160 pontig: festőművész zsenik, ők magas pénzjutalomban részesültek, és elutazhattak az európai versenyre.

 

//Bekérendő adatok (input):

//-    a versenyző neve

//-    a versenyző osztálya

//-    megyei fordulóból hozott pontszáma, amelyet ellenőrzünk, hogy legalább 30, és legfeljebb 50 legyen; ha ettől eltérő számot ad meg a felhasználó, írjunk ki hibaüzenetet, és lépjünk ki a programból

//-    országos fordulón elért pontszáma, amelyet ellenőrzünk, hogy legfeljebb 100 legyen; ha 100 feletti számot ad meg a felhasználó, írjunk ki hibaüzenetet, és lépjünk ki a programból

 

//Kiírandó eredmények (output):

//-    a versenyző korcsoportja (alsós, felsős, középiskolás)

//-    a versenyző megyei fordulóból hozott pontszámának 25%-a

//-    a versenyző összpontszáma

//-    a versenyző pontszám alapján történő besorolása (piktor, festő, stb.)

//-    a versenyző nyereménye (külön kiírásban)

//Szorgalmi:

//Kérd be a felhasználótól, hogy hány óra van.

//Lehetséges értékek: 8-17.

//A program két egymás utáni egyágú szelekció segítségével döntse el,

//hogy délelőtt van, vagy délután, és írja is ki a képernyőre.


Megoldás:

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

namespace stringMuveletek
{
    class Program
    {
        static void Main(string[] args)
        {

            //Rajzverseny
            //Az országos rajzversenyen 3 korcsoportban indulhattak a versenyzők:
            //-    alsó tagozat (1.-4. osztály)
            //-    felső tagozat (5.-8. osztály)
            //-    középiskola (9.-12. osztály)

            //A megyei fordulóból minimum 30, maximum 50 pontot hozhattak a versenyzők.


            //Az országos fordulóban minden korcsoportban maximum 100 pontot lehetett szerezni, ehhez adódott hozzá a megyei fordulón szerzett pontok 25%-a.
            //Az így kiszámított összpontszám alapján sorolták be a versenyzőket az alábbiak szerint:
            //-    30-70 pontig: piktorok, ők könyvjutalomban részesültek;
            //-    71-100 pontig: festők, ők a Louvre képeit kapták DVD-n;
            //-    101-120 pontig: festőművész palánták, ők olajfesték készletet kaptak;
            //-    121-140 pontig: festőművészek, ők olajpasztell, és porpasztell készletet kaptak;
            //-    141-160 pontig: festőművész zsenik, ők magas pénzjutalomban részesültek, és elutazhattak az európai versenyre.
            //Bekérendő adatok (input):
            //-    a versenyző neve
            Console.WriteLine("A versenyző nevét kérem: ");
            string nev = Console.ReadLine();
            //-    a versenyző osztálya
            Console.WriteLine("Kérem a versenyző osztályát: ");
            int osztaly = Convert.ToInt32(Console.ReadLine());
            //-    megyei fordulóból hozott pontszáma, amelyet ellenőrzünk, hogy legalább 30, és legfeljebb 50 legyen; ha ettől eltérő számot ad meg a felhasználó, írjunk ki hibaüzenetet, és lépjünk ki a programból
            Console.WriteLine("Mennyi pontot szereztél a megyei versenyen (max 50, min 30)?: ");
            int megyei = Convert.ToInt32(Console.ReadLine());
            if (megyei < 30 || megyei > 50)
            {
                Console.WriteLine("Rossz számokat írtál be apu");
                Thread.Sleep(1500);
                return;
            }
            //-    országos fordulón elért pontszáma, amelyet ellenőrzünk, hogy legfeljebb 100 legyen; ha 100 feletti számot ad meg a felhasználó, írjunk ki hibaüzenetet, és lépjünk ki a programból
            Console.WriteLine("Az országos fordulón mennyi pontot értél el (max: 100)?: ");
            int orszagos = Convert.ToInt32(Console.ReadLine());
            if (orszagos > 100)
            {
                Console.WriteLine("Ez nem lehet öcskös");
                Thread.Sleep(1500);
                return;
            }

            //Kiírandó eredmények (output):
            //-    a versenyző korcsoportja (alsós, felsős, középiskolás)
            if (osztaly > 0 && osztaly <= 4)
            {
                Console.WriteLine("A versenyző alsó tagozatos");
                Console.ReadLine();
            }
            if (osztaly > 4 && osztaly <= 8)
            {
                Console.WriteLine("A versenyző felső tagozatos");
                Console.ReadLine();
            }
            if (osztaly > 8 && osztaly <= 12)
            {
                Console.WriteLine("A versenyző középiskolás");
                Console.ReadLine();
            }
            //-    a versenyző megyei fordulóból hozott pontszámának 25%-a
            double megyei25 = megyei * 0.25;
            Console.WriteLine("Megyei pontok 25%-a: {0}", megyei25);
            //-    a versenyző összpontszáma
            double osszpontszam = megyei25 + orszagos;
            Console.WriteLine("A versenyző összpontszáma: {0}", osszpontszam);
            //-    a versenyző pontszám alapján történő besorolása (piktor, festő, stb.)
            string nyeremeny = String.Empty;
            Console.Write("A versenyző besorolása: ");
            if (osszpontszam >= 30 && osszpontszam <= 70)
            {
                Console.WriteLine("piktor");
                nyeremeny = " könyvjutalomban részesültök";

            }
            if (osszpontszam > 70 && osszpontszam <= 100)
            {
                Console.WriteLine("festő");
                nyeremeny = "a Louvre képeit kapjátok DVD-n";
            }
            if (osszpontszam > 100 && osszpontszam <= 120)
            {
                Console.WriteLine("festőművész palánta");
                nyeremeny = "olajfesték készletet kaptok";
            }
            if (osszpontszam > 120 && osszpontszam <= 140)
            {
                Console.WriteLine("festőművész");
                nyeremeny = "olajpasztellt, és porpasztell készletet kaptok";
            }
            if (osszpontszam > 140 && osszpontszam >= 160)
            {
                Console.WriteLine("festőművész zseni");
                nyeremeny = "magas pénzjutalomban részesültök, és elutazhattok az európai versenyre";

            }
            //-    a versenyző nyereménye (külön kiírásban)
            Console.WriteLine("Nyereményetek: {0}",nyeremeny);

            //Szorgalmi:
            //Kérd be a felhasználótól, hogy hány óra van. Lehetséges értékek: 8-17.
            //A program két egymás utáni egyágú szelekció segítségével döntse el,
            //hogy délelőtt van, vagy délután, és írja is ki a képernyőre.
            DateTime elso = Convert.ToDateTime("8:00");
            DateTime masodik = Convert.ToDateTime("17:00");
            //a 12 órát is fel lehetne itt venni, de gyakorlásképpen azt a feltételben oldjuk meg
            Console.Write("Hány óra van (8:00 - 17:00)? ");
            DateTime ido = Convert.ToDateTime(Console.ReadLine());
            if (ido >= elso && ido <= Convert.ToDateTime("12:00"))
            {
                Console.WriteLine("Délelőtt van.");
            }
            if (ido > Convert.ToDateTime("12:00") && ido <= masodik)
            {
                Console.WriteLine("Délután van.");
            }
            Console.ReadLine();

        }
    }
}

2023.04.26. Javító feladatsor