第一次作业-四则运算

第一次作

coding地址(https://coding.net/u/Night-chen/p/Task_01/git

需求分析

1. 使用 -n 参数控制生成题目的个数,例如
       Myapp.exe -n 10 -o Exercise.txt
将生成10个题目。
2. 使用 -r 参数控制题目中数值(自然数、真分数和真分数分母)的范围,例如 
      Myapp.exe -r 10
 将生成10以内(不包括10)的四则运算题目。该参数可以设置为1或其他自然数。该参数必须给定,否则程序报错并给出帮助信息。
3. 生成的题目中如果存在形如e1 ÷ e2的子表达式,那么其结果应是真分数
4. 真分数在输入输出时采用如下格式,真分数五分之三表示为3/5,真分数二又八分之三表示为2’3/8。
5. 程序一次运行生成的题目不能重复。
6. 在生成题目的同时,计算出所有题目的答案,并存入执行程序的当前目录下的Answers.txt文件。
7. 程序应能支持一万道题目的生成。
8. 程序支持对给定的题目文件和答案文件,判定答案中的对错并进行数量统计,并会输出所有题目中重复的题目

功能设计

 基本功能 

  1、随机生成运算表达式

  2、重复题目查询

  3、四则运算计算功能

  4、对运算表达式中数值和对计算结果进行约分

  5、将题目和答案分别写入文件

设计实现

  1、随机生成自然数、真分数与操作符,组合成算式。

  2、将算式改为后缀表达式。(参考数据结构)

  3、计算后缀表达式,保存结果,并根据计算后缀表达式时的出栈顺序保存出栈字符用于判断算式是否重复。

  4、对运算表达式的计算结果进行约分。

  5、定义一个类(Arictmetic),用于保存表达式、结果及用于查重字符串。

  6、定义ArithmeticProduce类,用于生成算式(自然数运算和真分数运算)。

  7、定义CountAndCheck类,用于生成后缀表达式、计算、并生成用于查重字符串。

  6、定义主类(test),用于保存数据至文件,并接收用户答案。

测试运行

 

 

PSP记录表(h/小时)

 

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

 

 感受总结

  具体编码前没有设计好,代码有点乱,编码过程中总是不停推翻自己写的代码。

  设计完的程序与题要求的有些不一样。

 

posted @ 2017-09-19 09:42  轻歌之影的戏曲  阅读(229)  评论(2编辑  收藏  举报