Ho questo esercizio che ho programmato ma dà risultati sbagliati. Ecco il testo:
Scrivere un programma che chiede all'utente di inserire una sequenza di
interi. Il programma continua a chiedere all'utente di inserire valori fintantochè i valori inseriti soddisfano
almeno una delle seguenti condizioni:
è negativo e divisibile per 2;
è positivo e divisibile per 3;
Al termine il programma stampa la somma di tutti i valori inseriti escluso quello ha violato le condizioni.
Risolvere questo esercizio senza usare array.
Ecco la mia soluzione:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n=0;
int somma=0;
cout<<"Inserisci una sequenza di numeri\n";
do
{
cin>> n;
if((n<0 && n%2==0)||(n>=0 && n%3==0))
somma +=n;
}while((n<0 && n%2==0)||(n>0 && n%3==0));
cout<<somma;
system("pause");
return 0;
}
L'errore che mi dà: io inserisco valori e lui non mi ferma mai, quando premo invio per fermare stampa zero. Dove ho sbagliato? Potete aiutarmi per favore? Grazie in anticipo.