#include #include #include "mjonot.h" #define MAX_HENKILOITA 8 #define MAX_NROITA 6 typedef int Nrot_tyyppi[MAX_NROITA]; typedef struct { char nimi[40]; char osoite[40]; char postinro[6]; int *nro_osoitin; } Henkilo_tyyppi; typedef struct { int max_hlo; int hlo_lkm; Henkilo_tyyppi **henkilot; } Rekisteri_tyyppi; int lisaa_henkilo( Rekisteri_tyyppi *rekisteri, char *nimi, char *osoite, char *pnro, int *nro_osoitin) { Henkilo_tyyppi *hlo; if (rekisteri->hlo_lkm>=rekisteri->max_hlo) return -1; hlo = malloc(sizeof(*hlo)); if (!hlo) return -2; kopioi_jono(N_S(hlo->nimi),nimi); kopioi_jono(N_S(hlo->osoite),osoite); kopioi_jono(N_S(hlo->postinro),pnro); hlo->nro_osoitin=nro_osoitin; rekisteri->henkilot[rekisteri->hlo_lkm++]=hlo; return 0; } int main(void) { Nrot_tyyppi nrot = {5,4,3,2,1,0}; Rekisteri_tyyppi rek = {MAX_HENKILOITA,0}; if ( ( rek.henkilot = malloc(rek.max_hlo * sizeof(Henkilo_tyyppi *)) ) == NULL ) return 1; lisaa_henkilo(&rek,"Kassinen Katto","Katto" ,"3452",nrot+1); lisaa_henkilo(&rek,"Susi Sepe" ,"Per„mets„" ,"-" ,nrot+3); lisaa_henkilo(&rek,"Ankka Aku" ,"Ankkalinna","1234",nrot+4); return 0; }