PDA

Visualizza la versione completa : [C] Acquisire un valore numerico che sia intero e positivo


Vre
09-04-2007, 11:25
Acquisisco un valore intero M con:



printf("\nM ---> ");
scanf("%d",&m);


Come posso assicurarmi che venga inserito un valore numerico intero positivo? In caso contrario dovrebbe richiedermi un'altra volta l'acquisizione dello stesso valore.


Grazie.

MItaly
09-04-2007, 11:39
do
{
printf("\nM ---> ");
} while(scanf("%d",&m)==0 || m<0)

Vre
09-04-2007, 11:55
ma se inserisco una lettera inizia a chiedermi M --> senza mai fermarsi in loop...(se metto -7 tutto ok!)

MItaly
09-04-2007, 12:50
do
{
printf("\nM ---> ");
} while(fflush(stdin) || scanf("%d",&m)==0 || m<0);
una soluzione poco ortodossa, ma nella maggior parte delle implementazioni della CRT dovrebbe andare...

Vre
10-04-2007, 10:31
Grazie!!

MItaly
10-04-2007, 11:37
Non c' di che; ciao! :ciauz:

Loading