Вывод площади
В этом шаге вы улучшите программу вычисления площади трапеции, добавив форматированный вывод и обработку ошибок для повышения удобства пользователя.
Откройте существующий файл и обновите код:
cd ~/project
nano trapezoid_area.c
Замените предыдущий код следующим:
#include <stdio.h>
int main() {
float side1, side2, height, area;
// Валидация ввода
printf("Калькулятор площади трапеции\n");
printf("----------------------------\n");
// Запрос ввода первой параллельной стороны
printf("Введите длину первой параллельной стороны: ");
if (scanf("%f", &side1) != 1 || side1 <= 0) {
printf("Ошибка: Неверный ввод для первой стороны.\n");
return 1;
}
// Запрос ввода второй параллельной стороны
printf("Введите длину второй параллельной стороны: ");
if (scanf("%f", &side2) != 1 || side2 <= 0) {
printf("Ошибка: Неверный ввод для второй стороны.\n");
return 1;
}
// Запрос ввода высоты
printf("Введите высоту трапеции: ");
if (scanf("%f", &height) != 1 || height <= 0) {
printf("Ошибка: Неверный ввод для высоты.\n");
return 1;
}
// Вычисление площади по формуле площади трапеции
area = 0.5 * (side1 + side2) * height;
// Форматированный вывод результатов
printf("\nРезультаты вычисления площади трапеции:\n");
printf("-------------------------------------\n");
printf("Первая сторона: %.2f\n", side1);
printf("Вторая сторона: %.2f\n", side2);
printf("Высота: %.2f\n", height);
printf("Площадь: %.2f квадратных единиц\n", area);
return 0;
}
Компилируем и запускаем программу:
gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area
Пример вывода:
Калькулятор площади трапеции
----------------------------
Введите длину первой параллельной стороны: 5
Введите длину второй параллельной стороны: 7
Введите высоту трапеции: 3
Результаты вычисления площади трапеции:
-------------------------------------
Первая сторона: 5.00
Вторая сторона: 7.00
Высота: 3.00
Площадь: 18.00 квадратных единиц
Объяснение
- Добавлена валидация ввода для предотвращения некорректных значений.
- Улучшен форматированный вывод с заголовками и ясными метками.
- Добавлена обработка ошибок для некорректных типов ввода.
- Включен описательный вывод со всеми входными параметрами и вычисленной площадью.
- Используется
%.2f для отображения чисел с плавающей точкой с двумя десятичными знаками.