git地址 | https://github.com/bjfubjn |
---|---|
git用户名 | bjfubjn |
学号后五位 | 71324 |
博客地址 | https://www.cnblogs.com/bjfybjn/ |
作业链接 | https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation/homework/7590 |
1环境配置
因为之前用过vs2017环境是已经配置好了的,所以在这里就不再一一赘述
然后在源文件里面创建一个c++的解决方案
接着就可以着手于代码的编写
2代码设计思路
看了一下提前交的大佬的作业,用的java和Python,我表示给大佬献上膝盖,辣鸡如我所以只能选择用正在学的c++进行编写,所以我用了两个半小时用循环语句和条件判断语句写出了基本符合题目要求的代码,并且相除不会出现分数
include
include
include
using namespace std;
void main()
{
int n, m = 0;
cout << "请输入要产生的题目数目" << endl;
cin >> n;
do
{
int num4;
srand(rand());
int num1 = rand() % 100;
int num2 = rand() % 100;
int num5 = rand() % 100;
int num3 = rand() % 16;
if (num3 == 0)
{
num4 = num1 + num2 + num5;
cout << num1 << "+" << num2 << "+" << num5 << "=" << num4 << endl;
;
m = m + 1;
}
else if (num3 == 1)
{
num4 = num1 + num2 - num5;
cout << num1 << "+" << num2 << "-" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 2)
{
num4 = num1 + num2 * num5;
cout << num1 << "+" << num2 << "*" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 3 && num2%num5 == 0)
{
num4 = num1 + num2 / num5;
cout << num1 << "+" << num2 << "/" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 3 && num2%num5 != 0)
{
if (num2 > num5)
{
do {
num2++;
} while (num2%num5 != 0);
}
if (num2 < num5)
{
do {
num2--;
} while (num2%num5 != 0);
}
num4 = num1 + num2 / num5;
cout << num1 << "+" << num2 << "/" << num5 << "=" << num4 << endl;
}
else if (num3 == 4)
{
num4 = num1 - num2 + num5;
cout << num1 << "-" << num2 << "+" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 5)
{
num4 = num1 - num2 - num5;
cout << num1 << "-" << num2 << "-" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 6)
{
num4 = num1 - num2 * num5;
cout << num1 << "-" << num2 << "*" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 7 && num2%num5 == 0)
{
num4 = num1 - num2 / num5;
cout << num1 << "-" << num2 << "/" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 7 && num2%num5 != 0)
{
if (num2 > num5)
{
do {
num2++;
} while (num2%num5 != 0);
}
if (num2 < num5)
{
do {
num2--;
} while (num2%num5 != 0);
}
num4 = num1 - num2 / num5;
cout << num1 << "-" << num2 << "/" << num5 << "=" << num4 << endl;
}
else if (num3 == 8)
{
num4 = num1 * num2 + num5;
cout << num1 << "*" << num2 << "+" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 9)
{
num4 = num1 * num2 - num5;
cout << num1 << "*" << num2 << "-" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 10)
{
num4 = num1 * num2 * num5;
cout << num1 << "*" << num2 << "*" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 11 && num2%num5 == 0)
{
num4 = num1 * num2 / num5;
cout << num1 << "*" << num2 << "/" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 11 && num2%num5 != 0)
{
if (num2 > num5)
{
do {
num2++;
} while (num2%num5 != 0);
}
if (num2 < num5)
{
do {
num2--;
} while (num2%num5 != 0);
}
num4 = num1 * num2 / num5;
cout << num1 << "*" << num2 << "/" << num5 << "=" << num4 << endl;
}
else if (num3 == 12 && num1%num2 == 0)
{
num4 = num1 / num2 + num5;
cout << num1 << "/" << num2 << "+" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 12 && num1%num2 != 0)
{
if (num1 > num2)
{
do {
num2++;
} while (num1%num2 != 0);
}
if (num1 < num2)
{
do {
num2--;
} while (num1%num2 != 0);
}
num4 = num1 / num2 + num5;
cout << num1 << "/" << num2 << "+" << num5 << "=" << num4 << endl;
}
else if (num3 == 13 && num1%num2 == 0)
{
num4 = num1 / num2 - num5;
cout << num1 << "/" << num2 << "-" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 13 && num1%num2 != 0)
{
if (num1 > num2)
{
do {
num2++;
} while (num1%num2 != 0);
}
if (num1 < num2)
{
do {
num2--;
} while (num1%num2 != 0);
}
num4 = num1 / num2 - num5;
cout << num1 << "/" << num2 << "-" << num5 << "=" << num4 << endl;
}
else if (num3 == 14 && num1%num2 == 0)
{
num4 = num1 / num2 * num5;
cout << num1 << "/" << num2 << "*" << num5 << "=" << num4 << endl;
m = m + 1;
}
else if (num3 == 14 && num1%num2 != 0)
{
if (num1 > num2)
{
do {
num2++;
} while (num1%num2 != 0);
}
if (num1 < num2)
{
do {
num2--;
} while (num1%num2 != 0);
}
num4 = num1 / num2 * num5;
cout << num1 << "/" << num2 << "*" << num5 << "=" << num4 << endl;
}
else if (num3 == 12 && num1%num2 == 0 && (num1%num2) % num5 == 0)
{
num4 = num1 / num2 / num5;
cout << num1 << "/" << num2 << "/" << num5 << "=" << num4 << endl;
m = m + 1;
}
} while (m != n - 1);
}
代码总共240行左右,耗时两个半,写出了基本符合要求的代码下面贴上运行截图
如图,输入20后会自动随机生成20道四则运算题目,并且在除法中不会出现非整数
3记录你使用github克隆项目以及提交代码的整个过程
在克隆项目的时候发现没有设置好拷贝路径导致克隆下来的文件无法找到,经过修改相关路径后克隆成功并且在自己的指定路径中出现了相同的文件
下面为提交代码过程
首先在拷贝下来的文件夹中创建一个以自己github名字命名的文件夹然后再用vs2017在里面创建一个新的c++控制台项目
接下来将自己写好的代码保存到该项目中
然后打开事先下载好并且安装了的git
首先输入git add .(注意这里的.与add中间有一个空格)
然后输入git commit -m"吕涛的第二次提交"(提交了第一次不合适后修改了)其中""放的是这次提交的名称
然后输入git status指令当出现nothing to commit, working tree clean的提示语句后即表示可以进行push并且提交到你的源代码仓库中了接下来输入git push origin指令
会出现如图所示的代码表示已经上传成功到你的代码仓库了接下来打开自己的仓库即可看到相应的代码提交
接下来就可以在源代码仓库看见自己的提交
至此提交就完成了
4效能分析
这就是生成10000道四则运算题的cpu使用率,可见最高以达到了82.5%
5你对本次工具的熟悉过程,有什么感想?
这次题目我觉得是我遇到过难度最大的问题,不会git的使用后来经过了起码几天的学习以及请教大佬,最后还是算解决了这个问题,这次作业让我意识到我的代码量以及工具的使用程度还有很大的欠缺,所以在后来的学习中应该更加努力。