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


    博客园: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.1 Personal Software Process Stages Time Senior Student(h) Time(h)
    Planning 计划 1 1
    · Estimate 估计这个任务需要多少时间 25 30
    Development 开发 1 1
    · Analysis 需求分析 (包括学习新技术) 1 1
    · Design Spec 生成设计文档 1 1
    · Design Review 设计复审 2 2
    · Coding Standard 代码规范 5 5
    · Design 具体设计 1 1
    · Coding 具体编码 5 8
    · Code Review 代码复审 3 3
    · Test 测试(自我测试,修改代码,提交修改) 4 6
    Reporting 报告 2 2
    · 测试报告 0.5 0.5
    · 计算工作量 1 1
    · 并提出过程改进计划 0.5 0.5
  • 相关阅读:
    R-时空可视化
    zz温故知新:Tomcat调优&JVM内存性能调优
    《CarbonData》
    《RocketMQ》
    《LinuxTools》
    《为什么说 Prometheus 是足以取代 Zabbix 的监控神器?》
    《Zabbix》
    zz《百度地图商业选址》
    《Dapper》
    BZOJ 1601: [Usaco2008 Oct]灌水 最小生成树_超级源点
  • 原文地址:https://www.cnblogs.com/zpfs/p/9752593.html
Copyright © 2020-2023  润新知