简易四则运算

 

本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166 

Github地址:https://github.com/LRZLUCK/nice

一、题目要求:

      任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。

1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。

2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。

 

二、个人软件过程耗时估计与统计表

 

PSP2.1 Personal Software Process Stages 预估时间(h) 实际时间(h)

Planning

计划 2 3
Estimate 估计这个任务需要多少时间 4 6
Development 开发 2 3
Analysis 需求分析 (包括学习新技术) 0.2 1
Coding Standard 代码规范 0.1 0.4
Design 具体设计 0.5 0.5
Coding 具体编码 1 1.5
Code Review 代码复审 0.1 0.4
Test 测试(自我测试,修改代码,提交修改) 0.2 0.4

  

项目构思

四则运算的三元二次方程里面应该有三个随机数和两个运算符号,其中两个运算符号组合有16种,因此我采用swith,case语句进行判断,将16种情况一一列出来

 

项目问题和解决方案

如何判断运算的优先级,这里最正确 的做法是使用栈的方式来解决,但是我对这方面不是很熟悉,基础比较薄弱,因此我才用最笨的方式,我将三元二次方程里面可能出现的16种运算情况都罗列出来,进行判断。

一开始是想着用for()循环来将16种情况进行随机生成的,但发现因为我们不能要负数的结果,当产生负数结果时要再循环产生一次,我发现for()循环很难进行算式的个数统计,因此在参考别 的同学的代码后就采用了do()while循环来做,当随机产生的结果时负数时,用continue跳出再循环。

然后计算正确率时一开始一直得不到答案,然后发现自己把正确率定义为整型。

 

项目不足之处

真分数的答案我还解决不了,其次就是遇到有小数的取整,我只取整数位。

项目截图

 

 

 


posted @ 2018-10-10 05:48  刘睿智  阅读(298)  评论(4编辑  收藏  举报