/* Teht„v„ 2.38 Rakenteiden purkaminen hajottajan avulla Teht„v„„ varten on tehty erillinen cTiedosto luokka, joka muodostajassaan avaa tiedoston (nimi tuotu parametrina) ja hajottajassaan sulkee sen. Luokalla on my”s metodi aukesiko(), joka palauttaa 0, jos tiedosto ei auennut, sek„ tiedoston ensimm„isen merkin ASCII-koodin palauttava metodi. */ #include #include class cTiedosto { ifstream file; public: cTiedosto(char *nimi) { file.open(nimi); } ~cTiedosto() { file.close(); } int aukesiko() { if (file) return 1; return 0; } int anna_luku() { int luku; file >> luku; return luku; } }; int lue_tied() { cTiedosto t1("tied1.txt"); if (t1.aukesiko() == 0) return 1; cTiedosto t2("tied2.txt"); if (t2.aukesiko() == 0) return 2; cTiedosto t3("tied3.txt"); if (t3.aukesiko() == 0) return 3; int summa = t1.anna_luku() + t2.anna_luku() + t3.anna_luku(); return summa; } int main (void) { int tark = lue_tied(); switch (tark) { case 1: cout<< "Tiedosto 1 ei auennut.\n"; return 0; case 2: cout<< "Tiedosto 2 ei auennut.\n"; return 0; case 3: cout<< "Tiedosto 3 ei auennut.\n"; return 0; } cout<< "Summa on " << tark << "\n" ; return 0; }