Ciao a tutti, e' il primo post che scrivo insieme al il mio primo problema. Devo scrivere un programma che, letta da input una sequenza di interi terminata da -1, controlli che siano tutte cifre decimali (0-9), calcoli il numero che si ottiene giustapponendo le cifre, e verifichi se il numero
ottenuto è divisibile per 3. Il programma dovrebbe, ad esempio, stampare solo la stringa VUOTO quando il primo numero inserito e' -1, invece esegue anche i punti successivi stampando anche altro. Potreste dirmi in quale punto sbaglio? Non riesco proprio ad uscirne. Grazie mille!
#include <iostream>
using namespace std;
int main ()
{
int a, somma=0;
bool decimale=false;
cin>>a;
if (a == -1)
cout<<"VUOTO";
if (a != -1)
{
while (a != -1)
{
somma=(somma*10)+a;
if (a>=0 && a<=9)
decimale=true;
cin>>a;
}
}
if (decimale==false)
cout<<"ERRORE";
else if (decimale==true && somma%3==0)
cout<<somma<<"SI";
else
cout<<somma<<"NO";
return 0;
}