Lab_2_2, 515i, Darchuk Hlib Serhiyovic

Run Settings
LanguageC
Language Version
Run Command
/* * @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"); } } }
/* * @file calculatorFunctions.h * @author Дарчук Г.С., 515i * @date 14.03.2025 * @brief Лабораторна робота №2, варіант 22 * * Модульне тестування. Завдання 2 */ // Перевіряє, чи не визначено макрос CALCULATORFUNCTIONS_H #ifndef CALCULATORFUNCTIONS_H // Якщо макрос не визначений, то визначає його #define CALCULATORFUNCTIONS_H // Оголошення функцій для обчислення калькулятором double add(double a, double b); double substract(double a, double b); double multiply(double a, double b); double divide(double a, double b); double tang(double a); double cub(double a); double squar(double a); // Завершення умови перевірки та визначення макроса #endif
/* * @file calculatorFunctions.cpp * @author Дарчук Г.С., 515i * @date 14.03.2025 * @brief Лабораторна робота №2, варіант 22 * * Модульне тестування. Завдання 2 */ #include <stdio.h> #define _USE_MATH_DEFINES #include <math.h> double add(double a, double b) { a += b; return a; } double substract(double a, double b) { a -= b; return a; } double multiply(double a, double b) { a *= b; return a; } double divide(double a, double b) { a /= b; return a; } double tang(double a) { a = tan(a*M_PI/180); return a; } double cub(double a) { a = pow(a, 3); return a; } double squar(double a) { a = pow(a, 2); return a; }
Editor Settings
Theme
Key bindings
Full width
Lines