Cześć! Robię zadanie ze średnią - 5. odc kursu Pana Mirosława Zelenta. Postanowiłem je trochę rozszerzyć - mianowicie niech program przerwie liczenie i pojawi się stosowny komunikat, kiedy pojawi się ocena większa, niż 6, bo przecież nie można takiej otrzymać. Jednak ma dać użytkownikowi drugą szansę na wprowadzenie tej cyfry:
1) albo od początku, kasując wszystkie inne cyfry - jednak mój program wyświetla komunikat, że cyfra jest większa i liczy dalej
2) albo tylko w tej linijce, w której został popełniony błąd (cyfra większa niż 6), ale to już kompletnie nie wiem, czy to jest możliwe
Postanowiłem wykorzystać do tego pętlę for(;;), jednak coś jest nie tak. Może to kwestia tablic? I tego, że "i" się inkrementuje, przez co program liczy dalej?
#include <iostream>
#include <cstdlib>
using namespace std;
float oceny[5], srednia, suma;
int main()
{
for(;;)
{
for(int i=1; i<=5; i++)
{
cout<<"Wprowadz "<<i<<". cyfre: ";
cin>>oceny[i];
suma=suma+oceny[i]; //suma+=oceny[i];
srednia=suma/5;
if (oceny[i]>6)
{
cout<<"Ocena nie moze byc wyzsza, niz '6', sprobuj ponownie."<<endl;
}}
cout<<endl<<"Suma ocen wynosi: "<<suma<<endl;
cout<<"Srednia ocen wynosi: "<<srednia<<endl;
exit(0);
}
return 0;
}
Dzięki za każdą odpowiedź, pozdro!