#include 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); } }