6. oldal / 11
5. tétel: Összegzés fájlból
Feladat: Írjon egy programot szöveges környezetben, mely beolvas max. 100 egész számot az ADAT.TXT fájlból, majd összegezze a beolvasott számokat. Írja ki, hogy hány számot olvasott be, majd írja ki a számok összegét is. Feltételezheti, hogy a fájl létezik, legalább 1 szám van benne és az adatok csak egész számokat tartalmaznak, valamint minden egyes szám új sorban van. A működő programot és a kódot mutassa be tanárának!
Egy lehetséges megoldás Visual C# nyelven:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; //Ez kell a fájlműveletekhez namespace 4tetel { class Program { static void Main(string[] args) { // 5. tétel: Összegzés fájlból StreamReader bevisz = new StreamReader("ADAT.TXT"); int darab = 0; //Beolvasott számok darabszáma int osszeg = 0; //A beolvasottak összege int i; //Ideiglenes változó string s; //Beolvasáshoz segédváltozó do { s = bevisz.ReadLine(); i = Convert.ToInt32(s); //Console.WriteLine(s); //Csak tesztelésre kellett darab++; osszeg += i; } //A fájl beolvasását érdemes elöltesztelőre tenni, hogy ne szálljon el hibával. while (!bevisz.EndOfStream); bevisz.Close(); //Fájl bezárása Console.WriteLine("Beolvasott számok mennyisége: {0}",darab); Console.WriteLine("Beolvasott számok összege: {0}",osszeg); Console.WriteLine("A program futása véget ért!"); } } }
Az ADAT.TXT fájl egy lehetséges tartalma:
5 4 1 3 -2 5 6 11 9 2 8 -4 5 -2 3 0 5 -8 1