Вы уже получили некоторые ответы, но я думаю, что я предложу немного другую возможность - избавиться от большей части потока управления и заменить немного математики:
char grades[] = "00000012344";
char *messages[] = {
"Excellent Job",
"Good job",
"Average job",
"Mediocre Job",
"Failure"
};
if (score < 0 || score > 100)
std::cout << "Invalid score";
else {
int grade = grades[score/10];
std::cout << messages[grade];
}
Итак, мы используем score/10
, чтобы превратить оценки от 0-100 до 0-10. Затем мы ищем подходящую оценку для оценки: f = 0, d = 1, c = 2, b = 3 и a = 4. Мы используем это, чтобы выбрать и распечатать соответствующее сообщение. Я добавил сообщения (которые могут быть или не совсем то, что вы хотите) для писем, которые вы пропустили.