/* kerho.cpp */ /****************************************************************************/ /* ** K E R H O . C P P ** ** Kerho-luokan toteutus ** ** Tekij„t: Vesa Lappalainen ** Ohjelmointikurssi 1991 ** Tehty: 20.12.1991 ** Muutettu: 09.12.1995 ** Mit„ muutettu: Muutettu C++ luokaksi ** Muutettu: 10.12.1995 ** Mit„ muutettu: + Laitettu tiedoston lukeminen ja kirjoittaminen ** toimivaksi (ks. metodit lue_tiedostosta ja talleta) ** + J„senen lis„ys kasvattaa taulukon kokoa, mik„li ** tila loppuu (ks. lisaa) ** Muutettu: 20.01.1996 ** Mit„ muutettu: + J„senist” siirretty omaksi luokakseen ** ** Public-metodeja: ** ================ ** ** Metodit palauttavat yleens„ virheen merkkijonona, joka voidaan ** suoraan tulostaa. Jos virhett„ ei tapahdu, palautetaan NULL. ** ** cKerho(int koko=0) ** - kerhon luominen, jos koko = 0, ei luoda j„sentaulukkoa ** ** ~cKerho() ** - kerhon h„vitt„minen, jos kerhoa ei ole talletettu, talletetaan ** viimeist„„n nyt (mahd. virheilmoitus harakoille) ** ** const char *cKerho::lue_tiedostosta(const string &tied) ** - luetaan uusi j„senist”, mahd. vanha talletetaan ** ** const char *cKerho::talleta(const string &tied) ** - talletetaan j„senist”. Jos tied=="", k„ytet„„n luettaessa ** annettua nimi„. ** ** const string &Kerhon_nimi() const ** - palauttaa kerhon koko nimen. ** ** int Jasenia() const ** - palauttaa kerhon j„senm„„r„n ** ** int poista(int nro) ** - poistaa koko kerhosta j„senen, jolla on tunnus_nro nro ja ** poistaa my”s h„nelle mahd. kuuluvat harrasteet ** ** cJasenet &Jasenet() ** - palauttaa viitteen varsinaiseen j„senist””n ** ** int Muutettu() const ** - onko kerhoa muutettu tallettamisen j„lkeen ** ** int TeeBak(const string &bak_tark) ** - tekee kerhon tiedostoista varmuuskopiot ** ** --------------------------------------------------------------------------- ** ** Tietorakenne on seuraava: ** ========================= ** ** ** cKerho ** ------------ ** | jasenet | jasenet ks. jasenet.cpp ** | | ** ------------ ** ** ** Kerho ei tied„ j„seniens„ ominaisuuksia. */ #include #include #include "mjonotpp.h" #include "kerho.h" //============================================================================ // Makrot: //============================================================================ //---------------------------------------------------------------------------- const char *cKerho::lue_tiedostosta(const string &tied) { return jasenet.lue_tiedostosta(tied); } //---------------------------------------------------------------------------- const char *cKerho::talleta(const string &tied) { return jasenet.talleta(tied); }