1.需求分析
为了使老师减轻工作量以及家长下班后的时间,特推出此程序帮助孩子锻炼四则运算能力,提高算数以及逻辑思维能力,并使老师和家长更方便与快捷。
2.功能设计
基本功能:自动生成10道100以内的两个操作数的四则运算算式(+,-,*,/),其最后的运算结果也在100以内。
扩展功能:(1)剔除重复算式。2 + 3 = 和 2 + 3 = 是重复算式,2 + 3 = 和 3 + 2 = 不属于重复算式。
(2)题目数量可定制。
(3)相关参数可控制:1.是否包含乘法和除法
2.操作数数值控制在100以内
3.操作数是否含负数
4.生成的运算题储存到外部文件result.txt中
3.设计实现
用c语言设计实现
利用rand产生随机数
使用函数控制程序运行
4.测试运行
5.代码片段
确定算式中是否含有负数,0为否,1为是
if(m==0) { a=rand()%100; b=rand()%100; } else if(m==1) { a=rand()%100*(rand()%100>0.5?1:-1); b=rand()%100*(rand()%100>0.5?1:-1); }
控制出题数量
printf("\n请输入出题数量:"); scanf("%d",&n);
随机生成运算符
switch(mode) { case 0: printf("+"); result=a + b; break; case 1: printf("-"); result=a - b; break; case 2: printf("* "); result=a * b; break; case 3: printf("/ "); result= a / b; break; default: printf("somethingis wrong!\n"); break; }
6.总结
我在设计完成后再逐一添加功能,使得程序完善速度较慢,对程序理解能力较差,以后应更加努力去学习以及掌握
7.PSP撰写
PSP2.1 | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
Planning | 计划 | 15 | 20 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 20 | 25 |
Development | 开发 | 60 | 100 |
Analysis | 需求分析(包括学习新技术) | 10 | 20 |
Design Spec | 生成设计文档 | 10 | 15 |
Design Review | 设计复审(和同事审核设计文档) | 20 | 20 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 30 | 15 |
Design | 具体设计 | 70 | 150 |
Coding | 具体编码 | 60 | 60 |
Code Review | 代码复审 | 20 | 20 |
Test | 测试(自我测试,修改代码,提交修改) | 20 | 15 |
Reporting | 报告 | 5 | 5 |
Test Report | 测试报告 | 5 | 5 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem&Process Improvement Plan | 事后总结,并提出过程改进计划 | 20 | 15 |