第三次作业:个人项目-小学四则运算 “软件”

本次作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166

 

一、题目要求:

像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。


具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:

23 - 3 * 4 = 11

扩展要求:

1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。

2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。

初步拟定要实现的功能后,估计一下自己需要花多长时间。编程过程中记录自己实际用了多长时间。

然后和同学们比较一下各自程序的功能、实现方法的异同等等。

写博客纪录自己实现的过程和思路。

 

1.构思:首先想到用C语言去做,因为之前做过类似的。

 

2.设计:根据题目需求,(具体代码注释已经上传在Github,这里不在赘述)

①屏幕提示信息让用户输入需要显示出的题目数目,这里有个简单的判断用户输入合法性的问题;可以实现判断对错,计分数功能。

 

          

   ②由于需要两个运算符,所以可以用switch case依次循环++;+-;+*;+/;这个循环非常繁琐;

            

           

 

 

3.遇到的问题:①拓展问题中的实现真分数功能不能实现,构建代码一开始没有考虑到后来的问题,想到哪里做到哪里,没有为后面铺垫。没有很好的应用软件工程的思想用系统的方法去实现一个项目。

         ②答案的问题,因为有整数除法的存在,所以会出现小数点的问题

        ③两个运算符如何实现

4.如何解决:①符号位的问题为了避免繁琐,全部使用了整型。

     ②拓展功能的真分数功能目前还没有实现,实现了会再次上传。  

     ③其中有一些参考了这个博主的 idea:https://www.cnblogs.com/bjzsr/p/5268377.html#3380551

二、个人软件过程耗时估计与统计表

初步拟定要实现的功能后,估计一下自己需要花多长时间。编程过程中记录自己实际用了多长时间。

时间其实大部分花在了学习的方面上,或者说复习C吧。具体的编程思路还是清晰的,就是不知道具体怎么操作。

然后就要查百度,问别人,去翻书。花费了大部分时间。这个表格的时间做大概参考吧。可能数值偏高了。

 

PSP2.1 Personal Software Process Stages Time Senior Student(h) Time(h)
Planning 计划 1 1
· Estimate 估计这个任务需要多少时间 12 24
Development 开发 10 15
· Analysis 需求分析 (包括学习新技术) 1 5
· Design Spec 生成设计文档 1 1
· Design Review 设计复审 1 1
· Coding Standard 代码规范 1 1
· Design 具体设计 1 5
· Coding 具体编码 1 5
· Code Review 代码复审 1 1
· Test 测试(自我测试,修改代码,提交修改) 1 1
Reporting 报告 1 1
· 测试报告 1 1
· 计算工作量 1

1

 

· 并提出过程改进计划 1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

三、代码提交

 

我的项目(szys.c)GitHub远程仓库地址:https://github.com/GzccCzc/Czc

 

 

      

posted @ 2018-10-10 10:10  陈泽诚  阅读(261)  评论(2编辑  收藏  举报