Создать программу "Консольный калькулятор" - C (СИ)
Формулировка задачи:
Создать программу консольный калькулятор которая выполняет 7 любых действий при этом пользователя должны запрашивать значения в зависимости от типу действий
Решение задачи: «Создать программу "Консольный калькулятор"»
textual
Листинг программы
#include <stdio.h> #include <locale.h> #include <math.h> int main (void) { setlocale(LC_ALL,"Russian"); int num1,num2,choice; // Для целочисленных операций long int sum,multiple,subtraction; // Для суммы,вычитания,умножения double power,division,square_root,division_mod; // Возведение в степень, извлечение корня, деление. printf("Выберите операцию: \n"); printf("1-Сложение\n"); printf("2-Вычитание\n"); printf("3-Умножение\n"); printf("4-Деление\n"); printf("5-Возведение в степень\n"); printf("6-Извлечение квадратного корня\n"); scanf("%d",&choice); switch(choice) { case 1: printf("Сложение\n"); printf("Введите первое число: "); scanf("%d",&num1); printf("Введите второе число: "); scanf("%d",&num2); sum = num1 + num2; printf("Сумма: %ld",sum); break; case 2: printf("Вычитание\n"); printf("Введите первое число: "); scanf("%d",&num1); printf("Введите второе число: "); scanf("%d",&num2); subtraction = num1 - num2; printf("Вычитание: %ld",subtraction); break; case 3: printf("Умножение\n"); printf("Введите первое число: "); scanf("%d",&num1); printf("Введите второе число: "); scanf("%d",&num2); multiple = num1 * num2; printf("Результат умножения: %ld\n",multiple); break; case 4: printf("Деление\n"); printf("Введите первое число: "); scanf("%d",&num1); printf("Введите второе число: "); scanf("%d",&num2); if (num2 == 0) { printf("На ноль делить нельзя."); break; } division = num1 / num2; division_mod = num1 % num2; printf("Результат целочисленного деления: %f\n",division); printf("Результат деления с остатком: %f\n",division_mod); break; case 5: printf("Возведение в степень\n"); printf("Введите первое число: "); scanf("%d",&num1); printf("Введите второе число: "); scanf("%d",&num2); power = pow(num1,num2); printf("Результат возведения в степень: %f\n",power); break; case 6: printf("Извлечение квадратного корня\n"); printf("Введите число: "); scanf("%d",&num1); square_root = sqrt(num1); printf("Результат извлечения корня: %f\n",square_root); break; default: printf("Ошибка.Попробуйте еще раз\n"); } getch(); return 0; }
Объяснение кода листинга программы
- Объявлены переменные:
- num1, num2, choice (типа int)
- sum, multiple, subtraction, division, division_mod, power, square_root (типа long int)
- В случае деления на ноль (division_mod) и извлечения корня из отрицательного числа (square_root) результат может быть некорректным.
- Выводится приглашение для выбора операции.
- Считывается выбранная операция в переменную choice.
- В зависимости от значения choice выполняется соответствующая операция:
- При выборе операции сложения (case 1):
- Пользователю предлагается ввести два числа.
- Результат сложения выводится на экран.
- При выборе операции вычитания (case 2):
- Пользователю предлагается ввести два числа.
- Результат вычитания выводится на экран.
- При выборе операции умножения (case 3):
- Пользователю предлагается ввести два числа.
- Результат умножения выводится на экран.
- При выборе операции деления (case 4):
- Пользователю предлагается ввести два числа.
- Если второе число равно нулю, выводится сообщение об ошибке и программа переходит к следующему циклу.
- Иначе, результат целочисленного деления и результат деления с остатком выводятся на экран.
- При выборе операции возведения в степень (case 5):
- Пользователю предлагается ввести два числа.
- Результат возведения в степень выводится на экран.
- При выборе операции извлечения корня (case 6):
- Пользователю предлагается ввести число.
- Результат извлечения корня выводится на экран.
- Если выбор операции не соответствует ни одному из перечисленных вариантов (case default), выводится сообщение об ошибке и программа переходит к следующему циклу.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д