1.需求分析
(1)生成四则运算题目的数量可控制
(2)结果是否含有负数可控制
(3)是否包含乘除法
(4)出题的范围可控制
(5)去除重复题目
(6)结果不大于100
2.功能设计
(1)题目的数量范围可控
(2)运算的结果可进行选择
(3)对每一步的操作进行数据过滤
(4)将题目和结果分开打印
3.设计实现
(1)判断错误操作可进行重新操作
(2)想打印的题目数量可控
(3)可以选择是否包含乘除法
(4)想打印的题目在什么范围
(5)题目与结果分开打印
(6)在产生的题目中可以剔除负数结果的题目
(7)在产生的题目中可以提出结果超过100的题目
4.测试运行
(1)想打印题目数量控制
(2)想打印题目的范围控制
(3)是否需要含有乘除法
(4)结果是否含有负数控制
(5)输出题目
(6)输出结果
(7)错误输入操作
5.代码片段
shuliang:
printf("请输入想要打印题目的数量");
scanf("%d",&x);
getchar();
if(x%2||x%1)
printf("正确");
--
else
{
printf("输入错误,请重新输入");
goto shuliang;
}
fanwei:
printf("请输入想打印题目的范围");
scanf("%d",&t);
getchar();
if(t%2||t%1)
printf("正确");
else
{
printf("输入错误,请重新输入");
goto fanwei;
}
fuhao:
printf("是否需要含有乘除法,不需要输入“2”需要输入“4”");
scanf("%d",&s);
getchar();
if(s==2||s==4)
printf("正确");
else
{
printf("输入错误,请重新输入");
goto fuhao;
}
6.我的程序如何进行模块化设计
可以将我程序中的每一个功能写成独立的函数,这样就可以实现做程序进行分进行。
7.PSP编写
PSP的各个阶段 | 预计时间 | 实际时间 |
---|---|---|
计划 | 1h | 2h |
开发 | 10h | 20h |
·需求分析 | 1h | 1h |
·生成设计文档 | 9h | 9h |
·设计复审 | 1h | 1h |
·代码规范 | 1h | 1h |
·具体设计 | 1h | 1h |
·具体编码 | 10h | 8h |
·代码复审 | 3h | 2h |
·测试 | 2h | 1h |
报告 | ||
·测试报告 | 发现了20个bug | 全部修复 |
·计算工作量 | 代码行数183行 | 功能测试10次 |
#####总花费的时间 | 12h |
8.工作感悟
从开始学习到现在第一次自己写程序,跨专业来到现在的计算机科学与技术专业,之前学习的是城市轨道交通运营管理,一点计算机专业的东西都不会,在校外上补课班学习c语言和数据结构,c语言的学习完全是纯理论的学习,没有实际的上级操作,都是老师讲授告诉每一道题的结果该是什么,该用什么样的代码,
这次作业,是第一次在计算机上写代码,出现了好多问题,好多bug,我在我室友的眼中就是一个问题王,虽然在这次作业上用了很多的时间,可是我觉得这是一件十分值得的事情,我真正的开始了计算机专业的学习,对得起自己的兴趣。