Mi lehet a hiba? C++ Programozás
Structurát próbálom használni ebben tömböt meglehet adni?Hogyan tudnám beíratni az adatot?Kép:
Szóközt, ékezetet nem használunk fájlnevekben/projektnevekben!
Ez alapján csináld a dolgot:
G.
Na egy pár tipp:
Vannak egyszerű és összetett adattípusok. Egyszerű adattípus pl. egy egész szám, magyarul minden olyan dolog, amely egy adat megadásával pontosan leírható. Az összetett adattípus pedig továbbra is egy dolgot jelent, de azt már nem tudjuk egy adattal megadni, hanem több egyszerű vagy összetett adattípust kell hozzá összefognunk. Szokás erre példaként említeni a komplex számokat, ahol bár egy számról van szó, de két egyszerű adattal tudjuk csak leírni (ugye a valós és a képzetes rész mind-mind egy egész szám). C nyelvben összetett adattípust a struct-tal tudunk csinálni. Miután létrehozol egy struct-ot, az megjelenik a nyelvben, mint új típus, például:
struct valami {
int ertek1;
int ertek2;
}
//Innentől kezdve lehet "struct valami" típusú változókat létrehozni:
struct valami proba;
Ezt nem szeretjük kiírni, így egyszerűsíthetünk a dolgon egy kis typedef-fel:
typedef struct {
int ertek1;
int ertek2;
} valami;
valami proba;
Innentől kezdve oké, hogy lett ilyen változód, de jogos a kérdésed, hogy a benne lévő összetevőkre hivatkoznod kell. Meg kell adni, hogy mely változó mely összetevőjét akarod olvasni vagy módosítani. Ezt nevezzük minősítésnek. Minősítéshez két operátort használhatsz:
- a "." operátort, ha konkrétan a struct van meg neked:
valami proba;
proba.ertek1 = 25;
- A "->" operátort, ha az a memóriacím (aka. pointer) van meg, ahol ez a struct található:
valami* proba = (valami*) malloc(sizeof(valami));
proba->ertek1 = 25;
free(proba);
a struct-al létrehoztál egy típust, de a programodban nem csináltál hozzá változót. vagyis pl ahogy tudsz csinálni ilyet: int szam; tudsz csinálni ilyet: auto_adatok adat;
ezek után már lesz egy adat nevű változód, ami auto_adatok típusú, és ennek már tudsz értéket adni, még pedig úgy, hogy adat.marka="BMW", adat.szine="RED", adat.tipus="318i", adat.kilometer_ora_allas=25000, adat.eletkor=2
aztán ha több autó adatát akarod tárolni, akkor azokat megteheted egy tömbben, vagy akár valamilyen listában, vectorban stb, pl: auto_adatok adatok[10]; és ekkor lesz egy adatok tömböd, ami 10 darab autó adatát képes eltárolni
Nem azért, de ez teljesen rossz, egyáltalán nem azt csinálja amit szeretnéd.
Létrehoztál egy üres structúrát, majd egy blokkban pár változót.
Kérdező: Jól csinálod. Hülyeséget mondanak itt páran (pl. typedef meg az előttem szóló). Nem mindenki, persze.
A struktúrádból definiálj tömböt és kész.
Robinka kusshadjál már!!!
Alapokhoz sem értesz, sokadjára bizonyítod be...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!