zoukankan      html  css  js  c++  java
  • 2017寒假作业三

    寒假作业三

    1.博客主页

    Dark-Existed
    Z、悟空

    2.实现设计思路

    一.计算式的生成以及答案的计算

    1. 利用srand rand生成随机数和随机符号 itoa函数连接字符和int类型的数字 string类型可通过'+'直接连接字符,利用这个特性直接添加() 来随机生成计算式
    2. 答案的计算利用栈模拟四则运算 由于计算式存储在string类型中无法直接得出计算结果,所以利用栈模拟四则运算得出答案
      先将string类型中原本的中缀表达式转换成后缀表达式以便于用栈模拟运算 利用栈去计算得出结果

    二.计算结果的验证以及正确错误题目的统计
    通过将用户输入数值与答案进行比较判断答题是否正确 计算正确的题目数量 同时提示是否正确

    3.编码规定

    缩进用4个空格 {}单独成行 每个语句 单独一行

    程序实现和结果测试截图

    在大部分情况下能够正确运行 然而存在部分缺陷 将float类型的答案进行转换 保留两位小数时存在精度损失 所得到答案可能会不正确

        answer[i]=expressionCalculate(equation[i]);
        //四舍五入保留两位小数
        temp2=(int)(answer[i]*100+0.5f);
        answer[i]=(float)temp2/100;
    

    这需要后续进行改进,避免转换的时候的精度损失
    测试截图

    github的提交链接和提交日志截图

    提交链接
    本次合作使用的是github desktop
    GUI界面对于新手而言易于上手 同时更加直观看到一些修改 但是功能没有命令行那么强大
    后续将深入各种命令
    提交截图

    共同部分

    main函数
    main函数中的计算式生成主要是我实现的 中英文的输出提示是partner实现的
    同时双方会在提交后看对方的实现方法 并提出一些建议

    我的部分

    creat_symbol(随机符号)
    bracket(随机括号)
    int_str(数字转字符串)
    connecct(连接数字运算符)
    InfixToPostfix(将中缀表达式转换成后缀表达式)
    posfixCompute(计算后缀表达式)
    expressionCalculate(表达式计算)

    合作过程 合作体会

    刚开始先沟通各自需要完成的部分 然后就去实现自己需要完成的功能 遇到一些困难会一起想解决办法 由于未写过多源文件 所以此次是写在一个源文件中 这对提交时的顺序需要注意 但所幸提交时没有出现错乱
    在合作中沟通是很重要的环节 要做到对方理解你所表达的东西需要一些沟通能力
    第一次合作完成编码 学习到团队合作的一些经验 对将来的团队合作会有不少的帮助

  • 相关阅读:
    hdu1151 二分图(无回路有向图)的最小路径覆盖 Air Raid
    二分图多重匹配问题
    二分图最大匹配问题及其扩展
    ZOJ3741 状压DP Eternal Reality
    POJ2699:The Maximum Number of Strong Kings(枚举+贪心+最大流)
    POJ2396:Budget(带下界的网络流)
    POJ2391:Ombrophobic Bovines(最大流+Floyd+二分)
    POJ1637:Sightseeing tour(混合图的欧拉回路)
    URAL1277 Cops and Thieves(最小割)
    Leetcode 44. Wildcard Matching
  • 原文地址:https://www.cnblogs.com/darkexisted/p/6413814.html
Copyright © 2011-2022 走看看