/* kerhomain.cpp */ /* ** Kerho-ohjelman p„„ohjelma ** ** Tekij„t: Vesa Lappalainen ** Ohjelmointikurssit 1991-1997 ** Tehty: 20.12.1991 ** Muutettu 19.12.1993/vl ** 06.12.1995/vl - C++ versio ** Mit„ muutettu: avustus ** Muutettu 06.12.1995/vl ** Mit„ muutettu: tehty C++ versio ** Muutettu 07.12.1995/vl ** Mit„ muutettu: tehty document/view C++ versio ** Muutettu 09.12.1995/vl ** Mit„ muutettu: jaettu osiin ** Muutettu 11.01.1996/vl ** Mit„ muutettu: + argv-k„sittely jotta voidaan k„ynnist„„: ** kerho kelmit ** onnistuu lue_tiedosto(argv[1]), koska standardi ** takaa ett„ argv[1] == NULL tai osoitin merkkijonoon ** Muutettu 20.01.1997/vl ** Mit„ muutettu: kerho ja j„senist” eri luokiksi ** ** ** Projektiin mukaan: ** ** kerhomain.cpp - t„m„ tiedosto ** kentta.cpp - k„sittelee tietueen kentti„ ** jasen.cpp - yksitt„isen j„senen k„sittely ** jasenet.cpp - j„senist”n k„sittely ** kerho.cpp - kerhon k„sittely kokonaisuudessaan ** naytto.cpp - n„ytt””n liittyv„ kerhon k„sittely ** muunnos.c - jasenen vaatimat muunnokset merkkijonoksi ja takaisin ** C\ALI\help.c - avustusten k„sittely ** C\ALI\ioali.c - yleisk„ytt”iset k„ytt”j„rjestelm„-riippuvat io-rut. ** C\ALI\mjonot.c - yleik„ytt”isi„ aliohjelmia merkkijonojen ** k„sittelyyn ** C\ALI\pvm.c - p„iv„m„„r„n k„sittely ** C\ALI\string.cpp - c++ -merkkijonoluokka (korvike std-versiolle) ** (jollei ole jo mukana systeemiss„) ** C\ALI\mjonotpp.cpp - mjonot++ string-luokan k„sittelyyn ** ** Lis„ksi tarvitaan tietysti otsikkotiedostot: ** ** help.h ** pvm.h ** kentta.h ** jasen.h ** jasenet.h ** kerho.h ** naytto.h ** muunnos.h ** C\ALI\ioali.h ** C\ALI\mjonot.h ** C\ALI\string - jollei ole virallista string-luokkaa ** C\ALI\mjonotpp.h ** ** Luokkahierarkia: ** ** string - yleinen merkkijonoluokka ** cJasen - j„senen ominaisuudet (ks. jasen.cpp ja jasen.h) ** cJasenet - j„senet kokoava tietorakenne (ks. jasenet.cpp ja jasent.h) ** cKerho - kerhon k„sittely kokonaisuudessaan ** cNaytto - k„ytt”liittym„„ yll„pit„v„ luokka (sis„lt„„ osoittimen ** kerhoon, ks. naytto.cpp ja naytto.h) ** ** Jos t„m„ ohjelma halutaan kirjoittaa muulle kuin standardip„„tteelle, ** esim. johonkin graafiseen k„ytt”j„rjestelm„„n, pit„„ kirjoittaa uusiksi ** ** naytto-luokka - joutuu t„ydelliseen remonttiin, voi jopa ** tulla lis„„ toimintoja, kuten "Avaa uusi n„kym„" ** kerhomai.c - t„m„ p„„ohjelma ** ioali.? - korvautuu todenn„k”isesti k„ytt”liittym„n vast. ** rutiineilla */ #include "naytto.h" int main(int , char *argv[]) { cKerho kerho; cNaytto naytto(&kerho,argv[0]); naytto.ohjeet(); if ( naytto.lue_tiedosto(argv[1]) != 0 ) return 1; naytto.paavalinta(); if ( naytto.talleta() != 0 ) return 2; naytto.kiitokset(); return 0; }