//Készítette:       Gregorics Tibor
//Dátum:            2009.01.24.
//Feladat:          Egész számok adott számmal vett osztási maradákainak sorozatba írása

#include <fstream>
#include <iostream>
#include "read.h"

using namespace std;

bool notnull(int n) { return n!=0;}

//Feladat: 	        Írjuk ki egy szöveges fájlban megadott egész számoknak egy adott egész számmal vett
//                  osztási maradékait a szabványos kimenetre
//Bemenő adatok:    istream f    - egész számokat tartalmazó szöveges állomány
//                  int n        - adott osztó
//Kimenő adatok:    ostream cout - az osztási maradékokat tartalmazó szabványos kimenet
//Tevékenység:	    Bekéri a fájlnevét és megnyitja azt. Beolvassa az osztót. Bejárja a szöveges állománynak,
//                  mint szekvenciális inputfájlnak az elemeit (egész számokat), egyenként kiszámolja azok
//                  osztási maradékát és kiírja őket a szabványos kimenetre.
int main()
{
    ifstream f;
    bool hiba = true;
    do{
        string fname;
        cout << "Mi a fajl neve: ";
        cin >> fname;
        f.open(fname.c_str());
        if(hiba=f.fail()) {
            cout << "Hibas fajlnev!\n";
            f.clear();
        }
    }while(hiba);

    int k = ReadInt("Adja meg az osztot: ", "Nem nulla egesz szamot kerek!", notnull);
    cout << "A megadott szamok osztoi: ";

    int e;
    for(f >> e;!f.fail();f >> e){ //Ha a fájl helyes és az utolsó sor végén is van sorvégejel, akkor elég lenne: !eof()
        cout << e%k << " ";
    }

    char ch; cin >> ch;
    return 0;
}
