8. oldal / 11
7. tétel: Eldönté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. Kérjen be a billentyűzetről egy egész számot, majd írja ki, hogy a megadott szám benne van-e a beolvasottak között. 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 7tetel { class Program { static void Main(string[] args) { //7. tétel: Eldönté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 string s; //Beolvasáshoz segédváltozó do { s = bevisz.ReadLine(); szam[darab]= Convert.ToInt32(s); 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.Write("Kérem adjon meg egy egész számot: "); s = Console.ReadLine(); int ellen = Convert.ToInt32(s); bool bennevan = false; //Benne van-e a keresett szám? for (int i = 0; i < darab; i++) { if (szam[i] == ellen) { bennevan = true; } } if (bennevan == true) { Console.WriteLine("A keresett szám szerepel a megadottak között."); } else { Console.WriteLine("A keresett szám nincs a megadottak között."); } 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!