Myślę, że może być problem z enterem, ale nie jestem do końca przekonany. W jaki sposób zerwać pętlę po naciśnięciu enter tak aby suma została wypisana na ekran ?
int n;
cin >> n;
while (n--) {
int suma = 0, liczba;
char znak;
cin >> suma;
while (cin >> znak >> liczba) {
/* ... */
if (cin.peek() == '\n')
break;
}
cout << suma << "\n";
}
Funkcja peek zwraca kolejny znak znajdujący w strumieniu. Jeżeli będzie nim znak nowej linii to przerywamy pętlę (break). Analogicznie można podpiąć wszystko do wyrażenia warunkowego pętli:
while (cin.peek() != '\n' and cin >> znak >> liczba) {