Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace II_3_gyak_1
- {
- class Konyvespolc
- {
- // Házi: könyvespolc objektumosztály (class konyvespolc), egy lista van benne könyvekről
- // - protected List<Konyv> K = new List<Konyv>();
- // 1: nem adhatunk hozzá nullt
- // 2: nem lehet 2x ugyanaz a könyv
- // 3: public hozzaad() fuggvény!
- // {
- // if () ...
- // }
- //
- // Adatbázis-szerű elérés a könyvespolcról! public List<Konyv> kereses(string s)
- // - Olyan függvény írása, ami public. Átadok egy írót, és visszaadja az író könyveinek listáját !!
- //
- // Egy readonly property, ami megmondja a könyvek árát! get { return -összeg- }
- protected List<Konyv> polc = new List<Konyv>();
- public int osszar
- {
- get
- {
- int sum = 0;
- foreach (var x in polc)
- {
- sum += x.ar;
- }
- return sum;
- }
- }
- public void hozzaad(Konyv k)
- {
- if (k != null)
- {
- foreach (Konyv x in polc)
- {
- if (x == k)
- {
- Console.WriteLine("Ez a könyv már rajta van a polcon!");
- break;
- }
- }
- polc.Add(k);
- }
- else throw new Exception("Null érték nem megengedett!");
- }
- public void iro_kereses(string s)
- {
- foreach (var x in polc)
- {
- Console.WriteLine("A keresés eredménye:");
- if (x.iro == s)
- {
- Console.WriteLine("Író: {0}, Cím: {1}, Műfaja: {2}, Kiadás éve: {3}, Ára: {4} Ft",
- x.iro, x.cim, x.mufaj, x.ev, x.ar);
- }
- }
- }
- public void cim_kereses(string s)
- {
- Console.WriteLine("A keresés eredménye:");
- foreach (var x in polc)
- {
- if (x.cim == s)
- {
- Console.WriteLine("Író: {0}, Cím: {1}, Műfaja: {2}, Kiadás éve: {3}, Ára: {4} Ft",
- x.iro, x.cim, x.mufaj, x.ev, x.ar);
- }
- }
- }
- public void ev_kereses(int s)
- {
- Console.WriteLine("A keresés eredménye:");
- foreach (var x in polc)
- {
- if (x.ev == s)
- {
- Console.WriteLine("Író: {0}, Cím: {1}, Műfaja: {2}, Kiadás éve: {3}, Ára: {4} Ft",
- x.iro, x.cim, x.mufaj, x.ev, x.ar);
- }
- }
- }
- public void ar_kereses(int s)
- {
- Console.WriteLine("A keresés eredménye:");
- foreach (var x in polc)
- {
- if (x.ar == s)
- {
- Console.WriteLine("Író: {0}, Cím: {1}, Műfaja: {2}, Kiadás éve: {3}, Ára: {4} Ft",
- x.iro, x.cim, x.mufaj, x.ev, x.ar);
- }
- }
- }
- public void ev_kereses(mufajok s)
- {
- Console.WriteLine("A keresés eredménye:");
- foreach (var x in polc)
- {
- if (x.mufaj == s)
- {
- Console.WriteLine("Író: {0}, Cím: {1}, Műfaja: {2}, Kiadás éve: {3}, Ára: {4} Ft",
- x.iro, x.cim, x.mufaj, x.ev, x.ar);
- }
- }
- }
- }
- public enum mufajok { Mese, Regény, Történelmi, Szakkönyv }
- class Konyv
- {
- protected string _iro;
- protected string _cim;
- protected int _ev;
- protected int _ar;
- public mufajok mufaj;
- // constructors
- public Konyv(string piro, string pcim, int pev, int par, mufajok pmufaj)
- {
- _iro = piro;
- _cim = pcim;
- _ev = pev;
- _ar = par;
- mufaj = pmufaj;
- }
- public Konyv(string piro, string pcim, int par, mufajok pmufaj)
- : this(piro, pcim, DateTime.Now.Year, par, pmufaj) { }
- // properties
- public string iro
- {
- get
- {
- return _iro;
- }
- set
- {
- if (value != null)
- {
- if (value.Length > 5 && value.Length < 50)
- {
- _iro = value;
- }
- }
- else throw new Exception("Nem megfelelő író névhossz!");
- }
- }
- public string cim
- {
- get
- {
- return _cim;
- }
- set
- {
- if (value != null)
- {
- if (value.Length > 5 && value.Length < 50)
- {
- _cim = value;
- }
- }
- else throw new Exception("Nem megfelelő címhossz!");
- }
- }
- public int ev
- {
- get
- {
- return _ev;
- }
- set
- {
- if (1100 <= value && value <= DateTime.Now.Year)
- {
- _ev = value;
- }
- else throw new Exception("Nem megfelelő év!");
- }
- }
- public int ar
- {
- get
- {
- return _ar;
- }
- set
- {
- if ((value <= 0 && 0 <= 15000) && value % 5 == 0)
- {
- _ar = value;
- }
- else throw new Exception("Nem megfelelő ár!");
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Random rand = new Random();
- List<Konyv> konyvespolc = new List<Konyv>();
- Konyvespolc kp = new Konyvespolc();
- string iro, cim;
- int ev, ar;
- for (int i = 0; i < 20; i++)
- {
- iro = "Író" + rand.Next(100, 510).ToString();
- cim = String.Format("cím{0}", rand.Next(100, 901));
- ev = rand.Next(1100, DateTime.Now.Year + 1);
- ar = rand.Next(600, 1601) * 5;
- mufajok mufaj = (mufajok)rand.Next(0, 4);
- Konyv k = new Konyv(iro, cim, ev, ar, mufaj);
- konyvespolc.Add(k);
- kp.hozzaad(k);
- }
- foreach (var x in konyvespolc)
- {
- Console.WriteLine("Író: {0}, Cím: {1}, Műfaja: {2}, Kiadás éve: {3}, Ára: {4} Ft",
- x.iro, x.cim, x.mufaj, x.ev, x.ar);
- }
- while (true)
- {
- Console.WriteLine(Environment.NewLine);
- Console.WriteLine(Environment.NewLine);
- Console.WriteLine("Menü:");
- Console.WriteLine("1. A könyvespolc könyvei árának összege");
- Console.WriteLine("2. Keresés");
- int menü = int.Parse(Console.ReadLine());
- // Konyvespolc kp = new Konyvespolc();
- switch (menü)
- {
- case 1:
- Console.WriteLine(Environment.NewLine);
- Console.WriteLine("A könyvek ára összesen {0}", kp.osszar);
- break;
- case 2:
- Console.WriteLine(Environment.NewLine);
- Console.WriteLine("Mi szerint végezzem a keresést?");
- Console.WriteLine("\t1. Író szerint");
- Console.WriteLine("\t2. Cím szerint");
- Console.WriteLine("\t3. Év szerint");
- Console.WriteLine("\t4. Ár szerint");
- menü = int.Parse(Console.ReadLine());
- string keres_szo;
- int keres_szam;
- Console.WriteLine(Environment.NewLine);
- switch (menü)
- {
- case 1:
- Console.Write("Keresett szó: ");
- keres_szo = Console.ReadLine();
- Console.WriteLine();
- kp.iro_kereses(keres_szo);
- break;
- case 2:
- Console.Write("Keresett szó: ");
- keres_szo = Console.ReadLine();
- Console.WriteLine();
- kp.cim_kereses(keres_szo);
- break;
- case 3:
- Console.Write("Keresett évszám: ");
- keres_szam = int.Parse(Console.ReadLine());
- Console.WriteLine();
- kp.ev_kereses(keres_szam);
- break;
- case 4:
- Console.Write("Keresett ármennyiség: ");
- keres_szam = int.Parse(Console.ReadLine());
- Console.WriteLine();
- kp.ar_kereses(keres_szam);
- break;
- default:
- Console.WriteLine("Hibás menüpont!");
- break;
- }
- break;
- default:
- Console.WriteLine("Hibás menüpont!");
- break;
- }
- Console.ReadLine();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement