2021.03.29., 31. Struktúra: Ford márkakereskedés továbbfejlesztés

Csak a legelejét néztük át, házi átolvasni a következő órára.

Továbbfejlesztés:
Oldjuk meghogy az autók árait struktúrában tároljuk.
Új anyag:
namespace strukturaBevezetes
{
    class Program
    {
        public struct auto
        {
            public int ar//ft
            public int motor//cm3
            public int szemely//fő
            public int teljesitmeny//lóerő
        }
        static void Main(string[] args)
        {
            auto auto1 = new auto();
            auto1.ar = 6000000;
            auto1.motor = 1600;
            auto1.szemely = 5;
            auto1.teljesitmeny = 150;
        }
    }
}
--------------------------------------------------
Magyarázat:
A struktúrát a Main fölötta program osztályban definiáljuk.
publicmódosítószóami befolyásolja az adott elem láthatóságátplhogy mennyire 
legyen nyilvánosA public azt jelentihogy mindenhol látható.
 (A private plrejtettet jelent majd.)
struct: a struktúra adatszerkezet kulcsszava.
 A struktúra a procedurális nyelvekben (pl. Pascal) a rekordnak felel meg. 
Ebben összefogunk egy szerkezetbe összetartozó adatokat. 
A struktúra a definiálásakor (lásd a Main felett) még csak egy váz, egy üres szerkezet,
 ami megmutatja, milyen adatokat fogunk tárolni a példányosításkor.
auto: a struktúra neve
public int ar;: adattag, más néven mező a struktúrában. Olyan, mint egy változó,
 de ez a struktúra törzsében van, és gyakran nem adunk neki kezdőértéket.
auto auto1 = new auto();  Itt definiálunk egy auto típusú változót auto1 néven,
 és a new kulcsszóval helyet foglalunk neki a memóriában az auto() konstruktor
 segítségével. Ezt hívjuk példányosításnak (létrehozunk egy példányt).
auto1.ar = 6000000;  Az auto1 változón belül elérjük az ar mezőt (adattagot),
 ennek értékül adjuk a jobb oldalon levő értéket.
--------------------------------------------------
A struktúra nélkül, hagyományosan, változókkal megoldott teljes feladat:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace auto
{
    class Program
    {
        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.
            //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).
            double MustangAra = 13020000;
            int MustangMotor = 5000;
            int MustangSzemelyek = 2;
            int MustangTeljesitmeny = 4000;
            double MondeoAra = 10020000;
            int MondeoMotor = 4000;
            int MondeoSzemelyek = 5;
            int MondeoTeljesitmeny = 3000;
            double BMaxAra = 12020000;
            int BMaxMotor = 3000;
            int BMaxSzemelyek = 4;
            int BMaxTeljesitmeny = 2000;
            Console.WriteLine("Ford Mondeo");
            Console.WriteLine("ár: {0}"MondeoAra);
            Console.WriteLine("motor: {0}"MondeoMotor);
            Console.WriteLine("személyek: {0}"MondeoSzemelyek);
            Console.WriteLine("teljesítmény: {0}"MondeoTeljesitmeny);
            Console.WriteLine("--------------------------------------------");
            Console.WriteLine("Ford Bmax");
            Console.WriteLine("ár: {0}"BMaxAra);
            Console.WriteLine("motor: {0}"BMaxMotor);
            Console.WriteLine("személyek: {0}"BMaxSzemelyek);
            Console.WriteLine("teljesítmény: {0}"BMaxTeljesitmeny);
            Console.WriteLine("--------------------------------------------");
            Console.WriteLine("Ford Mustang");
            Console.WriteLine("ár: {0}"MustangAra);
            Console.WriteLine("motor: {0}"MustangMotor);
            Console.WriteLine("személyek: {0}"MustangSzemelyek);
            Console.WriteLine("teljesítmény: {0}"MustangTeljesitmeny);
            Console.WriteLine("--------------------------------------------");
            Console.WriteLine("Milyen autó érdekli? (Ford Mustang (1), Ford Mondeo (2), Ford B-Max (3))");
            int auto = Convert.ToInt32(Console.ReadLine());
            //-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.,).
            double ar = 0;
            switch (auto)
            {
                case 1:
                    Console.WriteLine("{0} Ft-tól, {1} cm3, {2} személyes, {3} lóerős."MustangAraMustangMotorMustangSzemelyekMustangTeljesitmeny);
                    ar = MustangAra;
                    break;
                case 2:
                    Console.WriteLine("{0} Ft-tól, {1} cm3, {2} személyes, {3} lóerős."MondeoAraMondeoMotorMondeoSzemelyekMondeoTeljesitmeny);
                    ar = MondeoAra;
                    break;
                case 3:
                    Console.WriteLine("{0} Ft-tól, {1} cm3, {2} személyes, {3} lóerős."BMaxAraBMaxMotorBMaxSzemelyekBMaxTeljesitmeny);
                    ar = BMaxAra;
                    break;
                default:
                    Console.WriteLine("Nem jó számot írtál be.");
                    break;
            }
            Console.ReadLine();
            //-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.
            Console.WriteLine("Átutalással (a), Készpénzzel (k) vagy hitellel (h) fizet?");
            char fizet = Convert.ToChar(Console.ReadLine());
            double kedvezmeny = 0;
            switch (fizet)
            {
                case 'k':
                    kedvezmeny = ar - ((ar / 100.0) * 5.0);
                    break;
                case 'a':
                    kedvezmeny = ar - ((ar / 100.0) * 3.0);
                    Console.WriteLine("Összesen {0} Ft-be fog kerülni az autó."kedvezmeny);
                    break;
                case 'h':
                    kedvezmeny = ar + ((ar / 100.0) * 5.0);
                    Console.WriteLine("Összesen {0} Ft-be fog kerülni az autó."kedvezmeny);
                    break;
                default:
                    Console.WriteLine("Nem jó betűt írtál be");
                    break;
            }
            Console.WriteLine("Összesen {0} Ft-be fog kerülni az autó."kedvezmeny);
            //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.
        }
    }
} 03.31. Eddig jutottunk el.
 ------------------------------------------------------------------------------------------
