/* jasenet.cpp */ /* Kerho-ohjelman jäsenet-luokan käsittely. ** ** Tekijät: Vesa Lappalainen ** Tehty: 20.1.1997 ** Muutettu ** Mitä muutettu: ** */ #include #include #include using namespace std; #include "jasenet.h" //---------------------------------------------------------------------------- // Jäsenistön toteutus: //---------------------------------------------------------------------------- static const char *EI_VOI_LUODA = "Taulukolle ei saada varattua tilaa muistista!"; static const char *LIIKAA_ALKIOITA = "Liikaa alkioita, ei voi lisätä!"; static const char *EI_SAA_ALKIOTA = "Ei saada tilaa uudelle alkiolle!"; void cJasenet::poista_alkiot() { for (int i=0; i= max_lkm ) return LIIKAA_ALKIOITA; uusi = new(nothrow) cJasen(jasen); if ( uusi == NULL ) return EI_SAA_ALKIOTA; alkiot[lkm] = uusi; lkm++; return ""; } string cJasenet::luo_taulukko(int koko) { poista_kaikki(); if ( koko <= 0 ) return ""; alkiot = new cJasen *[koko]; lkm = 0; max_lkm = 0; if ( alkiot == NULL ) return EI_VOI_LUODA; max_lkm = koko; return ""; } void cJasenet::poista_taulukko() { if ( max_lkm > 0 ) delete [] alkiot; max_lkm = 0; } string cJasenet::lue_tiedostosta(const string &tied) { // Pahasti kesken tiedoston_nimi = string(tied)+".dat"; koko_nimi = "Kelmien kerho"; return luo_taulukko(); } string cJasenet::talleta() { // Pahasti kesken return ""; } #ifdef JASENETTESTI int main(void) { cJasenet jasenet(8); cJasen aku; aku.vastaa_aku_ankka(); string virhe = jasenet.lisaa(aku); if ( virhe != "" ) cout << virhe << endl; aku.vastaa_aku_ankka(); jasenet.lisaa(aku); aku.vastaa_aku_ankka(); jasenet.lisaa(aku); aku.vastaa_aku_ankka(); jasenet.lisaa(aku); cout << "============= Jäsenet testi =================\n"; for (int i=0; i