2019. december 20., péntek

2019.12.20. 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("{0}", szam);
            //vagy egyszerűbben:
            Console.WriteLine(szam);
            Console.WriteLine();

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

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

            Console.WriteLine("3 tizedesjeggyel, 15 hosszon balra, kétszer egymás után:");
            Console.WriteLine("{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("{0:0}", szam);
            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: ");
            szam = 16546;
            Console.WriteLine("3 tizedesjeggyel:");
            Console.WriteLine("{0:0.000}", szam);
            Console.WriteLine();

            Console.WriteLine("Tizedesjegyek nélkül:");
            Console.WriteLine("{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);
            //////////////////////////////////////////////////////////////////////////////////////

            //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();


2019.12.20. Output formázások


namespace adatlopo
{
    class Program
    {
        static void Main(string[] args)
        {
            //Adatlopó
            //Írjunk programot, mely adatokat kér be a
            //felhasználótól, majd különböző formában
            //kiírja azokat.
            //Szorgalmi: oldd meg a soronkénti
            //kiírásokat két oszloposan.

            Console.Title = "Ez nem adatlopó program :)";

            const string hackerCode = "DEVIL"; //ez nem változik a program során: konstans érték
            Console.Write("Felhasználónév: ");           
            string userName = Console.ReadLine();
            Console.Write("Jelszó: ");           
            string password = Console.ReadLine();
            Console.Write("IP cím: ");           
            string ip = Console.ReadLine();
            Console.Write("Kedvenc torrent server: ");           
            string torrent = Console.ReadLine();
            Console.Write("Letöltések száma havonta: ");
            string downloads = Console.ReadLine();
           
            Console.WriteLine();
            Console.WriteLine();
           
            //Kiírjuk a hacker képernyőjére a megszerzett adatokat:
            Console.WriteLine("To: {0} ",hackerCode );
            Console.WriteLine("Username: {0} ",userName );
            Console.WriteLine("Password: {0} ",password );
            Console.WriteLine("IP: {0} ",ip );
            Console.WriteLine("Torrent: {0} ",torrent );
            Console.WriteLine("Downloads: {0} ",downloads );

            Console.WriteLine();
            Console.WriteLine();

            //Egy kicsit szebben így néz ki (balra rendezett):
            Console.WriteLine("To:          {0}",hackerCode );
            Console.WriteLine("Username:    {0}",userName );
            Console.WriteLine("Password:    {0}",password );
            Console.WriteLine("IP:          {0}",ip );
            Console.WriteLine("Torrent:     {0}",torrent );
            Console.WriteLine("Downloads:   {0}",downloads );

            Console.WriteLine();
            Console.WriteLine();

            //Ugyanez elegánsan megoldva (jobbra rendezett):
            Console.WriteLine("To:          {0,19}",hackerCode );
            Console.WriteLine("Username:    {0,19}",userName );
            Console.WriteLine("Password:    {0,19}",password );
            Console.WriteLine("IP:          {0,19}",ip );
            Console.WriteLine("Torrent:     {0,19}",torrent );
            Console.WriteLine("Downloads:   {0,19}",downloads );
     
            Console.WriteLine();
            Console.WriteLine();  
             
            //ugyanezeket így is kiírhatnánk (balra rendezett):
            Console.WriteLine("To: {0}, Username: {1}, Password: {2}, IP: {3}, Torrent: {4}, Downloads: {5}", hackerCode, userName, password, ip, torrent, downloads);
           
            Console.WriteLine();
            Console.WriteLine();    
   
            //vagy így (jobbra rendezett):
            Console.WriteLine("To: {0,8}, Username: {1,8}, Password: {2,8}, IP: {3,19}, Torrent: {4,8}, Downloads: {5,4}", hackerCode, userName, password, ip, torrent, downloads);

            //Ugyanez két oszloposan megoldva (jobbra rendezett):
            Console.WriteLine();
            Console.WriteLine();
           
            Console.WriteLine("To:          {0,19} IP:          {1,19}", hackerCode,ip);
            Console.WriteLine("Username:    {0,19} Torrent:     {1,19}", userName,torrent);
            Console.WriteLine("Password:    {0,19} Downloads:   {1,19}", password,downloads);

            Console.ReadLine();
        }
    }
}

2019. december 17., kedd

2019.12.17. Házi feladat - Webáruház


Webáruház
//Egy vállalat a termékei számára webáruházat szeretne nyitni, ehhez olyan szolgáltatókat keresnek a weben,
            //akik ilyen webáruházakat hoznak létre. Ezek nem egyedileg, kifejezetten annak a cégnek írnak webáruházat,
            //hanem egy általuk megírt, univerzális verziót testre szabnak nekik.
            //A vállalat több ajánlatot is megnéz, végül az ár dönt a következőképpen:

            //Megnézik a nyitási költséget (kérd be). Ha a nyitási költség 500.000 forint fölött van,
            //az a webszolgáltató cég nem jöhet szóba.
            //Csak azokat vizsgáljuk tovább, akikre az ez összeg alatti nyitási költség az igaz.
            //Ezeknél a cégeknél az éves díjat összesítik  a havi karbantartási költséggel (1 évre)
            //– ezeket kérjük be.
            //Az így kijött összeget az igazgató rangsorolja a következőképpen – az értékelést írjuk ki:
            //500.000 Ft-ig                   gyanúsan olcsó
            //500.000 Ft-600.000 Ft-ig        elfogadható, de csak rövid távon
            //600.000 Ft-900.000 Ft-ig        elfogadható
            //900.000 Ft-1.500.000 Ft-ig      túl drága


Varsó megoldása:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace webaruhaz
{
    class Program
    {
        static void Main(string[] args)
        {
            //Webáruház
            //Egy vállalat a termékei számára webáruházat szeretne nyitni, ehhez olyan szolgáltatókat keresnek a weben,
            //akik ilyen webáruházakat hoznak létre. Ezek nem egyedileg, kifejezetten annak a cégnek írnak webáruházat,
            //hanem egy általuk megírt, univerzális verziót testre szabnak nekik.
            //A vállalat több ajánlatot is megnéz, végül az ár dönt a következőképpen:

            //Megnézik a nyitási költséget (kérd be). Ha a nyitási költség 500.000 forint fölött van,
            //az a webszolgáltató cég nem jöhet szóba.
            Console.Write("Kérem a nyitási költséget: ");
            int koltseg = Convert.ToInt32(Console.ReadLine());
            //Csak azokat vizsgáljuk tovább, akikre az ez összeg alatti nyitási költség az igaz.
            if (koltseg > 0 || koltseg > 500000)
            {
                Console.WriteLine("Ez a webszolgáltató cég nem jöhet szóba!");
                Thread.Sleep(2000);
                Console.Beep();
                return;
            }
            //Ezeknél a cégeknél az éves díjat összesítik  a havi karbantartási költséggel (1 évre)
            //– ezeket kérjük be.
            Console.Write("Kérem a havi karbantartási költséget: ");
            int havi = Convert.ToInt32(Console.ReadLine());
            Console.Write("Kérem az éves díjat: ");
            int eves = Convert.ToInt32(Console.ReadLine());
            int evi = havi * 12 + eves;
            //Az így kijött összeget az igazgató rangsorolja a következőképpen – az értékelést írjuk ki:
            //500.000 Ft-ig                    gyanúsan olcsó
            if (evi > 0 && evi <= 500000)
            {
                Console.WriteLine("Gyanúsan olcsó.");
            }
            //500.000 Ft-600.000 Ft-ig         elfogadható, de csak rövid távon
            if (evi > 500000 && evi <= 600000)
            {
                Console.WriteLine("Elfogadható, de csak rövid távon.");
            }
            //600.000 Ft-900.000 Ft-ig         elfogadható
            if (evi > 600000 && evi <= 900000)
            {
                Console.WriteLine("Elfogadható.");
            }
            //900.000 Ft-1.500.000 Ft-ig       túl drága
            if (evi > 900000 && evi <= 1500000)
            {
                Console.WriteLine("Túl drága.");
            }
            Console.ReadLine();
        }
    }
}