# 用C语言设计计算器：实现加减乘除

#include<stdio.h>
#include<windows.h>
{
return x + y;
}
int sub(int x, int y)
{
return x - y;
}
int nul(int x, int y)
{
return x*y;
}
int drv(int x, int y)
{
return x / y;
}
int main(){
int x, y;
int input = 1;
int ret = 0;
while (input){
printf("***********************\n");
printf("  3:nul        4:div   \n");
printf("***********************\n");
printf("请选择：");
scanf_s("%d", &input);
switch (input){
case 1:
{
printf("输入的数：");
scanf_s("%d%d", &x, &y);
}; break;
case 2:
{
printf("输入的数：");
scanf_s("%d%d", &x, &y);
ret = sub(x, y);
}; break;
case 3:
{
printf("输入的数：");
scanf_s("%d%d", &x, &y);
ret = nul(x, y);
}; break;
case 4:
{
printf("输入的数：");
scanf_s("%d%d", &x, &y);
ret = drv(x, y);
}; break;
default:
printf("输入错误，请重新输入！\n");
}
printf("%d\n", ret);
}
system("pause");
return 0;
}

#include<stdio.h>
#include<windows.h>
{
return x + y;
}
int sub(int x, int y)
{
return x - y;
}
int nul(int x, int y)
{
return x*y;
}
int drv(int x, int y)
{
return x / y;
}
int main(){
int x, y;
int input = 1;
int ret = 0;
int(*p[5])(int x, int y) = { 0, add, sub, nul, drv };//转移表
while (input){
printf("***********************\n");
printf("  3:nul        4:div   \n");
printf("***********************\n");
printf("请选择：");
scanf_s("%d", &input);
if ((input<=4 && input>=1))
{
printf("输入操作数：");
scanf_s("%d %d", &x, &y);
ret = (*p[input])(x, y);
}
else
printf("输入错误\n");
printf("%d\n", ret);
}
system("pause");
return 0;
}

main有三个参数：int argc，表示命令行参数加上程序路径的个数，最小为1。char * argv[]，表示main函数的命令行参数。char * env[]，表示环境变量

#include <stdio.h>
int main(int argc, char *argv[])
{
int ret = 0;
if (argc != 4)//判断参数个数
{
printf("error!\n");
}
if (argv[1][0] == '-')//第二个参数（字符串）判断
{

switch (argv[1][1])
{
case 'a':   ret = atoi(argv[2]) + atoi(argv[3]); break;//此处利用atoi函数将指针数组类型转换为整型。
case 's':   ret = atoi(argv[2]) - atoi(argv[3]); break;
case 'm':   ret = atoi(argv[2]) * atoi(argv[3]); break;
case 'd':   ret = atoi(argv[2]) / atoi(argv[3]); break;
default:printf("error!\n"); break;
}
}
printf("运算结果为： %d\n", ret);
return 0;

}


• 广告
• 抄袭
• 版权
• 政治
• 色情
• 无意义
• 其他

120