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.