A struktúrával megoldott teljes feladat:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace auto
{
    class Program
    {
        public struct auto
        {
            public double 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();
            auto mustang = new auto();
            mustang.ar = 1127000;
            mustang.motorter = 5000;
            mustang.szemszam = 2;
            mustang.telj = 418;
            auto mondeo = new auto();
            mondeo.ar = 7750000;
            mondeo.motorter = 2500;
            mondeo.szemszam = 4;
            mondeo.telj = 250;
            auto fiesta = new auto();
            fiesta.ar = 5550000;
            fiesta.motorter = 1600;
            fiesta.szemszam = 4;
            fiesta.telj = 210;
            double 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.motorter);
                    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();
            double aktar = 0;
            switch (valasz)
            {
                case "készpénz":
                    aktar = ar - (ar / 100.0 * 5.0);
                    Console.WriteLine("Készpénz fizetés esetén 5% kezdvezmény jár.");
                    break;
                case "átutalás":
                    aktar = ar - (ar / 100.0 * 3.0);
                    Console.WriteLine("Azonnali átutalás esetén 3% kezdvezmény jár.");
                    break;
                case "hitel":
                    aktar = ar + (ar / 100.0 * 5.0);
                    Console.WriteLine("Hitel felvétel esetén +5% felárat számítunk fel.");
                    break;
            }
            Console.WriteLine("Az aktuális ár {0}"aktar);
            Console.ReadLine();
        }
    }
}

2021.03.08., 10. Számítógépes játék-választó

1. feladat: ellenőrizd a pénteki feladat megoldását, tedd el a digifüzetbe.

2. feladat:  Először nézd meg ezt a videót ismétlésképpen:

A többágú szelekcióról itt találsz oktatóvideót.

Aztán a Ford-os feladat mintájára mindenki önállóan írjon többágú szelekciót. Téma legyen: számítógépes játékok. Tehát választhasson a felhasználó és ismerje meg a program jellemzőit, majd legyen lehetősége többféle konstrukcióban megvásárolni. Légy kreatív!

Ha ez megvan, szerdán hasonló programot kell írnod, de ott kifejezetten mobilos applikációkról legyen szó.

