Advertisement
Levi0227

Ajándékok

Dec 7th, 2023
1,188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.83 KB | Source Code | 0 0
  1. namespace KohariLevente_P99J7Y_B
  2. {
  3.     internal class Program
  4.     {
  5.         static void Main(string[] args)
  6.         {
  7.             //Termek t = new Termek("Szaloncukor", 500, "1");
  8.             //Console.WriteLine(t.SzoveggeAlakit());
  9.  
  10.             Ajandekcsomag a = new Ajandekcsomag("Mary Christmas", "csomag.txt");
  11.             a.Adatok("maryChristmas.txt");
  12.         }
  13.     }
  14. }
  15.  
  16.  
  17.  
  18. ----------------------------------------------------------------------------------
  19.  
  20.  
  21.  
  22. namespace KohariLevente_P99J7Y_B
  23. {
  24.     enum TermekTipus
  25.     {
  26.         Edesseg, Ital, Kozmetikum
  27.     }
  28.     internal class Termek
  29.     {
  30.         string megnevezes;
  31.         int tomeg;
  32.         TermekTipus tipus;
  33.  
  34.         public string Megnevezes { get { return megnevezes; } set { megnevezes = value; } }
  35.         public int Tomeg { get { return tomeg; } }
  36.         public TermekTipus Tipus { get { return tipus; } }
  37.  
  38.         public Termek(string megnevezes, int tomeg, string enumTipus)
  39.         {
  40.             this.megnevezes = megnevezes;
  41.             this.tomeg = tomeg;
  42.             this.tipus = (TermekTipus)Enum.Parse(typeof(TermekTipus),enumTipus);
  43.         }
  44.  
  45.         public string SzoveggeAlakit()
  46.         {
  47.             string visszaad = $"{megnevezes} ({tipus}, {tomeg} g)";
  48.             return visszaad;
  49.         }
  50.     }
  51. }
  52.  
  53.  
  54.  
  55. ----------------------------------------------------------------------------------
  56.  
  57.  
  58.  
  59. namespace KohariLevente_P99J7Y_B
  60. {
  61.     internal class Ajandekcsomag
  62.     {
  63.         string cimzett;
  64.         List<Termek> termekek;
  65.  
  66.         public string Cimzett { get { return cimzett; } }
  67.  
  68.         private void TermekFelvetel(string s)
  69.         {
  70.             string[] sor = s.Split(';');
  71.             termekek.Add(new Termek(sor[2], int.Parse(sor[1]), sor[0]));
  72.         }
  73.  
  74.         public Ajandekcsomag(string cimzett, string fajl)
  75.         {
  76.             this.cimzett = cimzett;
  77.             termekek = new List<Termek>();
  78.  
  79.             string[] sorok = File.ReadAllLines(fajl);
  80.             foreach (var e in sorok)
  81.             {
  82.                 TermekFelvetel(e);
  83.             }
  84.             //for (int i = 0; i < termekek.Count; i++)
  85.             //{
  86.             //    TermekFelvetel(sorok[i]);
  87.             //}
  88.         }
  89.  
  90.         private int Ossztomeg(TermekTipus tipus)
  91.         {
  92.             int osszes = 0;
  93.             for (int i = 0; i < termekek.Count; i++)
  94.             {
  95.                 if (termekek[i].Tipus == tipus)
  96.                 {
  97.                     osszes += termekek[i].Tomeg;
  98.                 }
  99.             }
  100.  
  101.             return osszes;
  102.         }
  103.  
  104.         public int LegnehezebbTermek()
  105.         {
  106.             Termek legnehezebb = termekek[0];
  107.  
  108.             for (int i = 0; i < termekek.Count; i++)
  109.             {
  110.                 if (legnehezebb.Tomeg < termekek[i].Tomeg)
  111.                 {
  112.                     legnehezebb = termekek[i];
  113.                 }
  114.             }
  115.  
  116.             return legnehezebb.Tomeg;
  117.         }
  118.  
  119.         private void KozmetikumokElore()
  120.         {
  121.             List<Termek> temp = new List<Termek>();
  122.  
  123.             for (int i = 0; i < termekek.Count; i++)
  124.             {
  125.                 if (termekek[i].Tipus.ToString() == "Kozmetikum")
  126.                 {
  127.                     temp.Add(termekek[i]);
  128.                 }
  129.             }
  130.  
  131.             for (int i = 0; i < termekek.Count; i++)
  132.             {
  133.                 if (termekek[i].Tipus.ToString() != "Kozmetikum")
  134.                 {
  135.                     temp.Add(termekek[i]);
  136.                 }
  137.             }
  138.  
  139.             for (int i = 0; i < termekek.Count; i++)
  140.             {
  141.                 termekek[i] = temp[i];
  142.             }
  143.         }
  144.        
  145.         public void Adatok(string kimenetFajl)
  146.         {
  147.             KozmetikumokElore();
  148.             string szoveg = $"Csomag címzettje: {cimzett}\n\n";
  149.  
  150.             for (int i = 0; i < termekek.Count; i++)
  151.             {
  152.                 szoveg += $"{termekek[i].SzoveggeAlakit()}\n";
  153.             }
  154.  
  155.             szoveg += "\n";
  156.  
  157.             int edesseg = 0;
  158.             int ital = 0;
  159.             int kozmetikum = 0;
  160.  
  161.             for (int i = 0; i < termekek.Count; i++)
  162.             {
  163.                 if (termekek[i].Tipus.ToString() == "Edesseg")
  164.                 {
  165.                     edesseg += termekek[i].Tomeg;
  166.                 }
  167.  
  168.                 if (termekek[i].Tipus.ToString() == "Ital")
  169.                 {
  170.                     ital += termekek[i].Tomeg;
  171.                 }
  172.  
  173.                 if (termekek[i].Tipus.ToString() == "Kozmetikum")
  174.                 {
  175.                     kozmetikum += termekek[i].Tomeg;
  176.                 }
  177.             }
  178.            
  179.             szoveg += $"- Edesseg össztömeg: {edesseg} g\n- Ital össztömeg: {ital} g\n- Kozmetikum össztömeg: {kozmetikum} g";
  180.  
  181.             File.WriteAllText(kimenetFajl, szoveg);
  182.         }
  183.     }
  184. }
  185.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement