/* tinycal.c */ /* a tiny calculator */ /* Author: Weiwei Chen */ /* Date: Oct. 31. 2010 */ /*preprocessor directives*/ #include /*global variables*/ int i1, i2, res, compokey; /*function declaration */ void add(int op1, int op2); void sub(int op1, int op2); void mul(int op1, int op2); void div(int op1, int op2); void printMenu(); void getInput(); void outputResult(int n); /*main function*/ int main(void) { /*variable definitions*/ int choice = 0; /*input, computation and output sections*/ do { printMenu(); scanf("%d", &choice); switch(choice) { case 1: getInput(); add(i1, i2); outputResult(res); break; case 2: getInput(); sub(i1, i2); outputResult(res); break; case 3: getInput(); mul(i1, i2); outputResult(res); break; case 4: getInput(); div(i1, i2); if(compokey){ outputResult(res); } break; default: break; } }while(choice != 0); return 0; } void add(int op1, int op2) /*addition of two numbers*/ { res = op1 + op2; } void sub(int op1, int op2) { res = op1 - op2; } void mul(int op1, int op2) { res = op1 * op2; } void div(int op1, int op2) { compokey = 1; if(op2 == 0) { printf(" invalid divisor 0!!!! \n"); printf("********************************\n\n"); compokey = 0; return; } res = op1 / op2; } void printMenu() { printf(" 1. add two numbers \n"); printf(" 2. subtract two numbers \n"); printf(" 3. multiple two numbers \n"); printf(" 4. divide two numbers \n"); printf(" 0. exit \n"); printf(" Enter your choice: "); } void getInput() { printf(" i1 = "); scanf("%d", &i1); printf(" i2 = "); scanf("%d", &i2); } void outputResult(int n) { printf(" The result is %d \n", n); printf("********************************\n\n"); }