Quick actions

cmd+k|ctrl+k

Navigation

Languages

Lab_2_2, 515i, Darchuk Hlib Serhiyovic

Snippet info

Language

C

Visibility

public

Author

h.s.darchuk

Created

2025-03-19T21:50:12.834193Z

Updated

2025-03-26T10:38:42.454886Z

/*
* @file Lab_2_2.cpp
* @author Дарчук Г.С., 515i
* @date 14.03.2025
* @brief Лабораторна робота №2, варіант 22
*
* Модульне тестування. Завдання 2
*/

// Підключення стандартних бібліотек
#include <stdio.h>
#include <locale.h>
#include <string.h>

// Підключення заголовочного файлу з реалізацією функцій
#include "calculatorFunctions.h"

int main(void)
{
	// Оголошення змінних для обчислень
	double a = 0; // Перше число (або результат попереднього обчислення)
	char type[6]; // Тип операції (максимум 6 символів)
	double b = 0; // Друге число
	while (1)
	{
		// Запит першого числа
		printf("Введіть перше число: ");
		scanf("%lf", &a);
		while (1)
		{
			// Виведення поточного значення `a`
			printf("Перше/отримане число: %lf\n", a);
			printf("Введіть тип операції: "); // Запит типу операції
			scanf("%5s", type);
			if (strcmp(type, "reset") == 0) break; // Завершення обчислень за командою "скид"
			// Операція додавання
			if (strcmp(type, "+") == 0)
			{
				printf("Введіть друге число: ");
				scanf("%lf", &b);
				a = add(a, b);
				continue;
			}
			// Операція віднімання
			if (strcmp(type, "-") == 0)
			{
				printf("Введіть друге число: ");
				scanf("%lf", &b);
				a = substract(a, b);
				continue;
			}
			// Операція множення
			if (strcmp(type, "*") == 0)
			{
				printf("Введіть друге число: ");
				scanf("%lf", &b);
				a = multiply(a, b);
				continue;
			}
			// Операція ділення
			if (strcmp(type, "/") == 0)
			{
				printf("Введіть друге число: ");
				scanf("%lf", &b);
				// Перевірка на ділення на нуль
				if (b == 0)
				{
					printf("Помилка: ділення на нуль! Можливо сплутано тип команди або друге число!\n");
					continue;
				}
				a = divide(a, b);
				continue;
			}
			// Операція обчислення тангенса
			if (strcmp(type, "tan") == 0)
			{
				a = tang(a);
				continue;
			}
			// Операція зведення у квадрат
			if (strcmp(type, "squar") == 0)
			{
				a = squar(a);
				continue;
			}
			// Операція зведення у куб
			if (strcmp(type, "cub") == 0)
			{
				a = cub(a);
				continue;
			}
			// Завершення роботи програми
			if (strcmp(type, "exit") == 0) return 0;
			// Повідомлення про невідому команду
			printf("Помилка: такої команди не існує!\n");
		}
	}
}
INFO