9. oldal / 11
8. tétel: Átlagszámítá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. Számolja ki a beolvasott számok átlagát, majd két tizedes jegy pontossággal írassa ki!
Feltételezheti, hogy a fájl létezik, legalább 1 szám van benne és az adatok csak egész számokat tartalmazhatnak, valamint minden egyes szám új sorban van. A beolvasott szám is biztosan egész lesz. 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 8tetel { class Program { static void Main(string[] args) { //8. tétel: Átlagszámítás fájlból StreamReader bevisz = new StreamReader("ADAT.TXT"); int[] szam = new int[100]; //Ebben tároljuk el a beolvasott számokat int darab = 0; //Beolvasott számok darabszáma int osszeg = 0; //A számok összege string s; //Beolvasáshoz segédváltozó do { s = bevisz.ReadLine(); szam[darab]= Convert.ToInt32(s); osszeg = osszeg+ szam[darab]; darab++; } //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("A beolvasott számok átlaga: {0,6:.00}", (double)osszeg/darab); //Max. 6 számjegy lesz és két tizedesjegyet iratunk ki. Console.WriteLine("A program futása véget ért!"); } } }
Az ADAT.TXT fájl egy lehetséges tartalma:
Lásd az 5. tételnél!