Hogy kell feltölteni egy 20 elemű struktúratömböt C-ben?
Kezdetben minden elemet inicializász default értékekkel pl autó márka = NULL darabszám=0
Megkeresed hogy volt e már olyan márka, ha volt akkor az aktuális tömbelem darabszám-át növeled, ha nem volt akkor megkeresed a legelső nem használt tömbelemet ahol az autó márka=NULL és berakod.
köszi a választ, de nem teljesen tiszta még.
Valahogy úgy próbálom egyszerűen megyek a tömbökön és töltöm fel sorban. És valami ciklussal kellene elenőrizni, hogy volt-e már? Miért kell NULL-azni a markát?
int main(void)
{
struct cimek x[10];
int i=0, j=0;
do{
printf("\marka: "); scanf("%s", x[i].nev);
printf("db szam:"); scanf("%i", &x[i].db);
i++;
}
while(i<10);
Így is írhattam volna kezdetben mind a 20 elemet állítsuk üresre. Nyilván létező "memóriacella" mind a 20, fizikailag nem lehet üres. Ezért Állítsuk be olyan értéket ami az ürességet fejezi ki. Erre szokták a NULL-t használni. (Nem "NULL" hanem NULL) Ha ezt nem tennénk meg akkor jobb esetben eleve NULL-t tartalmaz, rosszabb esetben vmi memóriaszemetet olvasunk ki vagy illegális memóriaterület hivatkozás miatt elszál az egész. Mármint ellenőrzéskor, hogy volt e. Mondjuk ezt ki lehetne kerülni máshogy, de most ne bonyolítsuk.
Ez amit írtál kódot meg hülyeség.Semmi nem jó belőle először is 20 elemről volt szó vagy 10 kell?. Másodszor meg csak a márkákat adjuk meg a hozzá tartozó darabszámot automatikusan növeli 1-el.
Vagy egyáltalán tudod mit akarsz?
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
igazából ebből szeretném megcsinálni először a bevitel részét.
Tényleg azt várják el, hogy menüvezérelt legyen?
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!