微信小程序> 命令行小程序

命令行小程序

浏览量:801 时间: 来源:王宇凡

一.实验步骤

Clone github库到实验环境

进入实验目录并创建实验一文件夹lab2

编写c文件,提交代码到版本库


二.实验结果

1.help帮助  version打印版本号


2.upper将字符串中大写字母转换成小写,lower反之;quit退出程序


3.add sub mult分别实现加减乘

.代码重现

1.进入环境

2.c程序代码

#includestdio.h
#includestdlib.h
#includestring.hvoid help()
{
    printf("+--------+---------------------------------+");
    printf("+ help   + cmd tips                        +");
    printf("+ quit   + exit cmd                        +");
    printf("+ version+ show version                        +");
    printf("+ upper  + change the case into uppercase Letters +");
    printf("+ lower  + change the case into lowercase Letters +");
    printf("+ sub    + subtraction of two numbers           +");
    printf("+ add    + addition of two numbers         +");
    printf("+ multi  + multiplication of two numbers   +");   
    printf("+--------+---------------------------------+");
}void show(char flag)
{
    if(flag == 'v')
    {
        printf("the version is 1.0.0");
    }
    else
    {
        int i;
        char arr[100];
        printf("please input contents:");
        scanf("%s", arr);
        if(flag == 'u')
        {
            for(i=0; arr[i]!=''; i++)
            {
                if(arr[i]='A'&&arr[i]='Z')
                    arr[i]+=32;
            }
            printf("%s", arr);
        }
        else
        {
            for(i=0; arr[i]!=''; i++)
            {
                if(arr[i]='a'&&arr[i]='z')
                    arr[i]-=32;
            }
            printf("%s", arr);
        }
    }
}void cal(char flag)
{
    double num1,num2,count;
    printf("+-------*--------*--------*--------*-------+");
    printf("please input two numbers:");
    scanf("%lf %lf",&num1, &num2);
    char a;
    if(flag == 'a')
    {
        count = num1 + num2;
        a = '+';
    }
    else if(flag == 's')
    {
        count = num1 - num2;
        a = '-';
    }
    else
    {
        count = num1 * num2;
        a = '*';
    }
    printf("%lf  %c %lf = %lf ",num1, a, num2, count);
}int main()
{
    char cmd[256];
    while(1){
     scanf("%s", cmd);
     if(strcmp(cmd, "help") == 0)
     {
         help();
     }
     else if(strcmp(cmd, "version") == 0)
     {
         show('v');
     }
     else if(strcmp(cmd, "upper") == 0)
     {
         show('u');
     }
     else if(strcmp(cmd, "lower") == 0)
     {
         show('l');
     }
     else if(strcmp(cmd, "quit") == 0)
     {
         exit(0);
     }
     else if(strcmp(cmd, "add") == 0)
     {
         cal('a');
     }
     else if(strcmp(cmd, "mult") == 0)
     {
         cal('m');
     }
     else if(strcmp(cmd, "sub") == 0)
     {
         cal('s');
     }
     else
     {
         printf("no cmd");
     }
    }
}

3.提交代码

四.心得总结

1实验楼环境时不时就断了没保存无限怨念。。所以用自己的Linux环境吧

2:%d是vi删除命令

3gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,改成gets编译报warning调试发现未识别gets;所以实验中还是用scanf输入字符串,含空格则空格以后内容不能读入,如下图。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