Controllare se l'input è numerico in C?

di il
5 risposte

Controllare se l'input è numerico in C?

Per dare meglio l'idea tipo l if isnumeric in vb.
Come si fa? =) Grazie mille!

5 Risposte

  • Re: Controllare se l'input è numerico in C?

    Puoi usare isdigit:
    http://www.cplusplus.com/reference/cctype/isdigit
  • Re: Controllare se l'input è numerico in C?

    È possibile usarlo in un ciclo while in modo che ogni volta che l input non è numerico lo faccio reinserire? grazie
  • Re: Controllare se l'input è numerico in C?

    Se devi inserire una cifra alla volta puoi lavorare anche con il codice ASCII.
  • Re: Controllare se l'input è numerico in C?

    Molto semplicemente, devi inserire un numero che sono i gradi celsius da convertire e se non lo fai, cioè non inserisci un numero ma qualunque altra cosa, ti dico valore non valido e te lo faccio reinserire
  • Re: Controllare se l'input è numerico in C?

    Se usi una dichiarazione int, per salvare il dato, e lo leggi con la scanf , quest'ultima se non legge un valore valido per l'int, ti restituisce lo 0 ovvero ti restituisce quante letture sono avvenute correttamente .
    Occhio però che il codice di errore rappresenta quanti elementi si è letto senza errore (quindi non è sempre 0), dopo la lettura viene bloccata e quindi i valore seguenti non vengono salvati.

    quindi puoi scrivere una cosa del genere :
    controllo=scanf("%d",&dato);
    if(controllo!=1)
          errore=VERO;
    
    da mettere in un while controllando se errore ha valore VERO o FALSO

    Perchè altrimenti dovresti controllare i caratteri singolarmente e poi ricostruire il numero convertendolo.E' quello che volevi fare?
Devi accedere o registrarti per scrivere nel forum
5 risposte