需求分析
使用C语言完成一个自动生成四则运算试题的程序。 自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内,并保存计算结果,并能控制其中的一些参数,显示在txt文件中。
功能设计
基本功能
自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
扩展功能
(1)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
(2)题目数量可定制
(3)以下相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
(4)生成的运算题存储到外部文件result.txt中
三、设计实现
主函数控制并循环生成随机数运算 具体参数由以下变量控制
a1:第一个操作数
a2:第二个操作数
math:随机生成数控制“+”、“-”、“*”、“/“符号
s:题目数量
max:控制操作数范围
sign:控制是否含负数
建立fun函数剔除重复算式
四.测试运行
五.代码片段
1.剔除重复算式
int fun(int a,int b,int c)
{int z=0;
int k=0;
static int p[100][3];
for(z=0;z<=k;z++)
{if(p[z][0]==a&&p[z][1]==b&&p[z][2]==c)
return 0;
}
p[z][o]=a;
p[z][1]=b;
p[z][2]=c;
k++;
return 1;
}
2.控制符号正负
3.将输出数据导出到文本中
六.总结
先把核心算法写出来,在逐步增加新的模块,使程序得到改善。
PSP2.1 | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
Planning | 计划 | 120 | 200 |
· Estimate | · 估计这个任务需要多少时间,并规划大致工作步骤 | 60 | 80 |
Development | 开发 | 160 | 180 |
·· Analysis | 需求分析 (包括学习新技术) | 20 | 18 |
· Design Spec | · 生成设计文档 | 15 | 14 |
· Design Review | · 设计复审 (和同事审核设计文档) | 10 | 12 |
· Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 5 | 20 |
· Design | 具体设计 | 10 | 12 |
· Coding | 具体编码 | 50 | 82 |
· Code Review | · 代码复审 | 5 | 9 |
· Test | · 测试(自我测试,修改代码,提交修改) | 13 | 20 |
Reporting | 报告 | 9 | 6 |
·· Test Report | · 测试报告 | 3 | 17 |
· Size Measurement | 计算工作量 | 20 | 25 |
· Postmortem & Process Improvement Plan | · 事后总结 ,并提出过程改进计划 | 10 | 15 |