GIT地址 | https://github.com/xiaonannanbuchengxian |
GIT用户名 | xiaonannanbuchengxian |
学号后五位 | 61225 |
博客地址 | https://www.cnblogs.com/xiaonannanbuchengxian/ |
作业链接 | https://www.cnblogs.com/harry240/p/11515697.html |
环境配置过程中并没什么太大问题,因为是在 之前就已经在使用VS了,所以现在回想起来似乎下载顺利,安装顺利。最开始是不知道如何用C++项目编码,但由于老师讲了如何使用C++项目进行编码,就知道了,因此这次也很熟悉了。
体现你代码设计的思路(注意:请保证代码能够运行通过)
首先想如何先设计四则运算的代码,然后想产生随机数、随机运算符如何设计出来,之后就没那么麻烦了。
呐,代码+注释在下面()
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int N,num1, num2, num3, count = 0, result, resultTrue, flag;
char op1, op2;
cout << "请输入你想生成的题目数目:" << endl;
cin >> N;//题数
cout << "这里有" << N << "道题,开始计算吧!";
srand(time(NULL));//生成随机数
do {
num1 = rand() % 100 + 1;
num2 = rand() % 100 + 1;
num3 = rand() % 100 + 1;
if (num1 % num2 != 0 || num2 % num3 != 0 || (num1 / num2) % num3 != 0)
{
num1 = rand() % 100 + 1;
num2 = rand() % 100 + 1;
num3 = rand() % 100 + 1;//保证运算中不会出现小数
}
else
{
count++;//生成一个算式并计算后count加1
switch (num1 % 4)//随机生成第一个运算符
{
case 0:
op1 = '+';
break;
case 1:
op1 = '-';
break;
case 2:
op1 = '*';
break;
case 3:
op1 = '/';
break;
default:
break;
}
switch (num2 % 4)//同上,随机生成第二个运算符
{
case 0:
op2 = '+';
flag = 0;
break;
case 1:
op2 = '-';
flag = 0;
break;
case 2:
op2 = '*';
if ((op1 == '*') || (op1 == '/')) flag = 0;
else flag = 1;
break;
case 3:
op2 = '/';
if ((op1 == '*') || (op1 == '/')) flag = 0;
else flag = 1;
break;
default:
break;
}
cout << num1 << " " << op1 << " " << num2 << " " << op2 << " " << num3 << " " << "=";//生成算术式
if (flag == 0)//运算先后顺序的确定,flag0为先计算num1,num2,flag1为先计算num2,num3
{
resultTrue = 0;
switch (op1)
{
case '+':
resultTrue = num1 + num2;
break;
case '-':
resultTrue = num1 - num2;
break;
case '*':
resultTrue = num1*num2;
break;
case '/':
resultTrue = num1 / num2;
break;
default:
break;
}
switch (op2)
{
case '+':
resultTrue += num3;
break;
case '-':
resultTrue -= num3;
break;
case '*':
resultTrue *= num3;
break;
case '/':
resultTrue /= num3;
break;
default:
break;
}
}
else
{
resultTrue = 0;
switch (op2)
{
case '+':
resultTrue = num2 + num3;
break;
case '-':
resultTrue = num2 - num3;
break;
case '*':
resultTrue = num2*num3;
break;
case '/':
resultTrue = num2 / num3;
break;
default:
break;
}
switch (op1)
{
case '+':
resultTrue += num1;
break;
case '-':
resultTrue -= num1;
break;
case '*':
resultTrue *= num1;
break;
case '/':
resultTrue /= num1;
break;
default:
break;
}
}
cin >> result;
if (result == resultTrue)
cout << "Right!你真的太棒了!" << endl;
else
cout << "faulse!继续加油哦,进行下一题的计算吧!";
}
}
while (count <= N-1);//题数生成终止条件
return 0;
}
我太难了
记录你使用github克隆项目以及提交代码的整个过程(包括遇到的问题,你是如何解决的)
克隆项目真的花费了我不少时间,尤其是开始我居然那个什么阿超的仓库地址都弄错了,直到后来问同学,才晓得。之后就是说说克隆,看见文章里提到——注意,默认克隆的分支是 java,请使用 git checkout cplusplus 命令切换到 C++ 项目,这儿花费了我不少时间,一直在想,网上查弄清楚咋转换,结果再问了同学之后才知道没有转换用其他方法也行,哎,我太难了~
![1784287-20190921210932971-175612572.png](https://i-blog.csdnimg.cn/blog_migrate/366853d4846868de0cc27aa98eb07f21.png)
把Cherish的阿超四则运算生成器克隆到自己的仓库中。
![1784287-20190921211004721-732172196.png](https://i-blog.csdnimg.cn/blog_migrate/741e2d25afbbf69e9b58aeeaadeda4af.png)
将阿超四则运算生成器项目克隆到本地文件中。
![1784287-20190921211023879-436487746.png](https://i-blog.csdnimg.cn/blog_migrate/24405f5f047ffc9b27e084a3dfa6e49b.png)
Git commit -m命令将文件快照到commit项目中。git status查看当前文件是否完全快照到项目中。
![1784287-20190921211038101-1377890242.png](https://i-blog.csdnimg.cn/blog_migrate/3b0c97ec1f7747debba88aba15709ade.png)
git push直接讲项目推送至Github原项目中。
![1784287-20190921211052322-1212650777.png](https://i-blog.csdnimg.cn/blog_migrate/2a4a59e4fdbeafe53f116a44eb3a5ad2.png)
这儿可以看见线上仓库中已经有了上传的文件了。
注:登陆操作时忘记截图了......难受。
记录你对项目进行单元测试和回归测试的过程(包括你遇到的问题,解决的方法是什么)
单元测试倒是测试出来了。似乎前面几步也比较顺利,但是到 引入Calculator工程的接口定义头文件时,就不会做了......(未完待续...见下)
![1784287-20190921212009344-422986317.png](https://i-blog.csdnimg.cn/blog_migrate/1292461d71dfba634eeb359daad19877.png)
![1784287-20190921212246044-1143162792.png](https://i-blog.csdnimg.cn/blog_migrate/0c06b3e2dfec24ec62e45ace11e85fcf.png)
![1784287-20190921212531055-170169181.png](https://i-blog.csdnimg.cn/blog_migrate/667b1934f7f64d078b99c7b9a4ac80bc.png)
就是在这儿应该有 引入Calculator工程的接口定义头文件的截图的,但是我好像跳过了,但是结果也测试出来了,好像也对。
![1784287-20190921214150518-1730221008.png](https://i-blog.csdnimg.cn/blog_migrate/c3f5057085dc806912457e125afc74f0.png)