Kezdőoldal » Számítástechnika » Programozás » A programozzunk C nyelven...

A programozzunk C nyelven könyből az if-re van egy példa, amit nem igazán tudok megvalósítani, úgy hogy jó legyen, tudnátok segíteni?

Figyelt kérdés

A lényeg, hogy a scanf-nél azt akarja hogy, ha többet adunk meg mint két szám, akkor azt írja ki, hogy hibás adatbevitel. A gond az, hogy mivel ha pl 2,2,2,2,2-t írok akkor az első két számot veszi figyelembe, hiba írok ketttőnél többet, nem megy tovább a hibaüzenetre, csak ha mondjuk más formátummal adom meg, pl. : vessző nélkü. Hhogy lehet ezt megvalósítani, hogy ha 2db számnál többet írunk akkor rossz legyen?



#include<stdio.h>

#include<stdlib.h>


main()


{

int a,b,c;

printf("adjon meg ket szamot vesszovel elvalasztva:\n");

if(scanf("%d,%d",&a,&b)!=2)

{ printf("hibas adatbevitel\n");

exit(-1);



}

c=a+b;

printf("a ket szam osszege %d+%d=%d",a,b,c);



}



2018. júl. 13. 17:03
 1/5 anonim ***** válasza:

a scanf-nek a visszatérési értéke 1, ha a bevitel jó

ha nem, akkor 0

írd át: if(scanf("%d,%d",&a,&b)!=1)

2018. júl. 13. 17:45
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
*nem, a visszatérési érték a sikeresen beolvasott elemek száma
2018. júl. 13. 17:48
Hasznos számodra ez a válasz?
 3/5 tabaki ***** válasza:
Csinálj még egy változót, és próbáld beleolvasni az esetleges harmadik értéket, minden egyéb maradhat.
2018. júl. 13. 18:22
Hasznos számodra ez a válasz?
 4/5 tabaki ***** válasza:
Ja, nem is kell csinálni, a c is megfelel, ha már beleírtad.
2018. júl. 13. 18:36
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Tabaki jól mondja, ez a legegyszerűbb.

if(scanf("%d,%d,%d",&a,&b,&c)>2) printf("too many input\n");


A példádban az azért nem jó, mert ha csak két értéket olvasol be, akkor a visszatérési érték sem lesz soha nagyobb kettőnél.

2018. júl. 16. 23:05
Hasznos számodra ez a válasz?

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

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!