登录
首页 » c » 堆栈计算器

堆栈计算器

于 2022-02-04 发布 文件大小:2.88 kB
0 111
下载积分: 2 下载次数: 1

代码说明:

该文件为简单的多元计算器,目前还不能算浮点数,即除法也不能用。其他功能都可以。数据大小最大为999999。编程思路:在严蔚敏的数据结构书上的栈的基础上,再稍加一些细节。       为了避免使用两种数据类型的栈,写两种Push,Pop等函数,   我采取运算符和运算操作数栈都是字符型的。出现的问题及解决思路:    1.将一个数据全部压入栈,是按字符读取的,就不用转换,但     弹出的时候要知道弹多少位,所以用了一个数组,就是记录操作数    的位数的。这样才可以帮助我们弹出正确的数据。        2.弹出的数据要计算,又如何处理?由于我们记录了操作数的位数了,就可以先把字符转化成十进制数字,然后乘权相加把数据得出,计算的结果又要变为字符,再一个个压入栈。        3.整型数据化为字符,这里我先判断数据的位数,然后把数据的各个位置的单个数字取出变为字符压进栈。同时弹出的数据所对    应的数组内容就要更新为0,新压入的数据位数同时也要按顺序存到数组里。就是这点,不细致的话,很容易搞错。        4.更新数组的问题,每压入一个数据后,就会在判断接着的字符的语句块里给数组赋值,同时将标识置为0,等待为当前符号过后要压入的数据计数。在判断符号优先级里的第三种情况,一下子弹出两个数,数组对应就要置后面的为0,然后教前面的那个重置,载入   新计算出来的数据的位数。退出时,i++,从而下一个数组元素可以接  收新的数据的位数。        5.针对4的问题,有一种特殊情况要考虑:就是当读入右括号的  时候,会执行:Flag[i]=flag;假如该句是设置第二个数据的数据位。        flag

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • ADOTest
    本人自己编写的VC++访问数据库程序,包含了ADO、ODBC等方法,可访问MSSQL、SQL、ACCESS等数据库。(I have written VC++ Access database program, including the ADO, ODBC and other methods to access MSSQL, SQL, ACCESS and other databases.)
    2020-10-29 14:59:57下载
    积分:1
  • User
    AD7671采集,并行16位采集,采集速率为1M,CPU为STM32F407(AD7671 collection, parallel 16-bit capture, capture rate of 1M, CPU of STM32F407)
    2013-12-11 08:02:56下载
    积分:1
  • KEA驱动库
    说明:  恩智浦KEA驱动库,代码搬运,可以参考学习,仅供参考。(En Zhipu KEA driver library, code handling, you can refer to learn, for reference only.)
    2019-03-04 22:25:24下载
    积分:1
  • simulink
    同步电机仿真,直接转矩控制,matlab仿真(Simulation of synchronous motor, direct torque control, matlab simulation)
    2010-06-02 00:20:52下载
    积分:1
  • AutoKey
    用csharp写的,是一个模拟鼠标按键 和键盘按键。类似按键精灵,想学习的同学可以下载。(The csharp write a simulated mouse buttons and keyboard keys. Similar QuickMacro, students want to learn can be downloaded.)
    2012-06-13 23:03:26下载
    积分:1
  • Polynomial
    Polynomial基于数据结构的思想,文件比较小,可以直接运行(Polynomial based on the idea of ​ ​ data structures, file is relatively small and can be run directly)
    2013-12-11 11:05:18下载
    积分:1
  • CSharpDLl-zhuru
    C#版 DLL注入,比较难找到,选择dll后可以注入任意进程并且执行(C# version of the DLL injection, more difficult to find, select dll after injecting arbitrary process and execute)
    2021-03-19 15:19:19下载
    积分:1
  • Untitled
    用Simulink方式设计一个单边带传输系统并通过声卡输出接收机解调的结果声音(To design a single-sideband transmission systems using Simulink and through the sound card output receiver demodulation results of sound)
    2012-06-06 10:23:59下载
    积分:1
  • opencv_hand
    opencv手势识别检测实验代码(很实用的)(opencv gesture recognition detection experiments the code (very practical))
    2021-04-23 11:08:47下载
    积分:1
  • HuffmanTree
    HUFFMAN TREE的编码源代码 实测可用 适合初学者使用(HUFFMAN TREE actual source code is available for beginners)
    2013-12-04 16:28:15下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载