使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。

xiaoxiao2021-02-28  299

(1)第一种实现方法 #include <stdio.h> #include <string.h> #include <stdlib.h> int Add(int a, int b) { return a+b; } int Sub(int a, int b) { return a - b; } int Mul(int a, int b) { return a*b; } int Div(int a, int b) { return a / b; } int main(int argc, char* argv[]) { int i = 0; int ret = 0; if(argc != 4) { printf("参数有误\n"); return 0; } if (argv[1][0] == '-') { switch (argv[1][1])//"-a" { case 'a': ret = Add(atoi(argv[2]), atoi(argv[3])); break; case 's': ret = Sub(atoi(argv[2]), atoi(argv[3])); break; case 'm': ret = Mul(atoi(argv[2]), atoi(argv[3])); break; case 'd': ret = Div(atoi(argv[2]), atoi(argv[3])); break; default: printf("第二个参数有误\n"); break; } } printf("ret = %d\n", ret); system("pause"); return 0; } (2)第二种实现方法 #include <stdio.h> #include <string.h> #include <stdlib.h> int Add(int a, int b) { return a+b; } int Sub(int a, int b) { return a - b; } int Mul(int a, int b) { return a*b; } int Div(int a, int b) { return a / b; } int main(int argc, char* argv[]) { int i = 0; int ret = 0; if(argc != 4) { printf("参数有误\n"); return 0; } if (argv[1][0] == '-') { if (strcmp(argv[1], "-a") == 0) { ret = Add(atoi(argv[2]), atoi(argv[3])); } else if (strcmp(argv[1], "-s") == 0) { ret = Sub(atoi(argv[2]), atoi(argv[3])); } else if (strcmp(argv[1], "-m") == 0) { ret = Mul(atoi(argv[2]), atoi(argv[3])); } else if (strcmp(argv[1], "-d") == 0) { ret = Div(atoi(argv[2]), atoi(argv[3])); } } printf("ret = %d\n", ret); system("pause"); return 0; }

运行结果

转载请注明原文地址: https://www.6miu.com/read-53639.html

最新回复(0)