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

使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。 
例如:命令行参数输入:test.exe -a 1 2 

执行1+2输出3 

Linux运行!!!

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int add(x,y)
{
return x + y;

}
int sub(x,y)
{
return x - y;
}
int mul(x,y)
{
return x * y;
}
int rdiv(x,y)  //c语言中的div函数,是将两个整数相除,返回商。所以要重命名
{
  if(y == 0)
  {
  printf("div is 0!\n");//分母不为零
  return -1;
  }
  else
  {
  return x / y;
  }
}
int main(int argc,char *argv[])//int argc表示环境变量的个数
{                              //char *argv[] 为存储具体环境变量的字符串指针数组
	 int x = atoi(argv[2]);      //argv[0]其中第0个参数是程序的全名,以后的参数  
                                 //命令行后面跟的用户输入的参数
	 int y = atoi(argv[3]); 
	 int ret = 0;                //atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数
	 if(argc != 4)
	 {
		 printf("%s -[a|s|m|d] x y\n",argv[0]);
		 return 1;
	 }
	 if(strcmp("-a",argv[1]) == 0)
	 {
	 ret = add(x,y);
	 }
	 else if(strcmp("-s",argv[1]) == 0)
	 {
	 ret = sub(x,y);
	 }
	  else if(strcmp("-m",argv[1]) == 0)
	 {
	 ret = mul(x,y);
	 }
	  else if(strcmp("-d",argv[1]) == 0)
	 {
	 ret = rdiv(x,y);
	 }
	  else
	  {
	  printf("%s -[a|s|m|d] x y\n",argv[0]);
	  return 2;
	  }
	  printf("result: %d\n",ret);
	return 0;
system("pause");
}


猜你喜欢

转载自blog.csdn.net/w_j_f_/article/details/79843212