Mitenköhän saisi luotua structin jonka sisässä olis n verran structuureja?
Koodiesimerkki olis poikaa...
Mitä tarkoitat? Niitä struktuureja pitää olla tietty määrä.
struct S1 { struct S2 { int x, y; } V1, V2, V3, VN; };
Jos haluat jonkin, johon voi aina lisätä enemmän ja enemmän, käytä luokkia ja linkitettyä listaa:
class Muuttuja { public: // Tämä osoittaa listan seuraavaan Muuttujaan. Muuttuja *Seuraava; }; class OmaLuokka { private: Muuttuja *Muuttujat; public: // Hakee muuttujan. Uusin muuttuja on aina no. 1: Muuttuja *HaeMuuttuja(int N) { Muuttuja *Vastaus = Muuttujat; for (; N > 1; N--) Vastaus = Vastaus->Seuraava; return Vastaus; }; // Lisää muuttujan. Uusi muuttuja on aina no. 1: void LisaaMuuttuja() { Muuttuja *V = new Muuttuja(); V->Next = Muuttujat; Muuttujat = V; } };
Tuohon tarvitsee vielä constructorit ja destructorit, mutta idea on kai selvä?
Nii ku mun tarttis tehä sellane asiakasrekisteri, joka olis tällänen:
Myyjä."Myyjän nimi".Tunnus .Osoite .jne...
Ja noit "Myyjän nimi", juttui on n kappaletta
Et mitenkähän tollasen structin vois alustaa?
Ei ole mahdollista tehdä structia, jossa on vaihteleva määrä jäseniä. Luokka on ainut järkevä vaihtoehto (mikäli et välttämättä halua leikkiä osoittimilla structien sisällä, mitä en suosittelisi).
Käytätkö C:tä vai C++:aa? Jos C:tä niin väännä vain tuollainen Myyjä-strukti ja sitten virittele joku dynaamisesti laajentuva Myyjä-taulukko. Jos myyjiä on tunnettu määrä niin mitään laajentumista ei tietenkään tarvita.
C++:lla ehkä luokilla pääsee helpomalla, ja varsinkin STL:n tarjoamilla systeemeillä.
Juu toteutin ton koko jutun vähän toisella tavalla ja nytte homma toimii. Että kiitoksia kuitenkin
Aihe on jo aika vanha, joten et voi enää vastata siihen.