Kezdőoldal » Számítástechnika » Programozás » Hogy csinálom azt meg C-ben,...

Hogy csinálom azt meg C-ben, hogy egy program addig olvasson be számokat, amíg már nem érkezik semmi?

Figyelt kérdés
Béna vagyok és már egy jó ideje ezzel szórakozom, hogy hogyan csináljam ezt meg. Egyszerűen sehogy se megy, a program ugyan beolvassa az összes számot, amit írok neki, de ha nem jön több, akkor utána már nem hajtja végre a többi utasítást, hanem egyszerűen csak leáll.

2021. okt. 2. 20:44
 1/4 anonim ***** válasza:

Hát honnan tudná szerencsétlen program, hogy jön e még újabb szám?

Honnan tudhatná hogy az utóbbi volt az utolsó?

Mondjuk kaphatna egy végjelet, és akkor tudná. Vagy időtullépés (bizonyos ideig tartó tétlenség) után szakítsa meg a ciklust, ami a következő számot várja.

2021. okt. 2. 21:03
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
Van egy titka a programozásnak: el kell olvasni a sz.ros üzeneteket amiket a gép kiír. Gyanítom jelen esetben egy hibaüzenet lesz ott.
2021. okt. 2. 21:13
Hasznos számodra ez a válasz?
 3/4 Pelenkásfiú ***** válasza:

Én erre jutottam, amikor nemrég feltett valaki egy hasonló kérdést...

"Végjel nélkül érkeznek számok whitespace-el elválasztva", "addig olvasson, amíg tud"


char str[20];

char c[1];

int n;


while (scanf("%s%c", str, c)) {

n = atoi(str);


...


if (c[0] == 10) break;

}


-------------

%d nem jó, mert pl. a "3 4 5"-ből 345 lesz

%s önmagában nem fog megállni az üres sorra sem

A fenti megoldásom egyenként olvassa a számokat (stringként), majd az első \n-nél megáll.

Az atoi()-hoz kell stdlib.

2021. okt. 2. 21:14
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
Ilyen esetekben egy végjelet kell küldeni a gépnek ,ameyl tudja, hogy a beolvasás véget ért, vagy lehet olyat, hogy egy-egy szám beolvasására van a gépnek x sec ideje. Ha x idő alatt nem érkezik karakter, akkor továbblép.
2021. okt. 3. 02:30
Hasznos számodra ez a válasz?

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!