Вывести строку – словесное описание соответствующей оценки - C (СИ)
Формулировка задачи:
Дано целое число в диапазоне 1–5. Вывести строку – словесное описание соответствующей оценки (1 – "плохо", 2 – "неудовлетворительно", 3 – "удовлетворительно", 4 – "хорошо", 5 – "отлично").
Решение задачи: «Вывести строку – словесное описание соответствующей оценки»
textual
Листинг программы
#include <assert.h>
#include <stdio.h>
#define MIN_GRADE_VALUE 1
#define MAX_GRADE_VALUE 5
static const char* grade_descriptions[] = { "ploho",
"neudovletvoritelno",
"udovletvoritelno",
"horosho",
"otlichno" };
int
main( void)
{
assert( MAX_GRADE_VALUE == sizeof(grade_descriptions));
int grade_value = 0;
scanf( "%d\n", &grade_value);
assert( MIN_GRADE_VALUE <= grade_value && MAX_GRADE_VALUE >= grade_value);
printf( "%s\n" grade_description[grade_value + 1]);
return 0;
}
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
и - Определяются минимальное и максимальное значения оценок (MIN_GRADE_VALUE и MAX_GRADE_VALUE)
- Объявляется массив строк с описаниями оценок grade_descriptions
- Проверяется, что количество описаний оценок (MAX_GRADE_VALUE) соответствует количеству элементов в массиве grade_descriptions
- Вводится значение оценки с помощью функции scanf
- Проверяется, что введенное значение оценки находится в допустимом диапазоне (MIN_GRADE_VALUE <= grade_value <= MAX_GRADE_VALUE)
- Выводится описание оценки, соответствующей введенному значению, с помощью функции printf и индексации массива grade_description (grade_description[grade_value + 1])
- Программа возвращает 0, завершая свою работу