Калькулятор - критика кода - C (СИ)
Формулировка задачи:
Сплошной примитив и способ реализации уверен не самый удачный, но я новичок в Си и для меня это большой шаг))
Хотелось бы посмотреть на то как вы видите решение данной задачи.
#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<locale.h> int main() { setlocale(LC_ALL, "Russian"); int Addition = 0,Subtraction = 1,Multiplication = 2,Division = 3; /* Тип операции */ int i,a,b,c; int h, Yes = 0, No = 1; float g; m1: printf("\n Чтобы использовать операцию сложения введите 0\n"); printf("\n Чтобы использовать операцию вычитания введите 1\n"); printf("\n Чтобы использовать операцию умножения введите 2\n"); printf("\n Чтобы использовать операцию деления введите 3\n"); scanf("%d", &i); if(i == Addition) { printf("Введите первое слагаемое:"); scanf("%d", &a); printf("Введите второе слагаемое:"); scanf("%d", &b); c = a + b; printf("Сумма равна: %d",c); } if(i == Subtraction) { printf("Введите уменьшаемое:"); scanf("%d", &a); printf("Введите вычитаемое:"); scanf("%d", &b); c = a - b; printf("Разность равна: %d",c); } if(i == Multiplication) { printf("Введите первый множитель:"); scanf("%d", &a); printf("Введите второй множитель:"); scanf("%d", &b); c = a * b; printf("Произведение равно: %d",c); } if(i == Division) { printf("Введите делимое:"); scanf("%d", &a); printf("Введите делитель:"); scanf("%d",&b); g = a / b; printf("Частное равно: %.2f",g); } printf("\n Желаете повторить операцию? Да - 0, Нет - 1\n"); scanf("%d", &h); if(h == 0) { goto m1; } else(printf("Спасибо, что воспользовались моим калькулятором!")); getch(); }
Решение задачи: «Калькулятор - критика кода»
textual
Листинг программы
#include <stdio.h> int main() { int a, b; char oper; scanf("%d%c%d", &a, oper, &b); switch(oper) { case '+': { printf("%d%c%d=%d\n", a, oper, b, a+b); break; } case '-': { printf("%d%c%d=%d\n", a, oper, b, a-b); break; } case '/': { printf("%d%c%d=%d\n", a, oper, b, a/b); break; } case '*': { printf("%d%c%d=%d\n", a, oper, b, a*b); break; } } }
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Объявляем переменные a, b типа int и oper типа char
- Считываем значения переменных a, oper, b с помощью функции scanf
- Используем оператор switch для выбора операции в зависимости от значения переменной oper
- В случае '+' выполняем операцию сложения и выводим результат на экран
- В случае '-' выполняем операцию вычитания и выводим результат на экран
- В случае '/' выполняем операцию деления и выводим результат на экран
- В случае '*' выполняем операцию умножения и выводим результат на экран
- Выполняем операцию break после каждой ветки условного оператора switch
- Программа завершается после выполнения всех ветвей условного оператора switch
- Значения переменных a, oper, b считываются в указанном порядке
- Значение переменной oper должно быть одним из символов '+', '-', '/', '*'
- Переменные a и b используются как аргументы для операций сложения, вычитания, деления и умножения
- Результат операции сохраняется в переменной a или b в зависимости от ветви условного оператора switch
- Результат операции выводится на экран с помощью функции printf
- Значение переменной oper не проверяется на равенство символу ' ' или символу новой строки '\n'
- Если значение переменной oper не равно символу ' ' или символу новой строки '\n', то программа ожидает ввода еще двух чисел
- Если значение переменной oper равно символу ' ' или символу новой строки '\n', то программа завершается
- Значение переменной oper не проверяется на равенство символу '+' или символу '-'
- Значение переменной oper не проверяется на равенство символу '/' или символу '*'
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д