1.需求分析
使用C语言完成一个自动生成四则运算试题的程序。
2.功能设计
基本功能:随机生成10道100以内的2个操作数的四则运算算式,要求运算结果也在100以内。
扩展功能:(1)剔除重复算式
(2)定制题目数量
(3)是否选择包含乘法和除法
(4)操作数数值范围是否可控
(5)操作数是否含负数
(6)是否选择生成答案
(7)生成的运算题存储到result.txt文件中
3.设计实现
使用sign函数实现含有负数的随机算式、sum函数选择受否生成带有答案的算式,其他功能由主函数完成。
4.测试运行
5.代码片段
do {
printf("\n请确定是否包含乘除(1.包含 2.不包含): ");
scanf("%d",&n);
printf("\n请确定是否输出答案(1.不输出 2.输出): ");
scanf("%d",&f);
printf("\n-1为退出程序:");
scanf("%d",&y);
switch(n) {
case 1: {
for(i=0; i<count; i++) {
a=rand()%limits*sign(x);
b=rand()%limits*sign(x);
k=rand()%4;
switch(k) {
case 0: {
if(a+b<=limits) {
fprintf(fp,"%d+%d=\n",a,b);
if(sum(f)==0)
fprintf(fp,"%d\n",a+b);
} else
i--;
break;
}
case 1: {
if(a-b<=limits && a-b>=0) {
fprintf(fp,"%d-%d=\n",a,b);
if(sum(f)==0)
fprintf(fp,"%d\n",a-b);
}
else
i--;
break;
}
case 2: {
if(a*b<=limits) {
fprintf(fp,"%d*%d=\n",a,b);
if(sum(f)==0)
fprintf(fp,"%d\n",a*b);
} else
i--;
break;
}
case 3: {
if(a/b<=limits && b!=0) {
fprintf(fp,"%d/%d=\n",a,b);
if(sum(f)==0)
fprintf(fp,"%d\n",a/b);
} else
i--;
break;
}
}
}
break;
}
break;
case 2: {
for(i=0; i<count; i++) {
a=rand()%limits*sign(x);
b=rand()%limits*sign(x);
k=rand()%2;
switch(k) {
case 0: {
if(a+b<=limits) {
fprintf(fp,"%d+%d=\n",a,b);
if(sum(f)==0)
fprintf(fp,"%d\n",a+b);
} else
i--;
break;
}
case 1: {
if(a-b<=limits && a-b>=0) {
fprintf(fp,"%d-%d=\n",a,b);
if(sum(f)==0)
fprintf(fp,"%d\n",a-b);
}
else
i--;
break;
}
}
}
break;
}
break;
}
} while(y!=-1);
6.总结 使用函数实现部分模块,其他模块都存在在主函数里的。
7.psp
PSP2.1 | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 120 | 200 |
· Estimate | · 估计这个任务需要多少时间,并规划大致工作步骤 | 120 | 200 |
Development | 开发 | 298 | 352 |
·· Analysis | 需求分析 (包括学习新技术) | 60 | 65 |
· Design Spec | · 生成设计文档 | 20 | 30 |
· Design Review | · 设计复审 (和同事审核设计文档) | 20 | 10 |
· Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 3 | 5 |
· Design | 具体设计 | 30 | 42 |
· Coding | 具体编码 | 150 | 175 |
· Code Review | · 代码复审 | 10 | 15 |
· Test | · 测试(自我测试,修改代码,提交修改) | 5 | 10 |
Reporting | 报告 | 17 | 23 |
·· Test Report | · 测试报告 | 5 | 5 |
· Size Measurement | 计算工作量 | 2 | 3 |
· Postmortem & Process Improvement Plan | · 事后总结 ,并提出过程改进计划 | 10 | 15 |
原文地址:https://www.cnblogs.com/kaka1/p/11524622.html
时间: 2024-10-13 14:40:40