6. tétel: Megszámolá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. Írja ki, hogy hány számot olvasott be, majd írja ki a számok közül hány volt pozitív, illetve negatív, valamint nulla. 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 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 6tetel
{
    class Program
    {
        static void Main(string[] args)
        {
            //6. tétel: Megszámolás fájlból
            StreamReader bevisz = new StreamReader("ADAT.TXT");
            int darab = 0;          //Beolvasott számok darabszáma
            int pozitiv = 0;        //Pozitív számok darabszáma
            int negativ = 0;        //Negatív számok darabszáma
            int zerus = 0;          //Nullák darabszáma
            int i;                  //Ideiglenes változó
            string s;               //Beolvasáshoz segédváltozó
            do
            {
                s = bevisz.ReadLine();
                i = Convert.ToInt32(s);
                darab++;
                if (i>0)
                {
                    pozitiv++;
                }
                else if (i<0)
                {
                    negativ++;
                }
                else
                {
                    zerus++;
                }
            }   //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: {0} db", darab);
            Console.WriteLine("Beolvasott pozitív számok: {0} db", pozitiv);
            Console.WriteLine("Beolvasott negatív számok: {0} db", negativ);
            Console.WriteLine("Beolvasott zérusok száma: {0} db", zerus);
            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!