#include <iostream>
#include <vector>
#include <string>
#include <cstdlib>
#include <ctime>
#include <cmath>

using namespace std;

#define ellenoriz(x) if (x) pont++; else cout << "a feltetel nem teljesult a " << __LINE__ << ". sorban" << endl

// innentol...



// ...idaig lehet irni

int main() {
    srand(time(0));
    int pont = 0;
/*
    Kavefozo k;
    k.kapacitas = 300;          // A gép kávé tárolójának kapacitása (gramm)
    k.kave = 95.5;              // A gép aktuális kávé tartalma (gramm)
    k.elkeszultcseszek = 0;     // Eddig ennyi csésze kávét fõzött le (db)
    k.kavecseszenkent = 9.9;    // Egy csészéhez, hány grammnyi kávét használ a gép
    k.nev = "Nespresso";        // A kávé gép márkája
     //fabs(): valós számok abszolútértéke
    ellenoriz( k.kapacitas == 300 && fabs(k.kave-95.5)<0.01 && k.elkeszultcseszek == 0 && fabs(k.kavecseszenkent-9.9)<0.01 && k.nev == "Nespresso" );

    kavetfoz( k, 5 );
    ellenoriz( k.elkeszultcseszek == 5 && fabs(k.kave-46) < 0.01 );

    feltolt( k, 200 );
    ellenoriz( k.kave == 246 );

    kavetfoz( k, 30 );
    ellenoriz( k.elkeszultcseszek == 29 && fabs(k.kave-8.4) < 0.01 );

    feltolt( k, 500 );
    ellenoriz( k.kave == 300 );

    vector<Kavefozo> gepek;
    Kavefozo k1;
    k1.kapacitas = 180; k1.kave = 180;  k1.elkeszultcseszek = 634;
    k1.kavecseszenkent = 8.6; k1.nev = "Bravo";
    gepek.push_back( k1 );
    Kavefozo k2;
    k2.kapacitas = 100; k2.kave = 100;  k2.elkeszultcseszek = 1251;
    k2.kavecseszenkent = 7.1; k2.nev = "Szarvasi" ;
    gepek.push_back( k2 );
    Kavefozo k3;
    k3.kapacitas = 250; k3.kave = 250;  k3.elkeszultcseszek = 67;
    k3.kavecseszenkent = 11.2; k3.nev = "Saeco" ;
    gepek.push_back( k3 );
    Kavefozo gyoztes = legtobbcseszekave_miutan_kinullazuk_az_elkeszultcseszeket( gepek );
    ellenoriz( gyoztes.nev == k3.nev && fabs(gepek[0].kave-8)<0.01 && fabs(gepek[1].kave-0.6)<0.01 && fabs(gepek[2].kave-3.6)<0.01 );

    // Ha az elozot jol kiszamoltad, akkor ez automatikusan teljesulni fog. Direkt bonyolult, hogy ne lehessen kitalalni ebbol, hanem rendesen ki kelljen szamolni az elozot. Ne akarj ebbol rajonni, hogy mi kell legyen az eredmeny.
    float titok = sqrt(float(int(gepek[2].elkeszultcseszek+0.5)));
    titok -= floor(titok);
    ellenoriz( fabs(titok-0.690) < 0.001 );
*/
    cout << "\n" << pont << "/7 pont" <<endl;
    return 0;
}