Milán megoldása:
using System
namespace jatekok 
    class Program 
    { 
        static void Main(string[] args
        { 
            Console.WriteLine("Üdvözöllek ilyen kategóriák vannak nálunk"); 
            Console.WriteLine("Akció(1),Kaland(2),Multiplayer(3),Verseny(4)"); 
            Console.WriteLine("Milyen kategóriában szeretnél választani?: "); 
            int kategoria = Convert.ToInt32(Console.ReadLine()); 
            switch (kategoria
            { 
                case 1: 
                    Console.WriteLine("Call of Duty "); 
                    Console.WriteLine("A Call of Duty egy belső nézetes lövöldözős videójáték-sorozat.\n A legtöbb rész a második világháborúban, a hidegháborúban,\n a modern időkben és a jövőben játszódik. "); 
                    Console.ReadLine(); 
                    break
                case 2: 
                    Console.WriteLine("The Witcher"); 
                    Console.WriteLine("A The Witcher 3: Wild Hunt 2015-ös akció-szerepjáték, \namelyet a CD Projekt lengyel játékfejlesztő cég készített és adott ki.\n A történet Andrzej Sapkowski Vaják sorozatán alapul."); 
                    Console.ReadLine(); 
                    break
                case 3: 
                    Console.WriteLine("Counter Strike:Global Offensive"); 
                    Console.WriteLine("A Counter-Strike: Global Offensive online csapatalapú first-person shooter,\n amelyet a Valve Corporation és a Hidden Path Entertainment fejleszt,\n akik korábban a Counter-Strike: Source frissítéseiért is feleltek. "); 
                    Console.ReadLine(); 
                    break
                case 4: 
                    Console.WriteLine("Forza Horizon 4"); 
                    Console.WriteLine("A dinamikus idények mindent megváltoztatnak a világ legnagyobb autós erőpróbáján.\n Játssz egyedül vagy állj össze másokkal, hogy bejárd a csodás,\n nagy múltú Britannia megosztott nyílt világát!\n Szerezz meg, spécizz fel és vezess több mint 450 autót! \nVersenyezz, trükközz, alkoss és barangolj – válj Horizon szupersztárrá a magad módján!"); 
                    Console.ReadLine(); 
                    break
                default
                    Console.WriteLine("Csak 1-4 ig lehet választani"); 
                    Console.ReadLine(); 
                    break
            } 
        } 
    } 

Mobilos - T.Kristóf megoldása:
using System
namespace PcGames 
    class Program 
    { 
        static void Main(string[] args
        { 
            int nbaar = 2290; 
            int doomar = 1790; 
            int minecraftar = 2490; 
            Console.WriteLine(); 
            Console.WriteLine("NBA 2K20 (1)"); 
            Console.WriteLine(); 
            Console.WriteLine("DOOM (2)"); 
            Console.WriteLine(); 
            Console.WriteLine("Minecraft (3)"); 
            Console.WriteLine(); 
            Console.WriteLine("Milyen jatek erdekli? (A Zarojelben levo szamokat irja be!)"); 
            int jatek = Convert.ToInt32(Console.ReadLine()); 
            int ar = 0; 
            switch (jatek
            { 
                case 1: 
                    Console.WriteLine("NBA 2K20"); 
                    Console.WriteLine("Élvezd a teljes NBA bajnokságot, és legyél bajnok a kedvenc csapatoddal,\n vagy hozz létre saját karaktert, és vesd bele magad a nyílt világú Neighborhood módba,\nahol végtelen lehetőségek várnak, legyen szó utcai kosárlabdáról vagy tömött stadionokról."); 
                    ar = nbaar
                    break
                case 2: 
                    Console.WriteLine("DOOM"); 
                    Console.WriteLine("A DOOM Eternal még nagyobb, még akciódúsabb, mint elődje.\nNagyobb helyszínek, erősebb ellenfelek, vadonatúj főellenségek,\nellenük pedig pusztítóbb fegyvereket és új képességeket vethetsz be."); 
                    ar = doomar
                    break
                case 3: 
                    Console.WriteLine("Minecraft"); 
                    Console.WriteLine("A Minecraftban tényleg bármit felépíthetsz, amit csak el tudsz képzelni,\nvagy felfedezheted a végtelen világokat és óceánokat."); 
                    ar = minecraftar
                    break
                default
                    Console.WriteLine("Hiba!"); 
                    break
            } 
            Console.WriteLine(); 
            Console.WriteLine("Mivel szeretne fizetni ?"); 
            Console.WriteLine(); 
            Console.WriteLine("Átutalás (a), Készpénz (k) vagy hitel (h)"); 
            char fizetes = Convert.ToChar(Console.ReadLine()); 
            double kedvezmeny = 0; 
            switch (fizetes
            { 
                case 'a'
                    kedvezmeny = ar - ((ar / 100.0) * 3.0); 
                    break
                case 'k'
                    kedvezmeny = ar - ((ar / 100.0) * 5.0); 
                    break
                case 'h'
                    kedvezmeny = ar + ((ar / 100.0) * 5.0); 
                    break
                default
                    Console.WriteLine("Hiba!"); 
                    break
            } 
            Console.WriteLine("Ennyi lesz a jatek a vasarlas utan ezzel a fizetesi moddal."); 
            Console.WriteLine("---> {0} Ft"kedvezmeny); 
            Console.ReadLine(); 
        } 
    } 

2021.03.05. Ford márkakereskedés

//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.

Egy lehetséges megoldás:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace auto

{

    class Program

    {

        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.

 

            //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).

 

 

            double MustangAra = 13020000;

            int MustangMotor = 5000;

            int MustangSzemelyek = 2;

            int MustangTeljesitmeny = 4000;

 

            double MondeoAra = 10020000;

            int MondeoMotor = 4000;

            int MondeoSzemelyek = 5;

            int MondeoTeljesitmeny = 3000;

 

            double BMaxAra = 12020000;

            int BMaxMotor = 3000;

            int BMaxSzemelyek = 4;

            int BMaxTeljesitmeny = 2000;

 

            Console.WriteLine("Ford Mondeo");

            Console.WriteLine("ár: {0}", MondeoAra);

            Console.WriteLine("motor: {0}", MondeoMotor);

            Console.WriteLine("személyek: {0}", MondeoSzemelyek);

            Console.WriteLine("teljesítmény: {0}", MondeoTeljesitmeny);

            Console.WriteLine("--------------------------------------------");

 

            Console.WriteLine("Ford Bmax");

            Console.WriteLine("ár: {0}", MondeoAra);

            Console.WriteLine("motor: {0}", MondeoMotor);

            Console.WriteLine("személyek: {0}", MondeoSzemelyek);

            Console.WriteLine("teljesítmény: {0}", MondeoTeljesitmeny);

            Console.WriteLine("--------------------------------------------");

 

            Console.WriteLine("Ford Mustang");

            Console.WriteLine("ár: {0}", BMaxAra);

            Console.WriteLine("motor: {0}", BMaxMotor);

            Console.WriteLine("személyek: {0}", BMaxSzemelyek);

            Console.WriteLine("teljesítmény: {0}", BMaxTeljesitmeny);

            Console.WriteLine("--------------------------------------------");

 

            Console.WriteLine("Milyen autó érdekli? (Ford Mustang (1), Ford Mondeo (2), Ford B-Max (3))");

            int auto = Convert.ToInt32(Console.ReadLine());

 

            //-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.,).

            double ar = 0;

            switch (auto)

            {

                case 1:

                    Console.WriteLine("{0} Ft-tól, {1} cm3, {2} személyes, {3} lóerős.", MustangAra, MustangMotor, MustangSzemelyek, MustangTeljesitmeny);

                    ar = MustangAra;

                    break;

                case 2:

                    Console.WriteLine("{0} Ft-tól, {1} cm3, {2} személyes, {3} lóerős.", MondeoAra, MondeoMotor, MondeoSzemelyek, MondeoTeljesitmeny);

                    ar = MondeoAra;

                    break;

                case 3:

                    Console.WriteLine("{0} Ft-tól, {1} cm3, {2} személyes, {3} lóerős.", BMaxAra, BMaxMotor, BMaxSzemelyek, BMaxTeljesitmeny);

                    ar = BMaxAra;

                    break;

                default:

                    Console.WriteLine("Nem jó számot írtál be.");

                    break;

            }

            Console.ReadLine();

            //-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.

            Console.WriteLine("Átutalással (a), Készpénzzel (k) vagy hitellel (h) fizet?");

            char fizet = Convert.ToChar(Console.ReadLine());

            double kedvezmeny = 0;

            switch (fizet)

            {

                case 'k':

                    kedvezmeny = ar - ((ar / 100.0) * 5.0);

                    break;

                case 'a':

                    kedvezmeny = ar - ((ar / 100.0) * 3.0);

                    break;

                case 'h':

                    kedvezmeny = ar + ((ar / 100.0) * 5.0);

                    break;

                default:

                    Console.WriteLine("Nem jó betűt írtál be");

                    break;

            }

 

            Console.WriteLine("Összesen {0} Ft-be fog kerülni az autó.", kedvezmeny);

            //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.

 

        }

    }

}


2023.04.26. Javító feladatsor