/*asciitoint.cpp*/

// Conversione di una stringa contenente cifre in un numero intero

#include <iostream>
using namespace std;

int asciitoint (char *s)
{
// la variabile n contiene il numero risultante dalla conversione
int n = 0;
// La conversione continua fintantoché la stringa contiene cifre
while ( *s >= '0' && *s <= '9' )
// Ad ogni passo, il numero viene moltiplicato per dieci
// (quindi scalato verso sinistra) e nel posto delle unità
// viene sommato il valore numerico. Allo stesso tempo,
// il puntatore alla stringa viene incrementato per
// andare al carattere successivo.
n = n * 10 + (*(s++) - '0');
// All'uscita dal ciclo while, la variabile n contiene il numero
// intero corrispondente.
return n;
}

// Programma principale di verifica
int main (void)
{
char c[100];
cout << "Scrivi un numero: ";
cin >> c;
cout << "Il tuo numero, tradotto in intero, è "
<< asciitoint(c) << '.' << endl;
return 0;
}