PDA

Visualizza la versione completa : [C] Consentire inserimento di valori interi e positivi


RIACK
09-12-2010, 22:50
Sto cercando un algoritmo che permetta di far inserire solo un intero positivo e nessun'altro carattere.

Qualcuno mi può aiutare?


P.S. posto uqello che sono riuscita a fare io, che però non funziona per dei problemini col DEL e con l'INVIO.....comque vi prego di non rispondere esclusivamente in base a quello che ho fatto io....



do
{
c[i]=getch();
if((c[i]=='0')&&(i==0)) exit(1);
if((c[i]>='0')&&(c[i]<='9')&&(i<2))
{
printf("%c", c[i]);
i++;
}
if(c[i]==8)
{
printf("\b \b");
i--;
if(i<0) i=0;
}
}while(c[i]!=13);
numGiocatori=(c[0]-48)*10+(c[1]-48);

GliderKite
09-12-2010, 23:05
Originariamente inviato da RIACK
Sto cercando un algoritmo che permetta di far inserire solo un intero positivo e nessun'altro carattere.


:confused:

Potresti spiegarti più in dettaglio?

E' una cosa del tipo?


unsigned long uint = strtoul( fgets(buffer, MAX_COUNT, stdin), NULL, 0 );

RIACK
09-12-2010, 23:22
l'esempio l'ho postato....

MdE2005
09-12-2010, 23:35
Forse così l'esempio è più chiaro:



char buffer[256];
fgets(buffer,256,stdin);
unsigned long myint;
myint = strtoul(buffer, NULL, 0 );

printf("Il tuo intero: %d\n", myint);


Guarda a cosa serve la strtoul: http://www.cplusplus.com/reference/clibrary/cstdlib/strtoul/


Ciao :)

Loading