第三次作业:个人项目-小学四则运算

四则运算题目生成器
本文介绍了一个能够生成带有两个以上运算符的四则运算题目的程序设计,支持用户自定义题目数量,确保运算结果非负,适用于数学教育场景。

 

博客园:https://www.cnblogs.com/zpfs/

github仓库:https://github.com/rg-zpf/rg-software

 

第一部分:要求

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

第二部分:设计

1.需求设计

   ①随机产生题目

   ②题目中至少有二个以上的运算符

   ③提示用户输入题目数量

   ④判断答案对错,统计分数

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

2.功能设计

   ①根据用户输入题目数,循环n次,代表n道题目

   ②判断对错,答案与误差之间相差0.1,如果大于0.1,则为错误

   ③答案不能出现负数,小于0,则跳转重新出题

   ④count记录答案正确数,便于统计分数

第三部分:代码实现

   ①首先产生数字为100以内的四则运算,按照用户输入题目数n去循环输出

   ②因为有一道题目中有两个运算符,所以要判断计算优先级问题。我的做法是把两个运算符存入到一个字符数组中,如果第一个运算符ku[0]是“*”或“/”,那就直接运算,第二个云算法只要判断是什么就也可以直接运算了;如果第一个运算符ku[0]不是“*”或“/”,就要判断第二个运算符ku[1]是否为“*”或“/”,如果是,就先计算后面两个数,然后在将后面计算结果与前面相加或者相减(因为前面肯定不是“*”或“/”,所以只有是“+”或“-”);如果不是,则式子中只有“+”和“-”的运算,只要判断符号就可以顺序计算了。

   ③答案与用户结果之间的误差为0.1,并要记录正确结果数目count,再用(float)count/n*100输出分数。

 

部分代码:

Scanner input = new Scanner(System.in);
float result = input.nextFloat();
if(Math.abs(result-sum)<0.1){
System.out.println("恭喜你,计算正确,答案是:"+sum);
count=count+1;
}else{
System.out.println("很遗憾,计算错误,答案是:"+sum);
}

 

注:具体代码,请到github上查看。

结果测试:

第四部分:存在问题

①不能够产生分数

②代码可优化

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

PSP2.1Personal Software Process StagesTime Senior Student(h)Time(h)
Planning计划11
· Estimate估计这个任务需要多少时间2530
Development开发11
· Analysis需求分析 (包括学习新技术)11
· Design Spec生成设计文档11
· Design Review设计复审22
· Coding Standard代码规范55
· Design具体设计11
· Coding具体编码58
· Code Review代码复审33
· Test测试(自我测试,修改代码,提交修改)46
Reporting报告22
·测试报告0.50.5
·计算工作量11
·并提出过程改进计划0.50.5

转载于:https://www.cnblogs.com/zpfs/p/9752593.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值