Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C - výběr ze dvou možností

Zdravíčko.. Na začátek chci upozornit, že s C jsem začal od píky před pár dny :-)

Mám program, který něco počítá a na konci, jak vyplivne výsledek, je na výběr pokračovat (1) nebo ukončit program (0). Po stisku 1 se celý program opakuje. Je to cyklus while. Na konci cyklu mám tedy:

printf("\nPro pokracovani napis 1, pro ukonceni 0\n");

scanf("%lf",&o);

if ( o == 1)
   continue;

if ( o == 0)
   break;

A potřebuji nějak ošetřit, pokud se stiskne jiné číslo nebo místo čísla znak, aby to napsalo varovnou hlášku a opět by nabídlo výběr stiskni 1 nebo 0. Prosím o lehké nakopnutí, jak na to. Děkuji.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Samotne scanf ma aj navratovu hodnotu. Viz google (tusim ze vracia pocet prevedenych veci, t.j. u te…
MM.. 28.09.2011 09:00
MM..
zkoušel jsem p=scanf("%lf",&o) == EOF; a podle hodnoty p pak buď spustit podmínku pro "o", nebo na… poslední
Niko Bellic 28.09.2011 11:10
Niko Bellic

Samotne scanf ma aj navratovu hodnotu. Viz google (tusim ze vracia pocet prevedenych veci, t.j. u teba to bude 1 ak zadal user cislo, alebo 0 ak zadal hovadinu co sa neda previest na cislo). Tak tu navratovu hodnotu testuj, aby si vedel reagovat na ne-cislo. Samozrejme ze musis aj testovatostatne cisla (ak je premenna o unsigned, tak ti okrem navr.hodnoty scanf staci testovat if o>1)

Inac stlacenie nejakej klavesy sa lepsie robi pomocou getch() ptz tam reagujes okamzite na zmacknutie jednej klavesy, a necaka to na potvrdenie nejakeho celoriadkoveho maglajzu od usera.

Zpět do poradny Odpovědět na původní otázku Nahoru