个人项目-小学四则运算 “软件”之初版
本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166
我的github远程仓库的地址:https://github.com/Jachenq/lc
一、题目要求:
具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:23 - 3 * 4 = 11
二、个人软件过程耗时估计与统计表
PSP2.1 | Personal Software Process Stages | Time Senior Student | Time |
Development | 开发 | 35 | 36 |
· Analysis | 需求分析 (包括学习新技术) | 6 | 8 |
· Design Spec | 生成设计文档 | 0 | 0 |
· Design Review | 设计复审 | 0 | 0 |
· Coding Standard | 代码规范 | 6 | 9 |
· Design | 具体设计 | 5 | 6 |
· Coding | 具体编码 | 8 | 8 |
· Code Review | 代码复审 | 10 | 10 |
· Test | 测试(自我测试,修改代码,提交修改) | 10 | 10 |
Reporting | 报告 | 0 | 0 |
三、基本代码
while (number--) //生成两个运算符运算式
{
m = rand() % 10;
n = rand() % 10;
k = rand() % 10;
op = rand() % 4;
op1 = rand() % 4;
switch (op)
{
case 0:
op = '+';
x = m + n;
switch (op1)
{
case 0:
op1='+';
answer=x+k;
break;
case 1:
op1='-';
answer=x-k;
break;
case 2:
op1='*';
answer=x*k;
break;
case 3:
op1='/';
answer=x/k;
break;}
break;
case 1:
op = '-';
x = m - n;
switch (op1)
{
case 0:
op1='+';
answer=x+k;
break;
case 1:
op1='-';
answer=x-k;
break;
case 2:
op1='*';
answer=x*k;
break;
case 3:
op1='/';
answer=x/k;
break;}
break;
case 2:
op = '*';
x = m*n;
switch (op1)
{
case 0:
op1='+';
answer=x+k;
break;
case 1:
op1='-';
answer=x-k;
break;
case 2:
op1='*';
answer=x*k;
break;
case 3:
op1='/';
answer=x/k;
break;}
break;
case 3:
++n;
op = '/';
x = m / n;
switch (op1)
{
case 0:
op1='+';
answer=x+k;
break;
case 1:
op1='-';
answer=x-k;
break;
case 2:
op1='*';
answer=x*k;
break;
case 3:
op1='/';
answer=x/k;
break;}
break;
default:
break;
}
四、遇到问题
1.如何生成两个运算符式子
2.做出可以进行真分数运算的题型
3.答案不能是负数
解决方法:
1.用生成两个0到3的随机数
2.基础不牢,未能解决问题
3.未能解决问题
五、博文
由于自身基础不牢,让我完成这个运算程序有点难度,只做出了简单的运算,功能没有完全实现。也通过这个实验,发现自己还有很多东西要去弥补学习。没有一个好的功底,不可能做出一个好软件,还是要抓紧时间充实自己。