20175120彭宇辰 结对编程项目第一阶段总结

结对编程第一阶段

结对对象:20175120王泽龙

一、题目要求

1.自动生成小学四则运算题目

-支持整数

-支持多运算符

-支持真分数

2.统计正确率

二、需求分析

1.自动生成表达式(包含多运算符,随机数为整数)

2.计算自动生成的表达式的结果

3.判断用户输入的答案是否和正确答案相符

4.计算正确率

PS:拓展需求

-根据用户的需求生成运算符数量不同的表达式

三、设计思路

1.自动生成表达式

-将5个运算符存放在数组里

-用random创建对象,生成随机数

-根据用户对难度的需求,用switch函数将表达式分为5级,输入不同的数进入不同的难度

-第n级用for循环随机产生n+1个数和n个运算符

2.中缀转后缀

-利用stack

-首先栈为空,从左到右扫描原式。

-如果遇到操作数直接输出,并且输出一个空格作为两个操作数的分隔符;

-如果遇到运算符,先判断与之前运算符的优先级。

PS:与栈顶相比,比栈顶级别高就进栈,否则就退出栈顶元素并输出,然后输出一个空格做分隔符。并且在入栈之前,要先创造一个二维数组定义运算符的优先级。

3.计算后缀表达式

-设置一个操作数栈,开始栈为空,从左开始扫描。

-遇操作数进栈,若遇运算符,就从栈里退出两个元素,先退出的放右边,后退出的放左边,运算后进栈,直到扫描完毕最后那个元素就是结果

4.判断用户结果是否正确&计算正确率

-在jisuan类中算出正确结果,再与用户结果对比

-相同输出true,不同输出false

-用正确题数除以总题数得到正确率

四、UML图

 

五、运行结果截图

六、代码托管地址

https://gitee.com/pyc-1751/

七、遇到的困难及解决办法

在自动生成表达式时,switch在main方法里编译不通过

-单独创建一个类,实现表达式的分级生成

八、PSP

  预估耗时(分钟) 实际耗时(分钟)
Planning 计划 120   60
Development 开发 900 600
Analysis 需求分析 (包括学习新技术) 150 200
Coding Standard 代码规范 30 50
Design UML 设计项目UML类图 30 40
Coding 具体编码 300 200
Code Review 代码复审 70 60
Test 测试 150 120
Size Measurement 计算工作量 120 250
posted @ 2019-04-04 18:14  20175120彭宇辰  阅读(67)  评论(0编辑  收藏  举报