using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { public class NapiMunka { public static int KeszultDb { get; private set; } public int Nap { get; private set; } public int HarangKesz { get; private set; } public int HarangEladott { get; private set; } public int AngyalkaKesz { get; private set; } public int AngyalkaEladott { get; private set; } public int FenyofaKesz { get; private set; } public int FenyofaEladott { get; private set; } public NapiMunka(string sor) { string[] s = sor.Split(';'); Nap = Convert.ToInt32(s[0]); HarangKesz = Convert.ToInt32(s[1]); HarangEladott = Convert.ToInt32(s[2]); AngyalkaKesz = Convert.ToInt32(s[3]); AngyalkaEladott = Convert.ToInt32(s[4]); FenyofaKesz = Convert.ToInt32(s[5]); FenyofaEladott = Convert.ToInt32(s[6]); NapiMunka.KeszultDb += HarangKesz + AngyalkaKesz + FenyofaKesz; } public int NapiBevetel() { return -(HarangEladott * 1000 + AngyalkaEladott * 1350 + FenyofaEladott * 1500); } } public static class Data { public static List adatok = new List(); } class Program { public static void AdatFeltolt() { FileStream fileStream = new FileStream("..\\diszek.txt", FileMode.Open, FileAccess.Read); StreamReader streamReader = new StreamReader(fileStream); string sor = streamReader.ReadLine(); while (sor != null) { NapiMunka melo = new NapiMunka(sor); Data.adatok.Add(melo); sor = streamReader.ReadLine(); } streamReader.Close(); fileStream.Close(); } public static void Feladat4() { Console.WriteLine($"4.feladat: Összesen {NapiMunka.KeszultDb} darab dísz készült"); } public static bool NemKeszultDisz() { foreach (var item in Data.adatok) { if (item.AngyalkaKesz == 0 && item.FenyofaKesz == 0 && item.HarangKesz == 0) { return true; } } return false; } public static void Feladat5() { if (NemKeszultDisz()) { Console.WriteLine($"5.feladat: Volt olyan nap amikor egyetlen dísz sem készült."); } else { Console.WriteLine($"5.feladat: Nem volt olyan nap amikor egyetlen dísz sem készült."); } } public static int Beker() { Console.Write("Adja meg a keresett napot [1 ... 40]: "); string str = Console.ReadLine(); return int.Parse(str); } public static int ValidBeker() { while (true) { int num = Beker(); if (num < 41 && num > 0) { return num; } } } public static void Feladat6() { Console.WriteLine("6.feladat:"); int num = ValidBeker(); int harang = 0; int angyal = 0; int fenyo = 0; for (int i = 0; i < num; i++) { angyal += Data.adatok[i].AngyalkaKesz + Data.adatok[i].AngyalkaEladott; harang += Data.adatok[i].HarangEladott + Data.adatok[i].HarangKesz; fenyo += Data.adatok[i].FenyofaKesz + Data.adatok[i].FenyofaEladott; } Console.WriteLine($"\tA(z) {num}. nap végén {harang} harang, {angyal} angyalka és {fenyo} fenyőfa maradt készleten."); } public static int AngyalEladottdb() { int cntr = 0; foreach (var item in Data.adatok) { cntr += item.AngyalkaEladott; } return cntr; } public static int HaranglEladottdb() { int cntr = 0; foreach (var item in Data.adatok) { cntr += item.HarangEladott; } return cntr; } public static int FenyoEladottdb() { int cntr = 0; foreach (var item in Data.adatok) { cntr += item.FenyofaEladott; } return cntr; } public static void Feladat7() { int harang = HaranglEladottdb(); int fenyo = FenyoEladottdb(); int angyal = AngyalEladottdb(); int[] eladottak = { harang, fenyo, angyal }; Console.WriteLine($"7.feladat: Legtöbbet eladott dísz: {Math.Abs(eladottak.Min())} darab"); List indexek = new List(); for (int i = 0; i < eladottak.Length; i++) { if (eladottak[i] == eladottak.Min()) { indexek.Add(i); } } string[] megnevezesek = { "Harang", "Fenyőfa", "Angyalka" }; foreach (var item in indexek) { Console.WriteLine($"\t{ megnevezesek[item]}"); } } public static void Feladat8() { FileStream fileStream = new FileStream("bevetel.txt", FileMode.Create, FileAccess.Write); StreamWriter streamWriter = new StreamWriter(fileStream); int cntr = 0; foreach (var item in Data.adatok) { if (item.NapiBevetel() >= 10000) { cntr++; streamWriter.WriteLine($"{item.Nap};{item.NapiBevetel()}"); } } streamWriter.WriteLine($"{cntr} napon volt legalább 10000 Ft a bevétel."); streamWriter.Close(); fileStream.Close(); } static void Main(string[] args) { AdatFeltolt(); Feladat4(); Feladat5(); Feladat6(); Feladat7(); Feladat8(); } } }