Segítség! C# programozás, tudnátok segíteni egy feladatban?
Egy szövegfájlban (aru.txt) gyümölcsök nevei vannak, a következő sorban található, hogy hány kg áll rendelkezésre belőlük, a harmadikban pedig az ár szerepel. Olvassuk be ezeket egy struktúrából álló tömbbe, majd számoljuk ki a készlet összértékét (azaz adjuk össze a kg*ár értékeket)! Az eredményt jelenítsük meg a képernyőn!
Mindössze addig jutottam elméletben, hogy egy 2d-s tömbre lesz szükségem az adattároláshoz, deklarálni kell, majd streamrederrel beolvasni soronként a fájlt a tömb megfelelő soraiba, vagy 3 sor adatszerkezetet használok. A feltöltés után ciklusokkal, a kívánt értéket tárolom a vázolóban, majd kiíratom.





Én hirtelen ezt dobtam össze, írd át hogy jó legyen neked:
static void Main(string[] args)
{
string[] adatok = File.ReadAllText(@"c:\aa.txt").Split('\n');
int meret = (adatok.Length / 3);
if(meret %3 != 0)
{
throw new Exception("Hibás bemeneti fájl.");
}
Gyumolcs[] gyumolcsok = new Gyumolcs[meret];
for (int i = 0; i < adatok.Length; i+=3)
{
Gyumolcs gyumolcs = new Gyumolcs();
gyumolcs.Nev = adatok[i].TrimEnd();
int tomeg = 0;
if (int.TryParse(adatok[i + 1], out tomeg))
gyumolcs.Tomeg = tomeg;
else
throw new Exception("Hibás a tömeg.");
int ar = 0;
if (int.TryParse(adatok[i + 2], out ar))
gyumolcs.Ar = ar;
else
throw new Exception("Hibás ár.");
gyumolcsok[i / 3] = gyumolcs;
}
int ossz = 0;
foreach(Gyumolcs gyumolcs in gyumolcsok)
{
ossz += gyumolcs.Tomeg * gyumolcs.Ar;
}
Console.WriteLine("Összesen: " + ossz);
Console.Read();
}
public struct Gyumolcs
{
public string Nev { get; set; }
public int Tomeg { get; set; }
public int Ar { get; set; }
}
Köszönöm a segítséget! Annyi kérdésem lenne még, hogy a legdrágább árut, a legnagyobb értékű árukészletet
(ahol az egységár és a mennyiség szorzata a legnagyobb értéket adja) hogyan tudnám még ebbe beleszőni?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!