Quick actions

cmd+k|ctrl+k

Navigation

Languages

Lab 1 Ex 1

Snippet info

Language

C

Visibility

public

Author

v.v.lieonov

Created

2024-02-23T16:19:24.513396Z

Updated

2024-02-27T15:54:11.71247Z

/**
* @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 && (Sc - Ssq) < 0.0001 || Sc < Ssq && (Ssq - Sc) < 0.0001 ? 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;
}
INFO