lettura valori da tastiera

ciao a tutti,ho riprovato a modificare il codice scritto in un vecchio post in modo tale da convertire un valore inserito da tastiera in un valore decimale coretto.
Ho provato usando il comando atof,ma nessuna soluzione.

Sulla base del valore inserito dalla tastiera come riferimento mi lampeggia un led in funzione del rilevamento della temperatura...non riuscendo a leggere il valore corretto, la scheda mi da come valore di soglia lo zero,per cui il led mi lampeggia in continuazione in maniera errata.

Sulla base di ciò,come posso convertire il codice ascii della tastiera in un valore decimale?basta solo il comando atof oppure devo far altro??

grazie in anticipo per le risposte

con: int(char);

Ciao Uwe

Dunque, supponendo che sia riuscito a leggere da tastiera un char rappresentante un numero. Es: '9', '5' ..

Se guardi la tabella ascii scoprirai che ad ogni numero espresso come carattere ('3', '5', '7') corrisponde un numero o codice.

Questo vuol dire che se tu hai per es:

char a = '9';

Il valore della variabile a sara', in decimale, 57. Vedi tabella ascii.

Quindi da questo e notando che i caratteri dei numeri sono progressivi 0->9 allora puoi fare:

char a = '9';
int val_a = (int) a - (int) '0';

Nella variabile val_a dovresti ora ottenere 9.

risolto....il problema non era sulla conversione...ma nel fatto che nella funzione esterna che poi richiamavo non mettevo il return finale,per cui quando la richiamavo mi dava sempre zero in uscita e quindi sballava tutto...

Grazie cmq dei suggerimenti :slight_smile: