using System;
using System.Collections.Generic;
using System.IO;
namespace struk_fájlkez_gyak
{
class Program
{
struct Áru
{
public string név;
public int db;
public int ár;
public int garancia;
public Áru(string neve, int db, int egységár, int gar)
{
this.név = neve;
this.db = db;
ár =
egységár;
garancia
= gar;
}
public void Kiír()
{
Console.WriteLine("------------------------------------");
Console.WriteLine("Név: {0}", név);
Console.WriteLine("Mennyiség: {0}
db", db);
Console.WriteLine("Egységár: {0}
Ft", ár);
Console.WriteLine("Összesen: {0}
Ft", this.Összes());
Console.WriteLine("Granacia:
{0} év", garancia);
}
public int Összes()
{
return ár *
db;
}
}
static List<Áru> Beolvas(string fájlnév)
{
List<Áru> vissza = new List<Áru>();
try
{
StreamReader sr = new StreamReader(fájlnév);
while (!sr.EndOfStream)
{
try
{
string[]
sor = sr.ReadLine().Split('-');
Áru ideiglenes = new Áru(sor[0], int.Parse(sor[1]),
int.Parse(sor[2]),
int.Parse(sor[3]));
vissza.Add(ideiglenes);
}
catch (Exception e)
{
Áru ideiglenes = new Áru("Hiba történt a termék beolvasása közben", 0, 0, 0);
vissza.Add(ideiglenes);
}
}
sr.Close();
}
catch (Exception e)
{
Console.WriteLine("Hiba történt: " + e.Message);
}
return vissza;
}
static void Ír(string fájlnév, string szöveg)
{
try
{
StreamWriter sw = new StreamWriter(fájlnév);
sw.WriteLine(szöveg);
sw.Flush(); sw.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
static void Main(string[] args)
{
Console.Write("Adja meg a fájl nevét,
kiterjesztéssel: ");
string fájlnév
= Console.ReadLine();
Console.WriteLine("Beolvasás
folyamatban...");
List<Áru> raktár = Beolvas(fájlnév);
ulong összeg
= 0;
foreach (Áru item
in raktár)
{
item.Kiír();
összeg
+= (ulong)item.Összes();
}
Ír("összesített.txt", összeg.ToString());
Console.ReadKey();
}
}
}