Nie przeczytałem dokładnie kodu, ale chyba wiem w czym problem. Do przypisywania wartości do zmiennych, owszem, służy operator =. Natomiast do porównywania dwóch wartości służy operator ==. A więc w warunkach instrukcji warunkowych if musisz pozamieniać pojedynczy znak = na podwójny ==.
Kod po poprawieniu powinien wyglądać więc tak:
for (int x = 0; x <= 3; x++)
{
if(ocena[x] == 3)
ocena[x] = 8;
else if (ocena[x] == 4)
ocena[x] = 14;
else if (ocena[x] == 5)
ocena[x] = 17;
else if (ocena[x] == 6)
ocena[x] = 18;
punkty += ocena[x];
}
Zwróć jeszcze uwagę, że instrukcję:
punkty=punkty+ocena[x];
Można zapisać krócej, tak jak ja to zrobiłem, przy pomocy operatora +=
punkty += ocena[x];
Do tego, zamiast tych wszystkich ifów, możesz użyć konstrukcji switch.
Jeszcze jedna sprawa. Nie widziałem całego kodu, ale:
for(int x=0; x<=3; x++)
Jeżeli tablica ocena jest tylko trzyelementowa, to ten warunek pętli for spowoduje problemy. Zapewne miało tam być x < 3.