Написал мега простой калькулятор на старте обучения. Создатель курса не отвечает на вопрос, поэтому пишу тут. Консольная программа спокойно принимает x, y и math. То есть числа для подсчета результата и символ операции присваиваются адекватно. Но, как только программа должна через свич найти совпадения и вывести расчет, сразу же перескакивает на строку с дефолтом и принтует сообщение об ошибки. Ниже будет код, а ниже кода, то что выводится в консоли. Что заставляет программу прерваться и перескочить не дефолт? Заранее спасибо!
#include <stdio.h>
int main() {
int x, y, res;
char math;
printf("Please, enter first namber: ");
scanf("%d", &x);
printf("Please, enter second namber: ");
scanf("%d", &y);
printf("Please, enter math symbol: ");
scanf("%c\n", &math);
printf("Please, wait... We are calculating finish result.\n");
switch(math) {
case '+':
res = x + y;
printf("Result: %d + %d = %d\n", x, y, res); break;
case '-':
res = x - y;
printf("Result: %d - %d = %d\n", x, y, res); break;
case '*':
res = x * y;
printf("Result: %d * %d = %d\n", x, y, res); break;
case '/':
res = x / y;
printf("Result: %d / %d = %d\n", x, y, res); break;
default:
printf("Error. Please, try again."); break;
}
return 0;
}
Вывод программы:
Please, enter first namber: 56
Please, enter second namber: 45
Please, enter math symbol: +
Please, wait... We are calculating finish result.
Error. Please, try again.
D:\С\tasks\21\x64\Debug\21.exe (процесс 8132) завершил работу с кодом 0.
Нажмите любую клавишу, чтобы закрыть это окно: