212 lines
6.3 KiB
C#
212 lines
6.3 KiB
C#
|
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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|