Advertisement
csaki

Pálinkás házi proggyak

Mar 5th, 2013
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.36 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace II_4_gyak_házi
  7. {
  8.     public enum gyumolcsfajta { Szilva, Barack, Körte, Alma, Eper, Vegyes }
  9.  
  10.     class Palinka
  11.     {
  12.         protected int _fok;
  13.         protected int _evjarat;
  14.         protected int _mennyiseg;
  15.         protected int _ar;
  16.         public gyumolcsfajta gyumolcs;
  17.  
  18.         #region Properties
  19.         public int fok
  20.         {
  21.             get
  22.             {
  23.                 return _fok;
  24.             }
  25.  
  26.             set
  27.             {
  28.                 if (30 <= value && value <= 85)
  29.                 {
  30.                     _fok = value;
  31.                 }
  32.                 else throw new Exception("110 százalék, huhúúúú! Nemjó mondom!");
  33.             }
  34.         }
  35.  
  36.         public int evjarat
  37.         {
  38.             get
  39.             {
  40.                 return _evjarat;
  41.             }
  42.             set
  43.             {
  44.                 if (2000 <= value && value <= DateTime.Now.Year)
  45.                 {
  46.                     _evjarat = value;
  47.                 }
  48.                 else throw new Exception("Há nem túl régi az a pálesz? Vagy tán a jövőben főzöl?");
  49.             }
  50.         }
  51.  
  52.         public int mennyiseg
  53.         {
  54.             get
  55.             {
  56.                 return _mennyiseg;
  57.             }
  58.             set
  59.             {
  60.                 if (1 <= value && value <= 100)
  61.                 {
  62.                     _mennyiseg = value;
  63.                 }
  64.                 else throw new Exception("Nem jó a mennyi segg! (Dehogynemjó...)");
  65.             }
  66.         }
  67.  
  68.         public int ar
  69.         {
  70.             get
  71.             {
  72.                 return _ar;
  73.             }
  74.             set
  75.             {
  76.                 if (100 <= value && value <= 1000)
  77.                 {
  78.                     _ar = value;
  79.                 }
  80.                 else throw new Exception("Há nemjáú a zár!");
  81.             }
  82.         }
  83.         #endregion
  84.  
  85.         #region Constructors
  86.         public Palinka() { }
  87.         public Palinka(int pfok, int pev, int pmenny, int par, gyumolcsfajta pgyum)
  88.         {
  89.             fok = pfok;
  90.             evjarat = pev;
  91.             mennyiseg = pmenny;
  92.             ar = par;
  93.             gyumolcs = pgyum;
  94.         }
  95.  
  96.         public Palinka(int pmenny, int par) : this(50, DateTime.Now.Year, pmenny, par, (gyumolcsfajta)0) { }
  97.         #endregion
  98.     }
  99.  
  100.  
  101.  
  102.  
  103.     class Raktar
  104.     {
  105.         protected List<Palinka> pálista = new List<Palinka>();
  106.         protected int _kassza;
  107.  
  108.         public int kassza
  109.         {
  110.             get
  111.             {
  112.                 return _kassza;
  113.             }
  114.             set
  115.             {
  116.                 if (value > 0)
  117.                 {
  118.                     _kassza = value;
  119.                 }
  120.                 else throw new Exception("Nem lehet negatív értéket hozzáadni!");
  121.             }
  122.         }
  123.  
  124.        
  125.         public int raktarmeret
  126.         {
  127.             get
  128.             {
  129.                 return pálista.Count;
  130.             }          
  131.         }
  132.  
  133.         public void hozzaad(Palinka p)
  134.         {
  135.             if (p != null)
  136.             {
  137.                 pálista.Add(p);
  138.             }
  139.             else throw new Exception("Nemá hogy nullérték, na!");
  140.         }
  141.  
  142.         public void torles(int x)
  143.         {
  144.             pálista.RemoveAt(x);
  145.         }
  146.  
  147.         public Palinka kivalaszt(int x)
  148.         {
  149.             return pálista[x];
  150.         }
  151.     }
  152.  
  153.     class Program
  154.     {
  155.         static void Main(string[] args)
  156.         {
  157.             Random rand = new Random();
  158.             Raktar r = new Raktar();
  159.             while (true)
  160.             {
  161.                 Console.Clear();
  162.                 Console.WriteLine("Étlap:");
  163.                 Console.WriteLine("1. Random hozzájadása a pálinka");
  164.                 Console.WriteLine("2. Manujális hozzájjadása pájikának'aa");
  165.                 Console.WriteLine("3. IGYUNK VAZZE");
  166.                 Console.WriteLine("4. Na oszt mönnyit kerestűnk máma?");
  167.                 Console.WriteLine();
  168.                 int menu = int.Parse(Console.ReadLine());
  169.                
  170.                 switch (menu)
  171.                 {
  172.                     case 1:
  173.                     Console.WriteLine("Oszt mennyit rakjunk aja raktárba be?");
  174.                     int x = int.Parse(Console.ReadLine());
  175.  
  176.                     for (int i = 0; i < x; i++)
  177.                     {
  178.                         Palinka p = new Palinka(rand.Next(30, 86), rand.Next(2000, (DateTime.Now.Year + 1)),
  179.                             rand.Next(10, 101), rand.Next(100, 1001), (gyumolcsfajta)rand.Next(6));
  180.                         r.hozzaad(p);
  181.                         Console.WriteLine("Gyümölcs: {0}\tFok: {1}%\tÉv: {2}\tMennyiség: {3}\tAr: {4} Ft",
  182.                             p.gyumolcs, p.fok, p.evjarat, p.mennyiseg, p.ar);
  183.                     }
  184.                    
  185.                     Console.WriteLine();
  186.                     Console.WriteLine("Mevvagyunk főnök!");
  187.                     break;
  188.  
  189.                     case 2:
  190.                     // TODO manuális hozzáadás
  191.                     break;
  192.  
  193.                     case 3:
  194.                     int hanyadik;
  195.                     int listcount = r.raktarmeret;
  196.                     do
  197.                     {
  198.                         Console.WriteLine("Oszt önnyi hely van a raktárba': {0}", listcount);
  199.                         Console.WriteLine("Aztán m'éket akarod meginni? A számát mondjad!");
  200.                         hanyadik = int.Parse(Console.ReadLine());
  201.                         if (0 > hanyadik || hanyadik > r.raktarmeret)
  202.                         {
  203.                             Console.WriteLine("Nemjó az érték öcsisajt!");
  204.                         }
  205.                     }
  206.                     while (0 > hanyadik || hanyadik > r.raktarmeret);
  207.  
  208.                     Palinka valasztott = new Palinka();
  209.                     valasztott = r.kivalaszt(hanyadik);
  210.                     Console.WriteLine("Ezt a pálinkát választottad:\nGyümölcs: {0}\nFok: {1}%\nÉvjárat: {2}\nMennyiség: {3} deciliter\nÁr: {4} Ft / deciliter",
  211.                         valasztott.gyumolcs, valasztott.fok, valasztott.evjarat, valasztott.mennyiseg, valasztott.ar);
  212.  
  213.                     int deci;
  214.                     do
  215.                     {
  216.                         Console.WriteLine(Environment.NewLine);
  217.                         Console.WriteLine("Hány deci pálesz gyüjjön?");
  218.                         deci = int.Parse(Console.ReadLine());
  219.                         if (1 > deci || deci > valasztott.mennyiseg)
  220.                         {
  221.                             Console.WriteLine("Naaa, tessék legalább egy decit inni, de nem ám többet mint amennyi van!");
  222.                         }
  223.                     }
  224.                     while (1 > deci || deci > 100);
  225.                    
  226.                     valasztott.mennyiseg -= deci;
  227.                     r.kassza += deci * valasztott.ar;
  228.  
  229.                     Console.WriteLine("Ennyit hagytá' meg: {0}", valasztott.mennyiseg);
  230.  
  231.                     if (valasztott.mennyiseg == 0)
  232.                     {
  233.                         r.torles(hanyadik);
  234.                     }
  235.  
  236.                     Console.WriteLine("A kasszába ennyi van-e: {0} Ft", r.kassza);
  237.                     break;
  238.  
  239.                     case 4:
  240.                     Console.WriteLine("Na, ma önnyit kerestünk: {0} Ft", r.kassza);
  241.                     Console.WriteLine("Jóó mi? Na azt viszlát a kocsmában!");
  242.                     break;
  243.                 }
  244.                 Console.ReadLine();
  245.             }
  246.         }
  247.     }
  248. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement