Buongiorno a tutti,
ho un problema con un esercizio che mi chiede di programmare un programma che chieda l'inserimento di un numero intero, e mi restituisca le cifre, e la somma di esse, ignorando l'eventuale segno meno...
ora io ho scritto il seguente codice:
int main ()
{
// dichiarazione variabili
int num;
int sum = 0;
int cifra = 0;
// richiesta e lettura variabili
cout << "inserire un numero intero: \t";
cin >>num;
// enunciato totalmente facoltativo per l'errore possibile nel flusso di ingresso.
if (!cin) {
cout << "input non valido! \nil programma terminerà";
return 0;
}
// rendo il numero positivo nel caso sia negativo.
num = abs(num);
// ciclo while per ottenere la visualizzazione e contare la somma delle cifre
while (num > 0) {
cifra = num - ((num / 10) * 10);
sum = sum + cifra;
num = num / 10;
cout << cifra << " ";
}
cout << "\nla somma di tutte le cifre del numero è:\t"
<< sum;
return 0;
}
ora il problema è nel ciclo while:
while (num > 0) {
cifra = num - ((num / 10) * 10);
sum = sum + cifra;
num = num / 10;
cout << cifra << " ";
}
che ovviamente mi scrive le cifre al contrario sullo schermo...
avete qualche consiglio da darmi?