用c语言实现,一个具有两个数加减乘除功能的计算器。
时间: 2024-10-28 16:09:17 浏览: 27
在C语言中,我们可以创建一个简单的控制台计算器程序,它具备基本的四则运算功能。下面是一个简单的示例,我们定义一个结构体来存储操作数和操作符,然后提供函数来进行计算:
```c
#include <stdio.h>
// 定义计算器操作的数据结构
typedef struct {
double num1;
double num2;
char op; // 运算符
} Calculator;
// 函数来处理加法
double add(Calculator calc) {
return calc.num1 + calc.num2;
}
// 函数来处理减法
double subtract(Calculator calc) {
return calc.num1 - calc.num2;
}
// 函数来处理乘法
double multiply(Calculator calc) {
return calc.num1 * calc.num2;
}
// 函数来处理除法,注意这里需要处理除数为0的情况
double divide(Calculator calc, double divisor) {
if (divisor != 0)
return calc.num1 / calc.num2;
else
printf("Error: Division by zero is not allowed.\n");
return 0; // 返回默认值或错误处理结果
}
int main() {
Calculator calculator;
double result;
char input_op;
// 用户输入第一个数字
printf("Enter the first number: ");
scanf("%lf", &calculator.num1);
// 输入运算符
printf("Enter an operator (+,-,*,/): ");
scanf(" %c", &input_op);
calculator.op = input_op;
// 用户输入第二个数字
printf("Enter the second number: ");
scanf("%lf", &calculator.num2);
switch (calculator.op) {
case '+':
result = add(calculator);
break;
case '-':
result = subtract(calculator);
break;
case '*':
result = multiply(calculator);
break;
case '/':
result = divide(calculator, calculator.num2); // 注意传入实际的运算数
break;
default:
printf("Invalid operator. Please use +, -, *, or /\n");
return 1; // 错误处理
}
printf("The result is: %.2lf\n", result);
return 0;
}
```
阅读全文