问题:请开发一个小小的计算器,当用户输入两整数,计算器可以直接给出和差积商
供参考:
#include <stdio.h>
#include <string.h>
void plus(double a, double b)
{
printf("%g + %g = %g\n", a, b, a + b);
}
void minus(double a, double b)
{
printf("%g - %g = %g\n", a, b, a - b);
}
void multiply(double a, double b)
{
printf("%g * %g = %g\n", a, b, a * b);
}
void divide(double a, double b)
{
printf("%g / %g = %.2f\n", a, b, a / b);
}
int main(void)
{
int ret;
char in[64] = { 0 }, x[16], y[16], op[10];
double a, b;//参加运算的两个数
while (1)
{
gets(in);//输入算式
if (strcmp(in, "exit") == 0) break; //输入“exit”时,退出计算器
ret = sscanf(in, "%[0-9.] %[^0-9. ] %[0-9.]", x, op, y);
if (ret == 3) {
sscanf(x, "%lf", &a);
sscanf(y, "%lf", &b);
if (strcmp(op, "+") == 0)
plus(a, b);
else if (strcmp(op, "-") == 0)
minus(a, b);
else if (strcmp(op, "*") == 0)
multiply(a, b);
else if (strcmp(op, "/") == 0 && b != 0)
divide(a, b);
else
printf("error!Please input again.\n");
}
else
printf("error!Please input again.\n");
}
return 0;
}