Это:
int function_points (char lettergrade)
{
int points;
char lettergrade;
Вы переделываете аргументы своей функции как локальные переменные. Вам не нужно этого делать (и вы не можете этого сделать). Просто удалите последнюю строку из приведенного выше фрагмента.
Вы случайно пользуетесь какой-нибудь книгой на языке C, которая является пре-ANSI C (например, K & R 1st ed.)? Ошибка выглядит как смешанная декларация ANSI и старая K & R. Если это так, найдите обновленную книгу.
Кроме того, это:
if (points < 90 && points > 100)
lettergrade = A;
else if (points < 80 && points > 89
lettergrade = B;
else if (points < 70 && points > 79
lettergrade = C;
else if (point < 60 && point > 69)
lettergrade = D;
else
{
lettergrade = F;
}
Этот код, как написано, пытается ссылаться на переменные A
, B
, C
и т. Д. То, что вы, вероятно, хотите, это символы - они будут записаны как 'A'
, 'B'
, 'C'
и т. Д. - в одинарных кавычках.