Write a program to model a simple calculator. Each data line should consist of the next operation to be performed from the list below and the right operand. Assume the left operand is the accumulator value (with an initial value of 0). You need a function scan_data() with two output parameters that returns the operator and the right operand scanned from the data line. You need a function do_next_op() that performs the required operation. do_next_op() has two input parameters (the operator and the operand) and one input/out put parameters ( the accumulator). The valid operators are:
+ add
- minus
* multiply
/ divide
^ power(raise left operand to power of right operand)
q quit
Your calculator should display the accumulator value after each operation.
Sample run:
Calculator program ( RESULT=0)
Input: + 5.0 (enter)
Result:5.0
Input: ^ 2 (enter)
Result:25.0
Input: / 2 (enter)
Result:12.5
Input: q (enter)
Final Result:12.5
my code:
Code:
#include<stdio.h>
float plus(float result, float number);
float minus(float result, float number);
float divide(float result, float number);
float multiply(float result, float number);
float power(float result, float number);
float quit(float result, float number);
main(){
float result=0;
float number;
char input;
printf("Calculator Program (RESULT=0)\n");
do{
printf("INPUT: ");
scanf("%c %f", &input, &number);
printf("%c %.2f", input, number);
if(input='+'){
result=plus(result,number);
}
else if(input='-'){
result=minus(result,number);
}
else if(input='*'){
result=multiply(result,number);
}
else if(input='/'){
result=divide(result,number);
}
else if(input='^'){
result=power(result,number);
}
else if(input='q'){
result=quit(result,number);
}
else{
printf("INVALID INPUT");
}
}while(1);
}
float plus(float result, float number){
result=result+number;
printf("RESULT:", result);
return result;
}
float minus(float result, float number){
result=result-number;
printf("RESULT:", result);
return result;
}
float multiply(float result, float number){
result=result*number;
printf("RESULT:", result);
return result;
}
float divide(float result, float number){
result=result/number;
printf("RESULT:", result);
return result;
}
float power(float result, float number){
result=result*result;
printf("RESULT:", result);
return result;
}
float quit(float result, float number){
printf("FINAL RESULT:", result);
exit (0);
}
is my code correct?? it not working properly...