ProgaOra/20240205/ConsoleApp1/Program.cs

212 lines
6.3 KiB
C#
Raw Normal View History

2024-02-05 10:18:52 +00:00
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<NapiMunka> adatok = new List<NapiMunka>();
}
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<int> indexek = new List<int>();
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();
}
}
}