Oppure

Loading
10/10/08 8:15
torn24
Postato originariamente da gioser:

un errore e' sottrazione con due zeta ;)

un altro errore è che non controllate i valori restituiti dalle scanf :)

mentre per l'errore che hai notato, il problema e' che la scanf di un carattere prende anche il line feed, cioe' il carattere 10,

potresti aggiungere uno spazio prima del carattere di formato della prima scanf, come hai fatto nelle altre scanf :)

scanf(" %C",&scelta);

Ciao :)



grazie ho risolto mettendo uno spazio prima del
carattere di formato e cambiando sottrazzione in
sottrazione non so quale delle due modifiche ha funzionato

:):) trovo strana questa cosa dello spazio:-|
aaa
10/10/08 8:30
gioser
il problema quando fai la scanf per un carattere è che legge giusto un carattere.

nel funzionamento normale, l'ultima scanf toglie dal buffer i caratteri che compongono l'ultima cifra. Nel buffer rimane il LINE FEED (il carattere 10, o come si scrive in C, il \n)

La scanf("%c" ... legge il LINE FEED
La scanf(" %c" ... salta il line feed prima di leggere il carattere ...

almeno, questo è quello che ho capito io ;)
bisognerebbe leggere lo standard ANSI per capire esattamente cosa dice la specifica della scanf...
aaa