| Git地址 |
地址 |
| Git用户名 |
Turkey-sandwich |
| 学号后五位 |
61124 |
| 博客地址 |
博客地址 |
| 作业链接 |
作业链接 |
搭建环境
环境搭建过程中没有出现什么问题,唯一一点就是git下载的太慢了,一般只有10多kb\s,我只能去图书馆下载了git。
测试过程
我发现vs2017中的
测试过程中出现了问题,当我按下引用选项时,系统提示缺少COM组件,通过百度,解决了这个问题。

接着,我对代码进行了测试发现在新版VS2017中,预编译头文件`stdafx.h`被替换成了`pch.h`。通过改进,代码正常运行。
以下是测试截图:

![]()
代码上传到GitHub

部分代码以及心得体会
本次作业对我来说有一些困难,头都做大了,虽说过程走了一些弯路(主要是我这个铁憨憨最开始没有搞懂这次作业的具体内容),但也是按流程完成了作业,知道了如何将自己的代码提交到GitHub上等等。cpp的使用不够熟练,所以我通过了大量的枚举实现了随机四则运算的过程,因为全部的枚举过于庞大,所以在此贴一部分代码参考。
部分代码
else if (shuzi == 0)//三个运算数
{
switch (c1)//第一个运算符
{
case 1:
switch (c2)//第二个运算符
{
case 1:
question << a << '+' << b << '+' << c << '=' << endl;
answer << a + b + c << endl;
break;
case 2:
while (b - c < 0)
{
b = rand() % 100;
c = rand() % 100;
}
question << a << '+' << b << '-' << c << '=' << endl;
answer << a + b - c << endl;
break;
case 3:
question << a << '+' << b << '*' << c << '=' << endl;
answer << a + b * c << endl;
break;
case 4:
while (c == 0 || b != c * (b / c))//控制结果不出现小数且除数不为0
{
b = rand() % 100;
c = rand() % 100;
}
question << a << '+' << b << '/' << c << '=' << endl;
answer << a + b / c << endl;
break;
default:
break;
}
break;
case 2:
switch (c2)//第二个运算符
{
case 1:
question << a << '-' << b << '+' << c << '=' << endl;
answer << a - b + c << endl;
break;
case 2:
while (a - b - c < 0)
{
b = rand() % 100;
c = rand() % 100;
}
question << a << '-' << b << '-' << c << '=' << endl;
answer << a - b - c << endl;
break;
case 3:
while (a - b * c < 0)
{
a = rand() % 100;
b = rand() % 100;
c = rand() % 100;
}
question << a << '-' << b << '*' << c << '=' << endl;
answer << a - b * c << endl;
break;
case 4:
while (c == 0 || b != c * (b / c))//控制结果不出现小数且除数不为0
{
b = rand() % 100;
c = rand() % 100;
}
question << a << '-' << b << '/' << c << '=' << endl;
answer << a - b / c << endl;
break;
default:
break;
}
break;
case 3:
switch (c2)//第二个运算符
{
case 1:
question << a << '*' << b << '+' << c << '=' << endl;
answer << a * b + c << endl;
break;
case 2:
while (b - c < 0)
{
b = rand() % 100;
c = rand() % 100;
}
question << a << '*' << b << '-' << c << '=' << endl;
answer << a * b - c << endl;
break;
case 3:
question << a << '*' << b << '*' << c << '=' << endl;
answer << a * b * c << endl;
break;
case 4:
while (c == 0 || b != c * (b / c))//控制结果不出现小数且除数不为0
{
b = rand() % 100;
c = rand() % 100;
}
question << a << '*' << b << '/' << c << '=' << endl;
answer << a * b / c << endl;
break;
default:
break;
}
break;
case 4:
switch (c2)//第二个运算符
{
case 1:
while (b == 0 || a != b * (a / b))
{
a = rand() % 100;
b = rand() % 100;
}
question << a << '/' << b << '+' << c << '=' << endl;
answer << a / b + c << endl;
break;
case 2:
while (b == 0 || a != b * (a / b) || a / b - c < 0)
{
a = rand() % 100;
b = rand() % 100;
c = rand() % 100;
}
question << a << '/' << b << '-' << c << '=' << endl;
answer << a / b - c << endl;
break;
case 3:
while (b == 0 || a != b * (a / b))
{
a = rand() % 100;
b = rand() % 100;
}
question << a << '/' << b << '*' << c << '=' << endl;
answer << a / b * c << endl;
break;
case 4:
while (b == 0 || a != b * (a / b) || c == 0 || (a / b) != c * ((a / b) / c))//控制结果不出现小数且除数不为0
{
a = rand() % 100;
b = rand() % 100;
c = rand() % 100;
}
question << a << '/' << b << '/' << c << '=' << endl;
answer << a / b / c << endl;
break;
default:
break;
}
break;
default:
break;
}
}
}
question.close();
answer.close();
}
运行截图

![]()