Potrzebuje napisać if'a który zabezpieczy przed wprowadzeniem do zmiennej int jakieś litery badz ciagu znaków oraz liczb które są poza skalą ocen ( 1-6 ). Z liczbami sam umiem poradzic ale ze znakami juz nie. probówałem juz z funckcjami isalpha() i podobnymi ale nic to nei dawało, gdzyż po wpisaniu jeden raz litery pętla w której siedzi ten if zaczynala wykonywac sie w nieskończonosc.
KOD:
int main()
{
cout<<"Ile masz przedmiotow ocenianych? ";
cin>>ile;
int *oceny;
oceny=new int [ile];
for (int i=0;i<ile;i++)
{
cout<<"Podaj "<<i+1<<". ocene: ";
cin>>oceny[i];
if(oceny[i]>6||oceny[i]<1)
{
cout<<"Wprowadziles zny znak. Podaj liczbe od 1 do 6!"<<endl;
i--;
}
else{
suma+=oceny[i];
}
}
cout<<endl<<"Srednia wynosi: "<<fixed<<setprecision(2)<<suma/ile<<endl;
system("pause");
return 0;
}