Levi0227

Coctail

Dec 6th, 2023 (edited)
836
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.57 KB | Source Code | 0 0
  1. namespace KohariLevente_P99J7Y_A
  2. {
  3.     internal class Program
  4.     {
  5.         static void Main(string[] args)
  6.         {
  7.             //Osszetevo o = new Osszetevo("fehér rum", 40, "2");
  8.             //Console.WriteLine(o.Szovegkent());
  9.  
  10.             Koktel k = new Koktel("Pina-colada", "osszetevok.txt");
  11.             k.ReceptNyomtatas("Pina-colada");
  12.         }
  13.     }
  14. }
  15.  
  16.  
  17.  
  18. --------------------------------------------------------------------
  19.  
  20.  
  21.  
  22. namespace KohariLevente_P99J7Y_A
  23. {
  24.     enum OsszetevoFajta
  25.     {
  26.         Folyadek = 1, Alkohol = 2, Egyeb = 3
  27.     }
  28.     internal class Osszetevo
  29.     {
  30.         string osszetevok;
  31.         int mennyiseg;
  32.         OsszetevoFajta osszetevoFajta;
  33.  
  34.         public string Osszetevok
  35.         {
  36.             get => osszetevok;
  37.             set
  38.             {
  39.                 if (value != "")
  40.                 {
  41.                     osszetevok = value;
  42.                 }
  43.             }
  44.         }
  45.  
  46.         public int Mennyiseg { get => mennyiseg; }
  47.  
  48.         public OsszetevoFajta PropertyOsszetevoFajta { get => osszetevoFajta; }
  49.  
  50.         public Osszetevo(string osszetevok, int mennyiseg, string fajta)
  51.         {
  52.             this.osszetevok = osszetevok;
  53.             this.mennyiseg = mennyiseg;
  54.             this.osszetevoFajta = (OsszetevoFajta)Enum.Parse(typeof(OsszetevoFajta),fajta);
  55.         }
  56.  
  57.         public string Szovegkent()
  58.         {
  59.             string visszaad = $"{mennyiseg} ml {osszetevok} ({osszetevoFajta})";
  60.             return visszaad;
  61.         }
  62.     }
  63. }
  64.  
  65.  
  66.  
  67. --------------------------------------------------------------------
  68.  
  69.  
  70.  
  71. namespace KohariLevente_P99J7Y_A
  72. {
  73.     internal class Koktel
  74.     {
  75.         string nev;
  76.         List<Osszetevo> szuksegesOsszetevok = new List<Osszetevo>();
  77.  
  78.         public string Nev { get => nev; }
  79.  
  80.         private void Hozzaad(string s)
  81.         {
  82.             string[] sor = s.Split(',');
  83.            
  84.             szuksegesOsszetevok.Add(new Osszetevo(sor[1], int.Parse(sor[2]), sor[0]));
  85.         }
  86.  
  87.         public Koktel(string nev, string file)
  88.         {
  89.             this.nev = nev;
  90.  
  91.             string[] sor = File.ReadAllLines(file);
  92.             //for (int i = 0; i < sor.Length; i++)
  93.             //{
  94.             //    Hozzaad(sor[i]);
  95.             //}
  96.             foreach (var e in sor)
  97.             {
  98.                 Hozzaad(e);
  99.             }
  100.         }
  101.  
  102.         private int OsszAlkoholtartalom()
  103.         {
  104.             int osszes = 0;
  105.             for (int i = 0; i < szuksegesOsszetevok.Count; i++)
  106.             {
  107.                 if (szuksegesOsszetevok[i].PropertyOsszetevoFajta.ToString() == "Alkohol")
  108.                 {
  109.                     osszes += szuksegesOsszetevok[i].Mennyiseg;
  110.                 }
  111.             }
  112.  
  113.             return osszes;
  114.         }
  115.  
  116.         public string MaximalisMennyiseg()
  117.         {
  118.             int maxMennyiseg = szuksegesOsszetevok[0].Mennyiseg;
  119.             int index = 0;
  120.             for (int i = 0; i < szuksegesOsszetevok.Count; i++)
  121.             {
  122.                 if (maxMennyiseg < szuksegesOsszetevok[i].Mennyiseg)
  123.                 {
  124.                     maxMennyiseg = szuksegesOsszetevok[i].Mennyiseg;
  125.                     index = i;
  126.                 }
  127.             }
  128.  
  129.             return szuksegesOsszetevok[index].PropertyOsszetevoFajta.ToString();
  130.         }
  131.  
  132.         private void Csoportosit()
  133.         {
  134.             List<Osszetevo> temp = new List<Osszetevo>();
  135.             for (int i = 0; i < szuksegesOsszetevok.Count; i++)
  136.             {
  137.                 if (szuksegesOsszetevok[i].PropertyOsszetevoFajta.ToString() == "Alkohol")
  138.                 {
  139.                     temp.Add(szuksegesOsszetevok[i]);
  140.                 }
  141.             }
  142.  
  143.             for (int i = 0; i < szuksegesOsszetevok.Count; i++)
  144.             {
  145.                 if (szuksegesOsszetevok[i].PropertyOsszetevoFajta.ToString() != "Alkohol")
  146.                 {
  147.                     temp.Add(szuksegesOsszetevok[i]);
  148.                 }
  149.             }
  150.  
  151.             for (int i = 0; i < szuksegesOsszetevok.Count; i++)
  152.             {
  153.                 szuksegesOsszetevok[i] = temp[i];
  154.             }
  155.         }
  156.  
  157.         public void ReceptNyomtatas(string kimenet)
  158.         {
  159.             string szoveg = "";
  160.             Csoportosit();
  161.             for (int i = 0; i < szuksegesOsszetevok.Count; i++)
  162.             {
  163.                 szoveg += $"{szuksegesOsszetevok[i].Szovegkent()}\n";
  164.             }
  165.  
  166.             szoveg += $"-- Teljes alkoholtartalom: {OsszAlkoholtartalom()} ml --";
  167.  
  168.             File.WriteAllText(kimenet, szoveg);
  169.         }
  170.     }
  171. }
  172.  
Advertisement
Add Comment
Please, Sign In to add comment