Olen tekemässä ohjelmaa tositteiden järjestelemiseksi. Ajattelin sen sujuvan helpoimmin, kun teen kaksi rakennetta. Rakenne "aika":
typedef struct time{
int pv;
int kuu;
int vuosi;
}pvm;
Toinen rakenne on "tosite":
typedef struct tosite{
int tos_num;
struct pvm;
char selite;
double summa;
} ;
Ongelma siis on, että pitääkö minun ottaa rakenne "aika" jäseneksi rakenteeseen "tosite" käyttämällä varsinaista rakenteen nimeä "aika" vai rakenteen ilmentymän nimeä "pvm".
Osaisko joku neuvoa, pliis?
typedef struct time{
int pv;
int kuu;
int vuosi;
}pvm;
Toinen rakenne on "tosite":
typedef struct tosite{
int tos_num;
struct pvm;
char selite;
double summa;
} ;
Ongelma siis on, että pitääkö minun ottaa rakenne "aika" jäseneksi rakenteeseen "tosite" käyttämällä varsinaista rakenteen nimeä "aika" vai rakenteen ilmentymän nimeä "pvm".
Osaisko joku neuvoa, pliis?
Vastaukset 2
Vanhimmat
toi time:hän on tossa rakenteen tyyppi ja pvm on sitten muuttuja, eli pistät van tuon tositteen sisälle
typedef struct tosite{
int tos_num;
struct pvm;
char selite;
double summa;
time aika;
};
kannattaa kuitenkin mielummin käyttää olioita.
tuolla tavalla esittelet time: n, niin se pitäisi käsittääkseni mennä näin, että
//tassa kohdassa kerrotaan kaantajalle, että time on struct eli esitellaan time
struct time; //nyt se kaantaja tietaa, etta time on jossain myohemmin maaritelty
//nyt sitä voidaan timea alkaa kayttamaan tositteessa, joka esitellaan suraavaksi
struct tosite
{
//tänne sä olet kirjoitellut tositteen ominaisuudet
//joista yksi on edella esitelty aika
time TositteenAikaleima;
//timea voi tassa kayttaa kuten mita tahansa tietorakennetta
}; //siinahan se tosite tuli maariteltyakin
//myohemmin koodissa time on määriteltava, koska se on eistelty tuolla alussa
//taikka muuten linkkeri alkaa minimissänsä parkuun unresolvetteja externaljeja
//vaikka ohjelma kaantyisikin ongelmitta
//myohemmin...
//maaritellaan esitelty time eli
struct time
{
//tanne timen ominaisuudet;
};