/**
* @file Ex1.cpp
* @author Лєонов В.В, гр. 515і2
* @date 15 лютого 2024
* @brief Лабороторна робота N 1, Варіант 11
*
* Розгалуження та вибір завдання 1
*/
// підключення заголовних файлів стандартних бібліотек мови C
#include <stdio.h>
#include <locale.h>
#include <math.h>
#define pi 3.14
#define ERR -1
//Функція для перевірки коректності введеного
int after_input_check(double r, double a)
{
return r >= 0.0 && a >= 0.0;
}
//Функція вираховування площі кола
double Scircle(double r)
{
return pi * pow(r, 2);
}
//Функція вираховування площі квадрата
double Ssquare(double a)
{
return a * a;
}
//Функція функція порівняння площі і квадрата.
int Sdifferent(double r, double a)
{
if(after_input_check(r, a))
{
double Sc = Scircle(r);
double Ssq = Ssquare(a);
return Sc == Ssq ? 0 : Sc > Ssq ? 1 : 2;
}
else return ERR;
}
int main()
{
setlocale(LC_ALL, "rus"); //Підключення російської мови
//Оголошення змінних
double r, a, Scir, Ssqu;
int output;
//Введеня даних
printf("Введите значение радиуса круга:\n");
scanf("%lf", &r);
printf("Введите значение стороны квадрата:\n");
scanf("%lf", &a);
printf("\n");
output = Sdifferent(r, a);
Scir = Scircle(r);
Ssqu = Ssquare(a);
//Виведення помилки
if(output == ERR)
{
printf("Значение введено ошибочно\n");
return ERR;
}
switch (output)
{
default: printf("Ошибка"); return ERR; break;
case 0: printf("%.2lf площадь круга = %.2lf площадь квадрата\n", Scir, Ssqu);
break;
case 1: printf("%.2lf площадь круга > %.2lf площадь квадрата\n", Scir, Ssqu);
break;
case 2: printf("%.2lf площадь круга < %.2lf площадь квадрата\n", Scir, Ssqu);
break;
}
//Завершення роботи
return 0;
}