zoukankan      html  css  js  c++  java
  • 个人项目(四则运算程序)总结

    一. 基本要求
        将10-20道四则运算题目写入文档,程序读取并输出题目,同时计算出正确结果。使用者对每道题目计算答案,答对进行提示,答错输出正确结果。分别记录回答正确、错误的数目并输出。
    四则运算题目基本要求:
    1.加减乘除四种运算全部出现
    3.算式中要出现括号
    2.出现真分数和假分数的运算
    4.最少出现一个长度为10的四则运算(10个数字的混合运算)
     
    二.算式处理流程
        传统的四则运算表达式(加、减、乘、除、括号)计算的算法分为两个步骤:1.将中缀表达式转为后缀表达式 2.进行后缀表达式的求值。其中中缀转后缀的操作需要一个线性数据结构“栈”的支持。
        由于大二下“数据结构”课程中布置过表达式求值的任务,这次个人项目的完成可以在其基础上修改完成。在那时完成作业时,我并没有将输入的中缀表达式转化为后缀表达式,而是用两个栈分别存储操作数和运算符,并且比较当前运算符的优先级与运算符栈顶符号的优先级,然后进行相应的操作(严蔚敏版《数据结构》)。
        考虑到需要完成真分数和假分数的运算,我定义了一个分数类(fraction),属性包括分子和分母两个整型数。操作数栈即为一个数据类型为分数类的栈。
       
    图1-表达式计算处理基本流程图
        
    三. 程序整体流程

     

    图2-程序整体流程图

    四.困难与挑战

         由于进行运算操作的数据类型都是分数类,在修改完代码后发现括号和‘/’并不能总是很协调地在一起出现。在添加若干个条件判断后,这类问题得以解决。如果采用常规的中缀转后缀、后缀求值的方法进行计算的话,也许就不会产生这类的问题。

    五.反思

        由于时间限制,这次个人项目并没有实现表达式自动生成和图形界面的功能。希望在以后的项目中能够多动手、多尝试,敢于实现新的功能,在基本功能上有所突破和创新。

     

       
     
  • 相关阅读:
    【转载】为什么CPU有多层缓存
    【转载】二叉树的基本概念和实现
    【转载】如何系统地自学 Python?
    【原文】前端程序员必须知道的高性能Javascript知识
    【转载】重磅!中国人工智能/机器人/无人机创业公司100 | 智能内参
    【转载】分析重装系统也无法清除的鬼影病毒
    【转载】UML类图知识整理
    【转载】.NET程序员走向高端必读书单汇总
    【转载】齐次坐标的理解
    59. Spiral Matrix II
  • 原文地址:https://www.cnblogs.com/liuxin13070013/p/5292407.html
Copyright © 2011-2022 走看看