zoukankan      html  css  js  c++  java
  • 第四次作业-计算功能的实现

    >一.

    传送门:

    Github-仓库

    The problem

    参考资料:

    main()参数命令行的使用

    前缀,中缀,后缀表达式互换及计算


    # >二.解题思路:#

    1.计算: 建立Calculation类,将中缀表达式转换成前缀表达式进行计算。


    ## 2. 负数的处理: 在原有的Scan类中修改使其有选择性地保存负数。
    ## 3 优先级的处理: 设置一个函数,通过函数的返回值确定两操作符的优先级大小。
    ### ps:在第三次作业中Scan类中的使用`queue `储存单个字符,然而发现并不好使~所以又修改了储存方式为`queue`.###

    >三.解题之路:#

    无所知,无从入手 -> 翻阅过相关资料,也查找过各种无关信息 -> 逐步确定解题方向 -> 学习相关资料-> 初步构思,并着手尝试 -> 各种数据测试,以及单独将函数或者类提取出来进行调试 -> 最终完成!.


    >四.收获及反思总结(感受多于知识):

    收获: 学会了sstreamstack 的使用(尽管还不是十分熟练),同时也温习了一遍类的知识, 了解了main函数参数命令行的使用.最主要的还是学到了前缀表达式以及后缀表达式的计算方式.

    反思总结:开始总是最难的,然而一旦开始了就会发现问题原来是可以这么简单地解决.就好比这几次的作业,每次刚看到题目的时候,和大多数同学一样:“什么鬼!卧槽!这题目怎么做!药丸,绝逼药丸!”但是查找了相关资料后渐渐地也就 懂得该怎么去解决这些问题,偶尔走路的时候也会去想这么些问题:优先级怎么解决,负数怎么处理...在这么个过程中,偶尔也会找到许多无关的资料(全是因为无法辨别是否需要),但也因此了解了许多平时不懂或者根本没听过的知识. 就个人而言,对于那些一看就完全懵逼的题目,我想,我们也该抱有这么个心态:只要它是一道题目,那就肯定能做出来。

    共勉:与其停在原地抱怨前方的路太远,还不如就此刻出发,步伐再小也是为此努力过的证明.


    >五.数据测试:








    > 六。不足:

    1. 没有实现对输入的不合法表达式进行报错.(仅做到数字超位数时报错)

    2. 没有深入学习sstream和stack其他用法.

  • 相关阅读:
    ExtJS小试 TreePanel
    ExtJS 之panel tabpanel 和window 的简单使用
    ExtJs2.1未知明错误
    Extjs xtype
    ibatis 初体验
    MS数据库分页
    EXTJS 简单登陆
    php5.2.9 apache2.2 mysql5.1 phpMyAdmin3.2配置
    安装配置Ruby for Eclipse
    ExtJs之gridPanel初探
  • 原文地址:https://www.cnblogs.com/FZUstu/p/5372799.html
Copyright © 2011-2022 走看看