/*
* @file lab2_2.c
* @author Герасимюк Д.В., гр. 515і1
* @date 12 березня 2024
* @brief Лабораторна робота №2, варіант 3
* Модульне тестування. Завдання 2
*/
#define _USE_MATH_DEFINES
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "functions.h"
int main()
{
double num1, num2, x;
int choice;
char repeat;
do {
printf("Оберіть операцію:\n");
printf("0. Скидання\n");
printf("1. Додавання\n");
printf("2. Віднімання\n");
printf("3. Множення\n");
printf("4. Ділення\n");
printf("5. tg(x)\n");
printf("6. Кубічний корінь з x\n");
printf("7. x^4\n");
printf("Введіть ваш вибір: ");
scanf("%d", &choice);
double result;
switch (choice) {
case 0: system("cls"); break;
case 1:
case 2:
case 3:
case 4:
printf("Введіть перше число: ");
scanf("%lf", &num1);
printf("Введіть друге число: ");
scanf("%lf", &num2);
break;
case 5:
case 6:
case 7:
printf("Введіть значення x: ");
scanf("%lf", &x);
break;
default:
printf("Невірний вибір! Будь ласка, введіть число від 1 до 7.\n");
continue;
}
switch (choice) {
case 1:
result = num1 + num2;
printf("Результат: %.2f\n", result);
break;
case 2:
result = num1 - num2;
printf("Результат: %.2f\n", result);
break;
case 3:
result = num1 * num2;
printf("Результат: %.2f\n", result);
break;
case 4:
if (num2 != 0) {
result = num1 / num2;
printf("Результат: %.2f\n", result);
}
else {
printf("Помилка! Некоректне значення\n");
}
break;
case 5:
result = tg(x);
printf("Результат tg(x): %.2f\n", result);
break;
case 6:
result = korincub(x);
printf("Кубічний корінь з x: %.2f\n", result);
break;
case 7:
result = stepin(x);
printf("Результат x^4: %.2f\n", result);
break;
}
printf("Бажаєте продовжити (y/n)? ");
scanf(" %c", &repeat);
} while (repeat == 'y' || repeat == 'Y');
printf("Дякую, до побачення!\n");
return 0;
}
#pragma once
#define _USE_MATH_DEFINES
#include <math.h>
double tg(double x)
{
return tan(x);
}
int korincub(int x)
{
if (x >= 0) return pow(x, 1./3);
else return -pow(-x, 1./3);
}
int stepin(int x)
{
return pow(x, 4);
}