#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int number1;
int number2;
int operation;
int main()
{
printf("Enter number 1\n");
scanf("%d", &number1);
printf("Enter operation\n");
scanf("%s", &operation);
printf("Enter number 2\n");
scanf("%d", &number2);
switch(operation)
{
case '+':
printf("= %lf\n", number1+number2);
break;
case '-':
printf("= %lf\n", number1-number2);
break;
case '*':
printf("Result = %lf\n", number1*number2);
break;
case '/':
if(number2 == 0)
printf("\n\n\aDivision by zero error!\n");
else
printf("= %lf\n", number1/number2);
break;
case '%':
if((long)number2 == 0)
printf("\n\n\aDivision by zero error!\n");
else
printf("= %ld\n", (long)number1%(long)number2);
break;
default:
printf("\n\n\a Illegal operation!\n");
}
system("PAUSE");
}
Wygląda to następująco w praktyce: wpisuję liczbę, znak, drugą liczbę - lecz nie dostaję poprawnego wyniku. Jest to problem z funkcją czy może jak przypuszczam - ze zmiennymi? I jak to mogę poprawić?