代码改变世界

个人作业1——四则运算题目生成程序(基于控制台)

2017-03-07 18:09  weihui  阅读(443)  评论(7编辑  收藏  举报

---恢复内容开始---

 

软件工程 个人作业1

四则运算题目生成程序(基于控制台)

前言:(咳咳咳)

11.这学期开始学习软件工程还是蛮激动的!终于可以名正言顺(认认真真啦!调皮)的写代码啦。不过如提笔忘字,太久没打代码了,很多都忘了(哭)。

22.读课本的感受:课本很有意思,读起来很轻松愉快,不过做起来应该挺难的。(需要加油¥)

33.两个小式子感觉挺好的,要记住:程序=数据结构+算法    软件=程序+软件工程

 

 

*这次博客的一个小目录

1.博文的一开始需要写明你注册的 coding 地址

2.项目完成的五个部分:

a.需求分析  b.功能设计  c.设计实现  d.代码说明  e.测试运行

3.展示PSP

4.小结


 

1.我注册的 coding 地址

https://git.coding.net/weh/we.git

(由于测试了教程,所以建了好几个项目,其中该地址作为该次代码提交项目位置。其他的仅作为测试使用。)

http://www.cnblogs.com/hebau-may/p/6382743.html

(老师推荐的绝佳教程,亲测很实用。放着这里,以备不时之需。)

 自己写的一个小记事本(这样还挺方便的)。

 


 

2.项目具体完成过程

a.需求分析,即使老师已经给出了题目,也要对题目的需求做分析,需求分析可以是自己的思考分析,也可以是找小学老师,学生甚至家长调查后挖掘出更细致的需求,别小看这个过程,请真实的做这个过程。

a.1 通过百度了解到四则运算的题型:http://wenda.so.com/q/1378287767064772  一些题目

a.2 百度百科中对小学四则运算的定义:http://baike.so.com/doc/5327318-5562490.html   百度百科

a.3四则运算的运算法则:http://wenda.so.com/q/1413850142727211  运算法则

 

b.功能设计,题目的需求,以及从真实调研里获得的需求后,要对程序做基本的功能设计,有同学会问:“不就是出题嘛,有啥好设计的?”,其实, 题目里要求的只是基本的要求,自己思考和调研会有超出题目要求的需求,甚至你有天才的设计,作出特色的功能。

 b.1 题目的简单要求:

  1、除了整数之外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24

  2、运算符为 +, −, ×, ÷

  3、并且要求能处理用户的输入,并判断错误,打分统计正确率

  4、要求能处理用户输入的真分数,如 1/2, 5/12 等

  5、使用-n参数控制生成题目的个数,例如执行下面命令将生成10个题目

       sizeyuansuan.exe -n 10

b.2 实现通过输入确定四则运算题目数量,判断小学生做题是否正确,并在最后算出正确率。

 

c.设计实现,设计包括代码如何组织,你会有哪些Java类,这些类分别负责什么功能,他们之间的关系怎样?你会设计哪些重要的函数,关键的函数是否需要画出流程图?

int random(int x) 该函数用来随机生成数字。

int legal(char str[10]) 该函数用来判断判断控制台输入,并做出响应。

int create_random(int a, int b)
该函数用来随机生成四则运算所需的某运算数字。
double getanswer() 该函数用来确定运算结果。

通过函数的构造加上if、switch语句的灵活应用来完成这道题目。

d.代码说明,你一定花了最多时间在代码的编写与调试上,那么,这个环节请把你的重要代码展示出来,代码的排版请做好。

   

    此处放置了两个重要环节的代码,主要是对四则运算法则的灵活实现、switch语句的具体运用。

    计算四则运算题目结果:

 

     随机生成四则运算题目:

 

e.测试运行,你的程序必须是可运行的,请展示你的程序运行的截图,包括题目要求的所有需求,都有运行的截图。说明你的程序确实完成了所有需求,如果有实现了扩展需求或者高级需求,也请大方秀出来。

经过测试,可以完成预期的要求。随机生成四则运算题目、通过控制台确定题目数、判断正误、计算正确率。

 

3.展示PSP

 

 分析:由于很久没编程,对自己的能力估计不够。在具体编写过程中,经常会需要更多的时间来保证。所以开发、编码两方面用的时间比预计要多。

    另外,由于预定了(预估)时间,所以直接或者间接的驱使我更快的完成任务。这种感觉也挺好的。以后课余时间会多多练习,争取尽快提高。

 

 


 

4.小结

4.1 首先想说一下Git。这个确实搞了很久,教程还是很详细的。但是ssh-keygen这个.exe要确切的找到它的位置。

教程中:

 

实际:

这样才可以正确运行,并继续的执行下一步的任务。

4.2 具体的打代码过程中,由于很多东西都记不太清楚了,所以经常需要查阅资料。而且可能会出现低级错误。解决方法就是以后多写多练,这样才能不断提高和进步。

4.3 代码过程中用随机来判断是否产生真分数的四则运算式,这样做还蛮好的。原先是想一起处理的,但是处理过程中发现比较麻烦,后面经过思考采用这种方式去做,达到了完成实验的目的。

4.4 一些好的思路比如:建立错题库、时间统计等。还未能实现。会继续努力的。