C-ben ez hogy tudnám ezt megírni?
Sziasztok! Be kell kérnem tetszőleges számokat, míg nullát nem nyomnak. Ez kódban hogy néz ki?
Azt tudom, hogyha egy számot kérek, akkor:
printf("Adj meg egy számot: \n");
scanf("%d", &szam);
De azt, hogy kezeljem, ha nem tudom előre, hogy hány számot fog beírni az adott egyén?
Fogalmam sincs, hogy ez kódban hogyan is néz ki. :/
Tudnátok segíteni?
Nem kell hibakezelést írnom, tehát teljesen lényegtelen. Kérek egy számot, és beírnak nekem egy számot. Nem kell megírnom a hibakezelést, meg ez esetleg elírásokat, mert feltételezzük, hogy mindenki számot ír be.
Ha nem tudsz nekem értelmesen segíteni, akkor ne írj inkább. Nem kell a kioktatás. Egyébként nyilvánvalóan nem csak leadni akarok valami progkódot, ami nekem zagyvaság, hanem meg is szeretném érteni. És a lehető legegyszerűbb módon leírni. Amit már meg is kaptam egyébként az egyik hozzászólótól, és köszönöm neki! Azt még értem is...





Nem vagyok hálátlan. Viszont nem véletlenül kérdeztem így. C-ben, számok bekérése, a lehető legegyszerűbben. Ez a feladatom, órára kell. Mit nem lehet ezen megérteni?
Köszönöm, hogy te is hozzászóltál a kérdéshez, de te nem tudtál nekem érdemben segíteni. Nem baj. Csak értsd is meg, hogy nekem nem az a feladatom, mint amit te beírtál.





#4#5#8#10#11
Feleslegesen bonyolítasz túl egy egyszerű gyakorlófeladatot. A kérdezőnek nagyobb szüksége van arra egyelőre, hogy megtanulja a loop- és tömbhasználatot (mert erősen feltételezem, hogy a feladat célja arra irányul). És nem tudom miért hiszed azt, hogy iostream és az én megoldásom nem működik, egy 0 tökéletesen meg fogja szakitani az én while loopomat. Lehet, hogy egy karakter bebolonditja a programot, de nem volt feltétel a hibakezelés.
Kérdező, a vesszős megoldásra: Ha jól értem, azt akarod, hogy egy scanf-el olvassa be az összes értéket, és csak az utolsó (0) után nyomjon entert. Nem hiszem, hogy megoldható egyszerüen C-ben. Ráadásul, mivel egy megadott számmal kell jelezned, hogy befejezted a számok bevitelét, igy mint mondtam, szerintem a feladat célja is a loopok (while, dowhile, for) és a tömbök kezelése.





"az előzőekkel az a kis gond, hogy a nulla valójában 0x30, az egy pedig 0x31 és így tovább. Sosem fogsz kilépni a ciklusból, kivéve, ha a terminálnak valahogy beküldöd a 0x0 karaktert"
Hát erre már nincs arcom. Itt okosít, nagy pofával leszól mindenkit, és semmit nem tud a C nyelvről. Hát gratulálok, kedves hardverközeli barom. Hallottál már a scanf függvényről és a formázóstringjéről? Ezeket pontosan azért írták, hogy ne kelljen neked kézzel megírni minden egyes alkalommal a beolvasást karakterenként.
És persze, hogy nem végzünk hibaellenőrzést, mert az nem szorosan része a lényegnek, de a scanf elárulja, mennyi paramétert sikerült beolvasnia, így felesleges vinnyognod.





Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!