... выдает ошибку в операторе switch, говоря: «ожидается () перед {»
Это потому, что строка
switch {
должно быть
switch (n) {
Некоторые другие замечания:
1) In
double num_1 = 0.0;
double num_2 = 0.0;
double n = 0.0;
double Total = 0.0;
theинициализация бесполезна, потому что вы будете (пытаться) переназначить переменные после
Тип n должен быть изменен на целое число из-за его использования
2) В
scanf("%d", & num_1);
....
scanf("%d", & num_2);
%d
означает, что вы вводите int , но вы даете указатель на double , это недопустимо
Замените %d
на %g
, например
3) В
printf("The add is : %d\n",Total);
...
printf("The Subtract is : %d\n",Total);
...
printf("The division is : %d\n",Total);
...
printf("The multiplication is : %d\n",Total);
...
printf("The percentage is : %d\n",Total);
...
printf("The power is : %d\n",Total);
формат %d
означает, что вы печатаете int но вы даете double , замените %d
на %g
например
4) In
case 6 : Total=; pow(num_1, num_2)
', 'неправильно расположен, должен быть
case 6 : Total= pow(num_1, num_2);
5) вы не проверяете, будете ли вы делить илипо модулю 0
6) вы не проверяете ваш scanf , возвращающий 1, поэтому, если было введено правильное значение (и не EOF тоже)
7) printf("No Result\n");
canзаменить на printf("Invalid command\n");
или puts("Invalid command");