#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>


using namespace std;


struct tan{
    string nev, targy, oszt;
    int ora;
}tomb[1000];

string tanarok[50];
bool benne_van(string nev, string tomb[50]);

int main()
{
    setlocale(LC_ALL,"hun");
    ///1. feladat
    ifstream be;
    be.open("beosztas.txt");
    if(be.fail()){
        cout << "Hiba";
        cin.get();
        exit(-1);
    }

    int i=0;
    while(!be.eof()){
        getline(be,tomb[i].nev);
        be  >> tomb[i].targy >> tomb[i].oszt >> tomb[i].ora;
        string sorveg;
        getline(be,sorveg);
        i++;
    }
    be.close();
    int db=i-1;
    ///2. feladat
    cout << "2. feladat:" << endl;
    cout << "A fajl " << db << " bejegyzest tartalmaz." << endl;
    ///3. feladat
    cout << "3. feladat:" << endl;
    int szum=0;
    for(int i=0; i<db; i++){
        szum+=tomb[i].ora;
    }
    cout << "A tanitasi orak szama: " << szum << endl;
    ///4. feladat
    cout << "Adjal meg egy tanar nevet: ";
    string nev;
    getline(cin,nev);
    szum=0;
    for(int i=0; i<db; i++){
        if(tomb[i].nev==nev) szum+=tomb[i].ora;
    }
    cout << "A tanar heti oraszama: " << szum << endl;
    ///5. feladat
    ofstream ki;
    ki.open("of.txt");
    if(ki.fail()){
        cout << "Hiba";
        cin.get();
        exit(-1);
    }

    for(int i=0; i<db; i++){
        if(tomb[i].targy=="osztalyfonoki" ) ki << tomb[i].oszt << " - "
            << tomb[i].nev << endl;
    }
    ki.close();
    ///6. feladat
    string osztaly, tantargy;
    cout << "Osztaly = ";
    cin >> osztaly;
    cout << "Tantargy = ";
    cin >> tantargy;
    szum=0;
    for(int i=0; i<db; i++){
        if(tomb[i].targy==tantargy && tomb[i].oszt==osztaly) szum++;
    }
    if(szum==2) cout << "Csoportbontasban tanuljak." << endl;
    else cout << "Nem csoportbontasban tanuljak." << endl;
    ///7. feladat
    /*
    végig megyünk a tömbön egy ciklussal és megnézzük, hogy
    a név benne van-e a tömbben vagy nincs. Ha nincs beletesszük.
    */
    int j=0;
    for(int i=0; i<db; i++){
        //A vezeték és keresztnevet összefûzzük.


        if(!benne_van(tomb[i].nev,tanarok)) {
           tanarok[j]=tomb[i].nev;
           j++;
        }

    }
    cout << "Az iskolaban " << j << " tanar tanit." << endl;
    return 0;
}
bool benne_van(string nev, string tomb[50]){
    bool van=false;
    int i=0;
    while(!van && i<50) {
        if(tomb[i]==nev) van=true;
        i++;
    }
    return van;
}

