1、需求分析:
帮助学校自动生成四则运算。
2、功能设计:
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
( 2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
(3)题目数量可定制
(4)相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
3、设计实现:
用C语言进行实现,只有main()一个主函数。
调用了<stdlib.h>用来实现随机数。并用<time.h>来进行重新撒种。
4、运行测试:
5、代码片段:
switch(d) { case 0:printf("%d + %d=%d\n",a,b,a+b);break; case 1:printf("%d - %d=%d\n",a,b,a-b);break; case 2:printf("%d * %d=%d\n",a,b,a*b);break; case 3:printf("%d / %d=%d\n",a,b,a/b);break; } }else{ if(a+b>100||a*b>100||a*b<-100) { i--; continue; } else{ switch(d) { case 0:printf("%d + %d=%d\n",a,b,a+b);break; case 1:printf("%d - %d=%d\n",a,b,a-b);break; case 2:printf("%d * %d=%d\n",a,b,a*b);break; case 3:printf("%d / %d=%d\n",a,b,a/b);break; }
用switch来控制加减乘除运算。if语句来控制运算结果是否大于100.
for(i=0;i<x;i++)//for循环生成任意组四则运算 { a=rand()%f-g;//随机生成规定范围内的数字 rand()函数在使用时应有头文件#include<stdlib.h> b=rand()%f-g; d=rand()%e; //随机生成0~3
生成随机数。
6、总结:
先分析程序的基本功能。先把最简单的写出来。然后再分析用户的需求。根据需求来填补不足。
7、PSP:
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
10 |
5 |
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
30 |
60 |
Development |
开发 |
300 |
270 |
·· Analysis |
需求分析 (包括学习新技术) |
30 |
25 |
· Design Spec |
· 生成设计文档 |
10 |
10 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
10 |
10 |
· Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
10 |
10 |
· Design |
具体设计 |
10 |
20 |
· Coding |
具体编码 |
40 |
30 |
· Code Review |
· 代码复审 |
20 |
20 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
20 |
15 |
Reporting |
报告 |
9 |
6 |
·· Test Report |
· 测试报告 |
3 |
2 |
· Size Measurement |
计算工作量 |
2 |
1 |
· Postmortem & Process Improvement Plan |
· 事后总结 ,并提出过程改进计划 |
5 |
5 |
原文地址:https://www.cnblogs.com/chen4635/p/11523622.html
时间: 2024-11-06 03:46:39