NMSZC Szent-Györgyi Albert Technikum (Balassagyarmat) - 2020-21/11B2 csoport 'programozás' órai munkái
2020. március 18., szerda
2020.03.16. Veszélyhelyzet
A veszélyhelyzetre való tekintettel bevezettük a Google Classroomot. A tájékoztatást alapvetően ott kapjátok meg, ezt a blogot egyelőre felfüggesztjük, mert egy csoportban dolgozunk tovább. A továbbiakra vonatkozóan lásd a másik csoport blogját.
2020. március 11., szerda
2020.03.11. Energetikai korszerűsítés
Itt fejezzük be.
//Energetikai korszerűsítés
//Energetikai korszerűsítés
//(A feladat egy egyszerűsített modell, a munkadíjak,
// napok száma nem a valóságon alapul :)
// napok száma nem a valóságon alapul :)
//A feladat megoldásában szelekcióból csak többágút használj.
//Állítsd át a háttérszínt zöldre, a betűszínt kékre.
//Az ablak címe legyen: Energetikai korszerűsítés - XY
//ahol az XY a neved
//Építési fővállalkozó vagy.
//Joe, Jack, Roger és Michael az alvállalkozóid (akik a munkát elvégzik).
//A feladatuk, hogy 12 modul napelemet felszereljenek egy vevő háztetőjére.
//Feladatok:
//1.
//Adottak a következő adatok:
//Alvállalkozó neve munkadíj alkalmazottak száma napok száma
//Michael 50.000,- Ft 0 6
//Roger 150.000,- Ft 3 3
//Joe 250.000,- Ft 5 2
//Jack 300.000,- Ft 6 1
//Ezeket az adatokat tárold struktúrákban a tanult módon.
//Írd ki a képernyőre az adatokat.
//Kérdezd meg a megrendelőt, hogy kivel akarja elvégeztetni
//a napelemek tetőre való felszerelését! (A nevet kérd be.)
//A választástól függően írd ki a képernyőre,
//hogy mennyi idő alatt lesz kész a munka,
//és hogy hányan fognak dolgozni a tetőn.
//2.
//Ki kell választani a napelem modulokat is.
//Tárold a következő mezőket struktúrában (ugyanúgy a program osztályban):
//típusa
//teljesítménye
//mérete
//súlya
//nettó ára
//Példányosíts három fajta napelem modult.
//Az elsőhöz ezek legyenek az adatok:
//típusa: MGW-30
//teljesítménye: 30 Wp (Wattpeak, a napelem csúcsteljesítménye)
//mérete: 545*415*28 mm
//súlya: 3,9 kg
//nettó ára: 14.125,- ft
//A másik kettőhöz keress valós adatokat az interneten.
//Keresőkifejezés: MGW-30 napelem vásárlás
//(Nettó árakat rögzíts.)
//Írd ki ezeket az adatokat a képernyőre.
//Konstansként vedd fel az áfát: 27%
//Kérdezd meg a felhasználót, hogy melyik modult választja.
//A választásától függően írd ki neki egy modul áfás árát.
//3.
//Az eddigi kód kiegészítésével oldd meg,
//hogy ki tudd számolni a teljes költséget,
//amit munkadíjként és anyagköltségként a vevő kifizet.
//Írd ki a teljes költséget, és köszönj el.
2020.03.11. Okostelefonok megoldás
using System;
namespace _20200303Orai
{
class Program
{
public struct telefonok
{
public string
markaTipus;
public double ar;
public double
kedvezmeny;
}
static void Main(string[] args)
{
//Ahol érdemes, használj a megoldás során többágú szelekciót!
//Ha ez nem megy, akkor megoldhatod kétágú szelekciókkal
is.
//Okostelefonok eladásához azt a modult kell megírnod,
//ami a mindenkori 3 akciós készülék vásárlására ad lehetőséget.
//Feladat:
//Tárold struktúrákban a 3 telefon márkáját és típusát (egy
stringként),
//az árát, és a hozzá tartozó kedvezmény mértékét (pl. 5 -
ez 5 %-ot jelent).
telefonok telefon1 = new
telefonok();
telefon1.markaTipus = "Samsung Galaxy
S10";
telefon1.ar = 203000;
telefon1.kedvezmeny = 5;
telefonok telefon2 = new
telefonok();
telefon2.markaTipus = "Iphone 11";
telefon2.ar = 255000;
telefon2.kedvezmeny = 6;
telefonok telefon3 = new
telefonok();
telefon3.markaTipus = "Xiaomi Redmi
Note 8T";
telefon3.ar = 65000;
telefon3.kedvezmeny = 4;
//Írd ki ezeket az adatokat a képernyőre, egy telefon
adatait egy sorszámozott sorba.
Console.WriteLine("1.
telefon:");
Console.WriteLine("{0}",
telefon1.markaTipus);
Console.WriteLine("Ár:
{0} Ft", telefon1.ar);
Console.WriteLine("Kedvezmény:
{0}%", telefon1.kedvezmeny);
Console.WriteLine();
Console.WriteLine("2.
telefon:");
Console.WriteLine("{0}",
telefon2.markaTipus);
Console.WriteLine("Ár:
{0} Ft", telefon2.ar);
Console.WriteLine("kedvezmény:
{0}%", telefon2.kedvezmeny);
Console.WriteLine();
Console.WriteLine("3.
telefon:");
Console.WriteLine("{0}",
telefon3.markaTipus);
Console.WriteLine("Ár:
{0} Ft", telefon3.ar);
Console.WriteLine("kedvezmény:
{0}%", telefon3.kedvezmeny);
Console.WriteLine();
//Kérdezd meg a usert, hogy melyik telefont választja. Csak
egy számot kelljen beütnie.
Console.WriteLine("Melyik
telefont választja ? (1,2,3)");
char valaszt = Convert.ToChar(Console.ReadLine());
//Írd ki a választásától függően a képernyőre a telefon
akciós árát. Ha valótlan
//számot ütött be a user, írj ki hibaüzenetet.
double ar = 0;
switch (valaszt)
{
case '1':
Console.WriteLine("Ennek az ára: {0} Ft", telefon1.ar);
ar = telefon1.ar;
break;
case '2':
Console.WriteLine("Ennek az ára: {0} Ft", telefon2.ar);
ar = telefon2.ar;
break;
case '3':
Console.WriteLine("Ennek az ára: {0} Ft", telefon3.ar);
ar = telefon3.ar;
break;
default:
Console.WriteLine("Kérem csak a megadott számok közül írjon be
egyet.");
break;
}
//Ezután kérdezd meg a usert, hogy törzsvásárló-e. <Törzsvásárló
/ nem törzsvásárló> formában kérd ezt be.
Console.WriteLine("Ön
törzsvásárló ? (törzsvásárló/nem törzsvásárló)");
string kerdes = Console.ReadLine();
//Ha törzsvásárló, és a telefon nem akciós értéke 50.000,-
Ft fölött van,
//írd ki neki,
hogy a törzsvásárlói kártyáján 100 pontot fogsz jóváírni
//(vagyis ennyi pontot fog kapni). Ha ez a feltétel nem
igaz, akkor írd ki,
//hogy 100 pontot kapott volna, ha lenne törzsvásárlói kártyája.
if (kerdes == "törzsvásárló")
{
if (ar > 50000)
{
Console.WriteLine("Akkor a törzsvásárlói kártyáján 100 ponot fogok jóváírni.");
}
}
else
{
if (kerdes == "nem
törzsvásárló")
{
Console.WriteLine("100 pontot kapott volna, ha lenne törzsvásárlói kártyája.");
}
}
//Ezután kérdezd meg, hogy ezeket a feltételeket
elfogadja-e (true/false lehet a válasz).
Console.WriteLine("Elfogadja
ezeket a feltételeket ? (true/false)");
bool kerdes2 = Convert.ToBoolean(Console.ReadLine());
// Ha igen, kérd be a nevét, és a címét egy-egy változóba.
// Ha nem, akkor nincs teendő.
switch (kerdes2)
{
case true:
Console.WriteLine("Kérem a nevét:");
string nev = Console.ReadLine();
Console.WriteLine("Kérem a címét:");
string cim = Console.ReadLine();
Console.WriteLine("{0} a {1} címre postázom a telefont.",
nev, cim);
break;
case false:
Console.WriteLine("Viszontlátásra!");
break;
default:
break;
}
//Írj ki egy búcsúzó üzenetet, melyben a nevén nevezed a
usert, ha tudod a nevét,
//és kiírod, hogy milyen címre postázod a telefont. Ha nem
tudod a nevét,
//akkor csak ennyit: „Viszontlátásra!”
Console.ReadLine();
}
}
}
Varsó megoldása:
Ricsi megoldása:
Varsó megoldása:
//Ahol érdemes, használj a megoldás során többágú szelekciót!
//Ha ez nem megy, akkor megoldhatod kétágú szelekciókkal is.
//Okostelefonok eladásához azt a modult kell megírnod,
//ami a mindenkori 3 akciós készülék vásárlására ad lehetőséget.
//Feladat:
//Tárold struktúrákban a 3 telefon márkáját és típusát (egy stringként),
//az árát, és a hozzá tartozó kedvezmény mértékét (pl. 5 - ez 5 %-ot jelent).
//Írd ki ezeket az adatokat a képernyőre, egy telefon adatait egy sorszámozott sorba.
//Kérdezd meg a usert, hogy melyik telefont választja. Csak egy számot kelljen beütnie.
//Írd ki a választásától függően a képernyőre a telefon akciós árát. Ha valótlan
//számot ütött be a user, írj ki hibaüzenetet.
//Ezután kérdezd meg a usert, hogy törzsvásárló-e. <Törzsvásárló / nem törzsvásárló> formában kérd ezt be.
//Ha törzsvásárló, és a telefon nem akciós értéke 50.000,- Ft fölött van,
//írd ki neki, hogy a törzsvásárlói kártyáján 100 pontot fogsz jóváírni
//(vagyis ennyi pontot fog kapni). Ha ez a feltétel nem igaz, akkor írd ki,
//hogy 100 pontot kapott volna, ha lenne törzsvásárlói kártyája.
//Ezután kérdezd meg, hogy ezeket a feltételeket elfogadja-e (true/false lehet a válasz).
// Ha igen, kérd be a nevét, és a címét egy-egy változóba.
// Ha nem, akkor nincs teendő.
//Írj ki egy búcsúzó üzenetet, melyben a nevén nevezed a usert, ha tudod a nevét,
//és kiírod, hogy milyen címre postázod a telefont. Ha nem tudod a nevét,
//akkor csak ennyit: „Viszontlátásra!”
Ricsi megoldása:
using System;
namespace _20200303Orai
{
class Program
{
public struct telefonok
{
public string markaTipus;
public double ar;
public double kedvezmeny;
}
static void Main(string[] args)
{
//Ahol érdemes, használj a megoldás során többágú szelekciót!
//Ha ez nem megy, akkor megoldhatod kétágú szelekciókkal is.
//Okostelefonok eladásához azt a modult kell megírnod,
//ami a mindenkori 3 akciós készülék vásárlására ad lehetőséget.
//Feladat:
//Tárold struktúrákban a 3 telefon márkáját és típusát (egy stringként),
//az árát, és a hozzá tartozó kedvezmény mértékét (pl. 5 - ez 5 %-ot jelent).
telefonok telefon1 = new telefonok();
telefon1.markaTipus = "Samsung Galaxy S10";
telefon1.ar = 203000;
telefon1.kedvezmeny = 5;
telefonok telefon2 = new telefonok();
telefon2.markaTipus = "Iphone 11";
telefon2.ar = 255000;
telefon2.kedvezmeny = 6;
telefonok telefon3 = new telefonok();
telefon3.markaTipus = "Xiaomi Redmi Note 8T";
telefon3.ar = 65000;
telefon3.kedvezmeny = 4;
//Írd ki ezeket az adatokat a képernyőre, egy telefon adatait egy sorszámozott sorba.
Console.WriteLine("1. telefon:");
Console.WriteLine("{0}", telefon1.markaTipus);
Console.WriteLine("Ár: {0} Ft", telefon1.ar);
Console.WriteLine("Kedvezmény: {0}%", telefon1.kedvezmeny);
Console.WriteLine();
Console.WriteLine("2. telefon:");
Console.WriteLine("{0}", telefon2.markaTipus);
Console.WriteLine("Ár: {0} Ft", telefon2.ar);
Console.WriteLine("kedvezmény: {0}%", telefon2.kedvezmeny);
Console.WriteLine();
Console.WriteLine("3. telefon:");
Console.WriteLine("{0}", telefon3.markaTipus);
Console.WriteLine("Ár: {0} Ft", telefon3.ar);
Console.WriteLine("kedvezmény: {0}%", telefon3.kedvezmeny);
Console.WriteLine();
//Kérdezd meg a usert, hogy melyik telefont választja. Csak egy számot kelljen beütnie.
Console.WriteLine("Melyik telefont választja ? (1,2,3)");
char valaszt = Convert.ToChar(Console.ReadLine());
//Írd ki a választásától függően a képernyőre a telefon akciós árát. Ha valótlan
//számot ütött be a user, írj ki hibaüzenetet.
double ar = 0;
switch (valaszt)
{
case '1':
Console.WriteLine("Ennek az ára: {0} Ft", telefon1.ar);
ar = telefon1.ar;
break;
case '2':
Console.WriteLine("Ennek az ára: {0} Ft", telefon2.ar);
ar = telefon2.ar;
break;
case '3':
Console.WriteLine("Ennek az ára: {0} Ft", telefon3.ar);
ar = telefon3.ar;
break;
default:
Console.WriteLine("Kérem csak a megadott számok közül írjon be egyet.");
break;
}
//Ezután kérdezd meg a usert, hogy törzsvásárló-e. <Törzsvásárló / nem törzsvásárló> formában kérd ezt be.
Console.WriteLine("Ön törzsvásárló ? (törzsvásárló/nem törzsvásárló)");
string kerdes = Console.ReadLine();
//Ha törzsvásárló, és a telefon nem akciós értéke 50.000,- Ft fölött van,
//írd ki neki, hogy a törzsvásárlói kártyáján 100 pontot fogsz jóváírni
//(vagyis ennyi pontot fog kapni). Ha ez a feltétel nem igaz, akkor írd ki,
//hogy 100 pontot kapott volna, ha lenne törzsvásárlói kártyája.
if (kerdes == "törzsvásárló")
{
if (ar > 50000)
{
Console.WriteLine("Akkor a törzsvásárlói kártyáján 100 ponot fogok jóváírni.");
}
}
else
{
if (kerdes == "nem törzsvásárló")
{
Console.WriteLine("100 pontot kapott volna, ha lenne törzsvásárlói kártyája.");
}
}
//Ezután kérdezd meg, hogy ezeket a feltételeket elfogadja-e (true/false lehet a válasz).
Console.WriteLine("Elfogadja ezeket a feltételeket ? (true/false)");
bool kerdes2 = Convert.ToBoolean(Console.ReadLine());
// Ha igen, kérd be a nevét, és a címét egy-egy változóba.
// Ha nem, akkor nincs teendő.
switch (kerdes2)
{
case true:
Console.WriteLine("Kérem a nevét:");
string nev = Console.ReadLine();
Console.WriteLine("Kérem a címét:");
string cim = Console.ReadLine();
Console.WriteLine("{0} a {1} címre postázom a telefont.", nev, cim);
break;
case false:
Console.WriteLine("Viszontlátásra!");
break;
default:
break;
}
//Írj ki egy búcsúzó üzenetet, melyben a nevén nevezed a usert, ha tudod a nevét,
//és kiírod, hogy milyen címre postázod a telefont. Ha nem tudod a nevét,
//akkor csak ennyit: „Viszontlátásra!”
Console.ReadLine();
}
}
}
Varsó megoldása:
using System;
namespace _20200303HaziFeladat
{
class Program
{
public struct Phone
{
public string PhoneMarka;
public string PhoneTipus;
public int PhoneROM;
public string PhoneSzin;
public int PhoneAr;
public double PhoneKedvezmeny;
}
static void Main(string[] args)
{
//2020.03.03 Struktúra, többágú szelekció gyarkolás - Okostelefonok
//Ahol érdemes, használj a megoldás során többágú szelekciót!
//Ha ez nem megy, akkor megoldhatod kétágú szelekciókkal is.
Console.Title = "Telefon-kereskedés";
//Okostelefonok eladásához azt a modult kell megírnod,
//ami a mindenkori 3 akciós készülék vásárlására ad lehetőséget.
Console.WriteLine("Telefon-kereskedés\n---------------\n");
//Feladat:
//Tárold struktúrákban a 3 telefon márkáját és típusát (egy stringként),
//az árát, és a hozzá tartozó kedvezmény mértékét (pl. 5 - ez 5 %-ot jelent).
Phone Termek1 = new Phone();
Termek1.PhoneMarka = "iPhone";
Termek1.PhoneTipus = "XR";
Termek1.PhoneROM = 64;
Termek1.PhoneSzin = "Fekete";
Termek1.PhoneAr = 215000;
Termek1.PhoneKedvezmeny = 5;
Phone Termek2 = new Phone();
Termek2.PhoneMarka = "Samsung";
Termek2.PhoneTipus = "Galaxy A70";
Termek2.PhoneROM = 128;
Termek2.PhoneSzin = "Fekete";
Termek2.PhoneAr = 120000;
Termek2.PhoneKedvezmeny = 10;
Phone Termek3 = new Phone();
Termek3.PhoneMarka = "Xiaomi";
Termek3.PhoneTipus = "Mi 9T Pro";
Termek3.PhoneROM = 128;
Termek3.PhoneSzin = "Fekete";
Termek3.PhoneAr = 140000;
Termek3.PhoneKedvezmeny = 12;
//Írd ki ezeket az adatokat a képernyőre, egy telefon adatait egy sorszámozott sorba.
Console.WriteLine("Kínálat\n---------\n");
Console.WriteLine("1. készülék");
Console.WriteLine("Márka: {0}\nTípus: {1}\nBelső tárhely mérete: {2}\nSzín: {3}\nÁr: {4} Forint\n", Termek1.PhoneMarka, Termek1.PhoneTipus, Termek1.PhoneROM, Termek1.PhoneSzin, Termek1.PhoneAr);
Console.WriteLine("2. készülék");
Console.WriteLine("Márka: {0}\nTípus: {1}\nBelső tárhely mérete: {2}\nSzín: {3}\nÁr: {4} Forint\n", Termek2.PhoneMarka, Termek2.PhoneTipus, Termek2.PhoneROM, Termek2.PhoneSzin, Termek2.PhoneAr);
Console.WriteLine("3. készülék");
Console.WriteLine("Márka: {0}\nTípus: {1}\nBelső tárhely mérete: {2}\nSzín: {3}\nÁr: {4} Forint\n", Termek3.PhoneMarka, Termek3.PhoneTipus, Termek3.PhoneROM, Termek3.PhoneSzin, Termek3.PhoneAr);
//Kérdezd meg a usert, hogy melyik telefont választja. Csak egy számot kelljen beütnie.
Console.Write("Melyik készüléket választja? (1/2/3) ");
int selector = Convert.ToInt32(Console.ReadLine());
//Írd ki a választásától függően a képernyőre a telefon akciós árát. Ha valótlan
//számot ütött be a user, írj ki hibaüzenetet.
double PhoneAr = 0;
double PhoneArKedvezmenyes = 0;
switch (selector)
{
case 1:
PhoneArKedvezmenyes = Termek1.PhoneAr - (Termek1.PhoneAr / 100 * Termek1.PhoneKedvezmeny);
PhoneAr = Termek1.PhoneAr;
break;
case 2:
PhoneArKedvezmenyes = Termek2.PhoneAr - (Termek2.PhoneAr / 100 * Termek2.PhoneKedvezmeny);
PhoneAr = Termek2.PhoneAr;
break;
case 3:
PhoneArKedvezmenyes = Termek3.PhoneAr - (Termek3.PhoneAr / 100 * Termek3.PhoneKedvezmeny);
PhoneAr = Termek3.PhoneAr;
break;
default:
Console.BackgroundColor = ConsoleColor.Red;
Console.WriteLine("Hibásan megadott érték!");
Console.ResetColor();
break;
}
string VasarloNeve = String.Empty;
string VasarloLakcim = String.Empty;
if (selector > 0 && selector < 4)
{
Console.WriteLine("\nA telefon akciós ára: {0} Forint", PhoneArKedvezmenyes);
//Ezután kérdezd meg a usert, hogy törzsvásárló-e. <Törzsvásárló / nem törzsvásárló> formában kérd ezt be.
//Ha törzsvásárló, és a telefon nem akciós értéke 50.000,- Ft fölött van,
//írd ki neki, hogy a törzsvásárlói kártyáján 100 pontot fogsz jóváírni
//(vagyis ennyi pontot fog kapni). Ha ez a feltétel nem igaz, akkor írd ki,
//hogy 100 pontot kapott volna, ha lenne törzsvásárlói kártyája.
Console.Write("\nÖn törzsvásárló? (Törzsvásárló / Nem törzsvásárló): ");
string Torzsvasarlo = Console.ReadLine();
if (Torzsvasarlo.ToUpper() == "TÖRZSVÁSÁRLÓ" || Torzsvasarlo.ToUpper() == "NEM TÖRZSVÁSÁRLÓ")
{
if (Torzsvasarlo.ToUpper() == "TÖRZSVÁSÁRLÓ")
{
if (PhoneAr > 50000)
{
Console.WriteLine("\nA törzsvásárlói kártyán 100 pontot fogunk jóváírni a vásárlás után.");
}
}
else
{
if (PhoneAr > 50000)
{
Console.WriteLine("\nHa lett volna törzsvásárlói kártyája, akkor a vásárlás után 100 pontot írtunk volna jóvá!");
}
}
}
//Ezután kérdezd meg, hogy ezeket a feltételeket elfogadja-e (true/false lehet a válasz).
// Ha igen, kérd be a nevét, és a címét egy-egy változóba.
// Ha nem, akkor nincs teendő.
Console.Write("\nElfogadja a felhasználási feltételeket? (true/false): ");
bool FF = Convert.ToBoolean(Console.ReadLine());
if (FF)
{
Console.Write("\nKérem a vásárló nevét: ");
VasarloNeve = Console.ReadLine();
Console.Write("\nKérem a vásárló címét: ");
VasarloLakcim = Console.ReadLine();
}
}
else
{
Console.BackgroundColor = ConsoleColor.Red;
Console.WriteLine("Hiba az adatok feldolgozása közben!");
Console.ResetColor();
}
//Írj ki egy búcsúzó üzenetet, melyben a nevén nevezed a usert, ha tudod a nevét,
//és kiírod, hogy milyen címre postázod a telefont. Ha nem tudod a nevét,
//akkor csak ennyit: „Viszontlátásra!”
Console.WriteLine();
if (VasarloNeve == "")
{
Console.WriteLine("Viszontlátásra!");
}
else
{
Console.WriteLine("Kedves {0}! Erre a címre postázom a telefont: {1}", VasarloNeve, VasarloLakcim);
}
Console.Write("\n\nA program bezárásához nyomjon meg egy billentyűt...");
Console.ReadKey();
}
}
}
Feliratkozás:
Bejegyzések (Atom)