/* Teht9b M 2.33 */ #include #include #include class tiedosto { FILE *f; char nimi[13]; // tiedoston nimi int nro; // tiedoston numero public: tiedosto(char *s,int k) { strncpy(nimi,s,sizeof(nimi)); f = NULL; nro = k; avaa(); } int avaa() { f = fopen(nimi,"r"); if (f == NULL) throw int(nro); return 0; } int lue() { int c = fgetc(f); return c != EOF ? c : 0; } int sulje() { if ( f ) fclose(f); return 0; } ~tiedosto() { sulje(); } }; int tiedostot(char *na, char *nb, char *nc) { try { tiedosto a(na,-1), b(nb,-2), c(nc,-3); return a.lue() + b.lue() + c.lue(); } catch ( int n ) { return n; } } int main(void) { int k = tiedostot("t1","t2","t3"); cout << "Funktio palautti " << k << '\n'; return 0; }