Hej,
Gratuluję pracy nad zadaniami z książki.
Na wstępie - jeśli poprawisz literówkę w linii 14, to program powinien się kompilować - pewnie domyślasz się, o jaką chodzi:
cin>> a[i];a
myślę, że można by to zapisać lepiej, no ale nie wiem jak.
Pomyślmy więc, co można poprawić. Tak jak napisał WojAbuk, dobrze jest wczytać najpierw wszystkie zmienne - proponuję poprawić pętlę for, żeby to zrobiła.
A potem? Zgodnie z treścią zadania są dwie drogi - albo a[4]==0 i dostajemy stosowną informację, albo a[4]!=0 i dostajemy wynik. A zatem if … else … będzie ok, już bez tej pętli while w środku.
Poniższy kod mam nadzieję ułatwi Ci sprawę - jak widzisz, zrezygnowałem w nim ze zmiennych globalnych i dodałem zwracanie wartości (tak jak WojAbuk podpowiadał):
#include <iostream>
using namespace std;
int main()
{
float a[5];
float suma;
//tutaj pętla for wczytująca zmienne
if(a[4]==0) {
//tutaj jedna możliwość
}
else {
//tutaj druga
}
return 0;
}
Jak widzę, myślałeś też nad opcją, żeby wczytywać zmienną a[4] w pętli - aż użytkownik poda różną od 0. Treść zadania moim zdaniem nie wymaga tego, ale gdybyś chciał tak zrobić i miał kłopot - daj znać!