Kezdőoldal » Számítástechnika » Programozás » C-ben ez hogy tudnám ezt megírni?

C-ben ez hogy tudnám ezt megírni?

Figyelt kérdés

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?


2013. febr. 21. 20:31
1 2
 11/17 A kérdező kommentje:

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...

2013. febr. 21. 21:08
 12/17 anonim ***** válasza:
0%
Imádok hálátlan embereknek segíteni. Próbáltad már a Scriptnyelveket? Nem kell pointer aritmetikával foglalkoznod benne!
2013. febr. 21. 22:02
Hasznos számodra ez a válasz?
 13/17 A kérdező kommentje:

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.

2013. febr. 21. 22:44
 14/17 gyorki92 ***** válasza:
100%

#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.

2013. febr. 22. 07:32
Hasznos számodra ez a válasz?
 15/17 iostream ***** válasza:
100%

"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.

2013. febr. 22. 08:49
Hasznos számodra ez a válasz?
 16/17 anonim ***** válasza:
Az első kettő válasza tökéletesen elég neked :)
2013. febr. 22. 11:46
Hasznos számodra ez a válasz?
 17/17 A kérdező kommentje:
Köszönöm a segítséget, sikerült megcsinálnom a feladatokat. :)
2013. febr. 26. 14:44
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!