第一次作业-四则运算题目生成程序

代码仓库:https://git.coding.net/Xu_Y/calculator2.git

需求分析:

  1. 能够指定生成数的范围,生成题目的数量和存放题目的文件
  2. 生成题目时应当计算出结果并保存到文件中,且结果应为真分数
  3. 给定一个存放题目的文件和一个存放答案的文件,能够判断出正确和错误的题数,指出正确/错误题目的序号,且指出已有题目中重复的部分。最后结果存入文件中。(未完成)
  4. 随机产生括号(未完成)

功能设计:

  1. 应对输入参数的合法性进行校验
  2. 用户未指定时,提供默认的生成题目数和存放文件名
  3. 一道题的运算符不应超过三个

设计实现:

 整个程序的逻辑主要分布在4个文件中:

FenShu.java:定义一个分数类,包含分子(可以正负)和分母(必须大于0)

Util.java : 工具类,存放将分数类的对象转成真分数形式、随机生成计算的表达式的函数。

duplicate.h : 存放题目查重功能的函数的头文件,查重功能后文描述

Math。java : 存放计算表达式的函数。该文件包含计算表达式得到分数对象、两个分数对象的加减乘除得到分数对象、求两个整数的最大公约数、最小公倍数等方法。

查重功能:待实现

测试运行:

所有参数齐全时,输出在控制台中,并且生成两个文件

 

 

 

 

 

 输入参数不合法时输出

 

 

 

 

 

一次生成10000条题目

 

个人软件过程:

PSP2.1 Personal Software Process Stages Time Senior Student Time
Planning 计划 10 15
· Estimate 估计这个任务需要多少时间 10 15
Development 开发 900 1680
· Analysis 需求分析 (包括学习新技术) 6 20
· Design Spec 生成设计文档 30 0
· Design Review 设计复审 20 0
· Coding Standard 代码规范 5 0
· Design 具体设计 10 40
· Coding 具体编码 476 990
· Code Review 代码复审 10 5
· Test 测试(自我测试,修改代码,提交修改) 358 685
Reporting 报告 20 26
· 测试报告 15 20
· 计算工作量 2 1
· 并提出过程改进计划 3 5

小结:

这次作业花的功夫实在不多,很惭愧。参考许多网上的代码,都不太符合要求,只是进行借鉴,然后针对这次作业,自己进行调整,设计思路,主要是根据要求,来进行功能设计,比如整数的加减乘除不能在运算时候四舍五入,所以1、定义分数类,避免运算时候位数的损失。2实现分数对象的加减乘除(要化简) 3实现整数转成分数对象的方法等,因为没有用到括号,所以没有采用逆波兰式转成后缀表达式进行计算的方式完成四则运算,是用正则表达式进行关键运算符字符分割后,进行先乘除后加减来得到结果。

吐槽下自己,拖太久了,做出来的作业也不是很满意。

posted @ 2017-10-08 20:33  羊不吃草  阅读(212)  评论(0编辑  收藏  举报