一、需求分析
制作运算代码。
二、功能设计
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
三、设计实现
四、测试
五、代码片段
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define RANDOM(v1,v2)(rand()%((v2+1)-(v1))+(v1))
#define N 10
int main()
{
int v1,v2,i,n,a;
float c,d;
char op,ops[]={'+','-','*','/'};
srand(time(NULL));
do
{
printf("\n请输入数字1开始,-1为退出程序:");
scanf("%d",&n);
switch(n)
{
case 1:
{
for(i=0;i<N;i++)
{
v1=rand()%201-100;
v2=rand()%201-100;
op=ops[RANDOM(0,3)];
switch(op)
{
case '+':a=v1+v2;break;
case '-':a=v1-v2;break;
case '*':a=v1*v2;break;
case '/':a=v1/v2;break;
}
printf("%d%c%d=%d\n",v1,op,v2,a);
}
break;
}
break;
}
}while(n!=-1);
六、实验总结
本次作业经过了查阅资料和询问同学终于是完成了,好沉重。
七、PSP
PSP2.1 | 任务内容 | 计划共完成需要的 时间(min) |
实际完成需要的 时间(min) |
Planning | 计划 | 335 | 376 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 60 | 50 |
Development | 开发 | 80 | 100 |
Analysis | 需求分析 (包括学习新技术) | 8 | 10 |
Design Spec | 生成设计文档 | 30 | 30 |
Design Review | 设计复审 (和同事审核设计文档) | 30 | 35 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 30 | 35 |
Design | 具体设计 | 20 | 25 |
Coding | 具体编码 | 35 | 45 |
Code Review | 代码复审 | 10 | 10 |
Test | 测试(自我测试,修改代码,提交修改) | 5 | 7 |
Reporting | 报告 | 10 | 11 |
Test Report | 测试报告 | 2 | 5 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem & Process Improvement Plan | 事后总结 ,并提出过程改进计划 | 5 | 3 |