用C语言写3.设计一个加减乘除计算器,运行后可重复无限次 计算,要求输入姓名验证自己姓名后开始计算;可以计算整数(int),小数(float)。(使用i函数,计算内容输入形式不限)
时间: 2024-12-11 08:25:15 浏览: 12
在C语言中,我们可以创建一个简单的命令行计算器程序来满足这个需求。下面是一个基础的实现示例:
```c
#include <stdio.h>
#include <string.h>
// 函数原型声明
double add(double a, double b);
double subtract(double a, double b);
double multiply(double a, double b);
double divide(double a, double b);
void validate_name(char *name) {
char input[50];
printf("请输入您的姓名(验证后才能开始计算): ");
fgets(input, sizeof(input), stdin); // 读取用户输入,包括换行符
input[strcspn(input, "\n")] = '\0'; // 移除fgets读取的最后一行的换行符
if(strcmp(name, input) == 0) { // 比较名字是否一致
printf("验证通过,欢迎使用计算器!\n");
} else {
printf("验证失败,请重新输入。\n");
return;
}
}
int main() {
char name[] = "Your Name"; // 假设这里是你想要验证的名字
validate_name(name);
while (1) {
printf("\n选择运算:\n1. 加法\n2. 减法\n3. 乘法\n4. 除法\n5. 退出\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
double num1, num2;
printf("请输入两个数字: ");
scanf("%lf %lf", &num1, &num2);
printf("结果: %.2f\n", add(num1, num2));
break;
case 2:
scanf("%lf %lf", &num1, &num2);
printf("结果: %.2f\n", subtract(num1, num2));
break;
case 3:
scanf("%lf %lf", &num1, &num2);
printf("结果: %.2f\n", multiply(num1, num2));
break;
case 4:
if (num2 != 0) { // 防止除以零
scanf("%lf %lf", &num1, &num2);
printf("结果: %.2f\n", divide(num1, num2));
} else {
printf("错误:除数不能为零。\n");
}
break;
case 5:
printf("感谢使用,再见!\n");
exit(0);
default:
printf("无效的选择,请重新尝试。\n");
break;
}
}
return 0;
}
// 这些函数可以根据需要添加到你的项目中
double add(double a, double b) {
return a + b;
}
double subtract(double a, double b) {
return a - b;
}
double multiply(double a, double b) {
return a * b;
}
double divide(double a, double b) {
if (b != 0)
return a / b;
else
return 0; // 返回0防止除以零错误
}
```
在这个程序中,首先验证用户的输入姓名,然后进入一个无限循环,让用户选择运算并输入数字。注意,这是一个基本示例,实际应用中可能需要处理更多的边界情况和异常。
阅读全文