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

本文介绍了一个简单的C语言实现的命令行计算器程序,该程序能够根据用户输入的命令行参数执行加、减、乘、除四种基本运算。通过解析命令行参数,程序能够灵活地进行数学计算。

因为涉及main函数参数,所以在linux 下面比较容易实现

int main(int argc, char *argv[], char *env[])

main的三个参数 :

  1. int argc,表示命令行参数加上程序路径的个数,最小为一
  2. char * argv[],表示main函数的命令行参数
  3. char * env[],表示环境变量

首先要判断mian()函数的参数个数,如果小于4即,参数个数错误,代码如下

 if( argc != 4)//判断参数个数
 {
     printf("error!\n");
 }

然后判断处去程序路径得第一个参数,在argv[1]中,如“-a”,即判断argv[1][1],是什么,做出相应的计算,可以用swhich( )函数:

switch(  argv[1][1] )
{
        case 'a':   ret = atoi(argv[2]) + atoi(argv[3]);break;
        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;
}

代码实现 (环境 Linux)

#include <stdio.h>

int main(int argc,char *argv[])
{
        int ret = 0;
        if( argc != 4)//判断参数个数
        {
                printf("error!\n");
        }

        switch(  argv[1][1] )
        {
                case 'a':   ret = atoi(argv[2]) + atoi(argv[3]);break;
                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("The result is %d\n",ret);
        return 0;

}

程序结果

首先在linux下生成可执行文件text

gcc text.c -o text
  • 加法测试:
./text -a 1 2 

加法

  • 减法测试:
./text -s 1 2 

减法

  • 乘法测试:
./text -m 1 2 

乘法

  • 除法测试:
./text -d 6 2 

除法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值