2. oldal / 11
21. tétel: Betűszámlálás fájlból
Feladat: Írjon egy programot szöveges környezetben, amely bekér egy karaktert a billentyűzetről, majd a SZOVEG1.TXT fájl beolvasása után megszámolja, hogy hányszor fordult elő az adott karakter a fájlban.
Feltételezheti, hogy a fájl létezik, legalább 10, maximum 1000 karakter van benne. Az adatok valódiságát nem kell ellenőriznie. A feladat során a kis- és nagybetűk különbözőnek számítanak. 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 21tetel { class Program { static void Main(string[] args) { // 21. tétel: Betűszámlálás fájlból Console.Write("Kérem, adjon meg egy karaktert! "); string ezlesz = Console.ReadLine(); //Szöveget a legegyszerűbb beolvasni. char kar = ezlesz[0]; //Ezt fogjuk ellenőrizni - ez a szöveg 1. karaktere StreamReader bevisz = new StreamReader("SZOVEG1.TXT"); string s; //Beolvasáshoz szükséges segédváltozó int karszam = 0; //Karakterek száma do { s = bevisz.ReadLine(); for (int i = 0; i < s.Length; i++) { if (s[i]==kar) { karszam++; } } } while (!bevisz.EndOfStream); bevisz.Close(); Console.WriteLine("Talált {0} katakterek száma a szövegben: {1}",kar, karszam); Console.WriteLine("\n\nA program futása véget ért!"); } } }
A SZOVEG1.TXT fájl egy lehetséges tartalma:
Lásd a 20.tételnél!