הוספתי גם את התוכנית עצמה#include<stdio.h>
int StringToInt();
void Calculate(int n1,int n2,char op);
int main(){
int n1,n2;
char c,op;
printf("Enter any integer as a string: ");
n1 = StringToInt(); // convert first num
op = getchar(); // read the operator
n2 = StringToInt();
Calculate(n1,n2,op)
return 0;
}
int StringToInt()
{
int i=0,sum=0;
while(isspace(c = getchar()); // skipping spaces
do
{
if(c < 48 || c > 57)
{
printf("Unable to convert it into integer.\n");
return 0;
}
else
{
sum = sum*10 + (c - 48);
}
} while(!isspace(c = getchar()) || c != '\n') // in the end of the function c contains the space between first num and operator
return sum;
}
void Calculate(int n1,int n2,char op)
{
switch(op)
{
case '+' : printf("\n%d + %d = %d",n1,n2,n1+n2); break;
case '-' : printf("\n%d - %d = %d",n1,n2,n1-n2); break;
case '*' : printf("\n%d * %d = %d",n1,n2,n1*n2); break;
case '/' : printf("\n%d / %d = %d",n1,n2,n1/n2); break;
default: printf("invalid operator %c",op);
}
}