熟悉工具的使用方法

GIT地址https://github.com/Codesilly
GIT用户名Codesilly
学号后五位61211
博客地址https://www.cnblogs.com/xlog/
作业链接https://www.cnblogs.com/harry240/p/11515697.html

一、环境配置过程
我使用的是Visual Studio 2019社区版,如图一
图一
(1)VS2019支持按照需要安装的特点,为使用用户节省了更多的内存。
(2)支持20多种编程语言和源码管理。
(3)VS社区版免费提供给初学者和程序员使用。
VS2019有很多种安装方式,例如百度网盘,官网下载
官网的下载链接:https://visualstudio.microsoft.com/zh-hans/vs/
由于我们现在只需要C/C++的编译环境,所以我们只需要选择使用C++的桌面开发,如图二
图二
在下载过后,可以选择自己喜欢的界面颜色设置如图三,本人感觉黑色衬托着彩色代码更加好看,主要还是看大家喜好。
图三
二、代码设计思路
Part 1
阿超家里的孩子上小学一年级了,这个暑假老师给家长布置了一个作业,家长每天要给孩子出一些合理的,弹药有些难度的四则运算题目,并且家长要给孩子的作业打分记录。
作为程序员的阿超心想,既然每天都需要出题,那何不做一个可以主动生成小学四则运算题目的命令行”软件”呢。他把老师的话翻译一下,就形成了这个软件的需求。
Part 2
随机生成一定数量的四则运算法则,所以操作数的前提是不重复,并且由于这个孩子还是一个小学生,所以操作数还有着一定的范围,首先一定是整数,不能带小数点;其次范围应该在0-100之间。我们可以选择2到3个运算符的算式,并且可以加上(){}等判断运算先后的符号。这些就是算式的基本要求。
Part 3
基本算式的思路已经出来,接下来我们就需要考虑如何编写一个自动生成算式的程序,由于计算机只认识“0”和“1”这两个数字,所以我们要具体的把如何生成算式的方法用高级语言表达出来。
进行四则运算
...

void add()
{
    int a, b, c, d;
    a = rand() % 100;
    b = rand() % 100;
    printf("%d+%d=\n", a, b);
    c = a + b;
}
void minute()
{
    int a, b, c, d;
    a = rand() % 100;
    b = rand() % 100;
    printf("%d-%d=\n", a, b);
    c = a - b;
}
void multi()
{
    int a, b, c, d;
    a = rand() % 100;
    b = rand() % 100;
    printf("%d*%d=\n", a, b);
    c = a * b;
}
void division()
{
    int a, b;
    float c, d;
    while (1)
    {
        a = rand() % 100;
        b = rand() % 100;
        if (b)
        {
            break;
        }
    }
    printf("%d/%d=\n", a, b);
    c = (float)a / b;
}

...
进行混合运算
...

void mixing()
{
int a, b, c, d, e, f;
int m = 1;
a = rand() % 100;
b = rand() % 100;
c = rand() % 100;
d = rand() % 7;
while (m)
{
    switch (d)
    {
    case 0:
    {
        printf("%d*(%d+%d)=\n", a, b, c);
        e = a * (b + c);
        break;
    }
    case 1:
    {
        printf("%d/(%d+%d)=\n", a, b, c);
        e = a / (b + c);
        break;
    }
    case 2:
    {
        printf("%d*%d/%d=\n", a, b, c);
        e = a * b / c;
        break;
    }
    case 3:
    {
        printf("%d+%d-%d=\n", a, b, c);
        e = a + b - c;
        break;
    }
    case 4:
    {
        printf("%d/%d/%d=\n", a, b, c);
        e = a / b / c;
        break;
    }
    case 5:
    {
        printf("%d*%d*%d=\n", a, b, c);
        e = a * b * c;
        break;
    }
    case 6:
    {
        printf("%d+%d+%d=\n", a, b, c);
        e = a + b + c;
        break;
    }
    default:
        printf("程序错误!\n");
        break;
    }
    m = 0;
}
}

...
核心的自动编程部分
...

void Automatic()
{
srand(time(NULL));
int number;
int i,count=0;
float j;
printf("请输入需要生成的题目数:");
scanf("%d", &number);
while (1)
{
    i = rand() % 5;
    switch (i)
    {
    case 0:
        add();
        count++;
        break;
    case 1:
        minute();
        count++;
        break;
    case 2:
        multi();
        count++;
        break;
    case 3:
        division();
        count++;
        break;
    case 4:
        mixing();
        count++;
        break;
    default:
        printf("程序错误!\n");
        break;
    }
    if (count == number)
    {
        break;
    }
}
}

...
最后的实现成果如图四
图四
三、记录使用Github克隆项目及提交代码的整个过程
克隆项目:找到阿超的阿超的仓库,并将其代码拷贝过来
图五
我简单的在D盘中,打开Git软件,输入git clone,在输入我自己的仓库地址。(惊奇的发现,在Git上无法进行Ctrl+v粘贴)
1667688-20190921155230216-972336097.jpg
在D盘中我们克隆了一个文件,在文件下新建一个文件,并且以我们的Github的名字命名,所以我创建了一个Codesilly的文件
1667688-20190921155257131-603278042.jpg
在Codesilly文件下创建了项目,将我自己写的四则运算写入程序中。经过调试后我开始向Github上提交代码,首先我使用git status进行测试。
1667688-20190921155600577-2023609064.jpg
测试之后出nothing to commit之后,我是用git push,跳出了Github登录窗口。
1667688-20190921155341724-597334848.jpg
登录之后我就将自己的代码上传到Github中了。
1667688-20190921155455547-1163084102.jpg

四、总结
在这次的课题研究中,最大的收获就是学习到Github与Git的使用方法,接触较完善、较便利的开源平台,对自己以后的软件开发有着巨大的促进作用,并且一定程度上提升自己的软件开发能力。
在这次自动生成四则运算的小程序中,由于以前对编译器就进行过设置和环境的配置,所以过程中并未遇到什么比较麻烦的问题。这次的小程序主要是用C语言编写,但看到很多大佬用C++、Java、python等语言,知道自己还有很大的学习空间。并且发现自己在对自动生成四则运算的编写中,没有大佬们写的更加完善,例如文件的编写和答案的比对,说明我的代码还需要继续改进

转载于:https://www.cnblogs.com/xlog/p/11561410.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值