/* 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 20.01.1997/vl ** Mitä muutettu: kerho ja jäsenistö eri luokiksi ** Muutettu 03.04.2000/vl ** Mitä muutettu: const char *:iä poistettu ** poistettu ystävyyksiä ** kerholle lisää töitä ** ** ** Projektiin mukaan: ** ** kerhomain.cpp - tämä tiedosto ** 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 ** CPP\ALI\ioali.c - yleiskäyttöiset käyttöjärjestelmä-riippuvat io-rut. ** CPP\ALI\mjonot.c - yleikäyttöisiä aliohjelmia merkkijonojen ** käsittelyyn ** CPP\ALI\vstring.cpp- c++ -merkkijonoluokka (korvike std-versiolle) ** (jollei ole jo mukana systeemissä) ** CPP\ALI\mjonotpp.cpp - mjonot++ string-luokan käsittelyyn ** ** Lisäksi tarvitaan tietysti otsikkotiedostot: ** ** jasen.h ** jasenet.h ** kerho.h ** naytto.h ** muunnos.h ** CPP\ALI\ioali.h ** CPP\ALI\mjonot.h ** CPP\ALI\string - jollei ole virallista string-luokkaa ** CPP\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(void) { cKerho kerho; cNaytto naytto(&kerho); naytto.ohjeet(); if ( naytto.lue_tiedosto() != 0 ) return 1; naytto.paavalinta(); if ( naytto.talleta() != 0 ) return 2; naytto.kiitokset(); return 0; }