第一次作业-四则运算题目生成程序
Posted 羊不吃草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一次作业-四则运算题目生成程序相关的知识,希望对你有一定的参考价值。
代码仓库:https://git.coding.net/Xu_Y/calculator2.git
需求分析:
- 能够指定生成数的范围,生成题目的数量和存放题目的文件
- 生成题目时应当计算出结果并保存到文件中,且结果应为真分数
- 给定一个存放题目的文件和一个存放答案的文件,能够判断出正确和错误的题数,指出正确/错误题目的序号,且指出已有题目中重复的部分。最后结果存入文件中。(未完成)
- 随机产生括号(未完成)
功能设计:
- 应对输入参数的合法性进行校验
- 用户未指定时,提供默认的生成题目数和存放文件名
- 一道题的运算符不应超过三个
设计实现:
整个程序的逻辑主要分布在4个文件中:
FenShu.java:定义一个分数类,包含分子(可以正负)和分母(必须大于0)。
Util.java : 工具类,存放将分数类的对象转成真分数形式、随机生成计算的表达式的函数。
duplicate.h : 存放题目查重功能的函数的头文件,查重功能后文描述
Math。java : 存放计算表达式的函数。该文件包含计算表达式得到分数对象、两个分数对象的加减乘除得到分数对象、求两个整数的最大公约数、最小公倍数等方法。
查重功能:待实现
测试运行:
所有参数齐全时,输出在控制台中,并且生成两个文件
输入参数不合法时输出
一次生成10000条题目
个人软件过程:
|
小结:
这次作业花的功夫实在不多,很惭愧。参考许多网上的代码,都不太符合要求,只是进行借鉴,然后针对这次作业,自己进行调整,设计思路,主要是根据要求,来进行功能设计,比如整数的加减乘除不能在运算时候四舍五入,所以1、定义分数类,避免运算时候位数的损失。2实现分数对象的加减乘除(要化简) 3实现整数转成分数对象的方法等,因为没有用到括号,所以没有采用逆波兰式转成后缀表达式进行计算的方式完成四则运算,是用正则表达式进行关键运算符字符分割后,进行先乘除后加减来得到结果。
吐槽下自己,拖太久了,做出来的作业也不是很满意。
以上是关于第一次作业-四则运算题目生成程序的主要内容,如果未能解决你的问题,请参考以下文章