电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构试验报告总结VIP专享VIP免费

数据结构试验报告总结_第1页
数据结构试验报告总结_第2页
数据结构试验报告总结_第3页
数据结构实验报告总结设计题目:模拟计算器程序学生姓名:谢先斌系 别:计算机与通信工程学院专 业:计算机科学与技术班 级: 1 班学 号: 541007010144 指导教师:卢冰李晔XX 年 6 月 21 日郑州轻工业学院课 程 设 计 任 务 书题目 模拟计算器程序专 业 、 班 级计 算 机 科 学 与 技 术10-01班学 号541007010144 姓名 谢先斌主要内容:设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR和 ABS函数的任意整型表达式进行求解。基本要求:要检查有关运算的条件,并对错误的条件产生报警。主要参考资料:严蔚敏吴伟民编著《数据结构 (C 语言版 ) 》 清华大学出版社第 44 页栈、第 52 页表达式求值完 成 期 限: XX 年 6 月 21 日指导教师签名:课程负责人签名:XX年 6 月 21 日一、 设计题目模拟计算器的程序设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR和 ABS函数的任意整型表达式进行求解。设计要求:要检查有关运算的条件,并对错误的条件产生报警。二、 算法设计的思想本程序设计主要是应用了栈,利用栈的“先进后出”原理,建立了两个栈,分别为运算符栈pOStack 和运算数栈pDStack。算法的基本思想( 参考课本 p53 页) 是:(1) 首先置操作数栈为pDStack 空栈,表达式起始符为“ =”,位运算符栈的栈底元素; (2) 依次读入表达式中的每个字符,若是操作数则进入 pDStack 栈,若是运算符则和pOStack 栈的栈定运算符比较优先权后作相应操作,直到整个表达式求值完毕( 即pOStack 栈的栈定元素和当前读入的字符均为“=” ) 。三、 算法的流程图本程序的流程如下附图1 所示:附图 1 程序流程图四、 算法设计分析首先创建了两个栈:typedef struct OPStack //定义运算符栈{ char opStack; int top; }OPStack, *pOPStack; typedef struct DATAStack //定义运算数栈{ double stack; int top; }DATAStack, *pDATAStack; 来分别存放运算符和运算数。在两个结构体中均有一个 top 数据域,当top=-1 时,表示该站为空栈。定义一个Evaluateexpression_r()函数来完成函数运算的主要功能:读入表达式,并计算结果。以下是对该函数的分析:当一次运算开始时, 分别调用 InitpOPStack(pOPStack &pOStack) 函数和InitpDATAStack(pDATAStack &pDStack)函 数 分 别 对 运 算 符 栈 和 运 ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

文库响当当+ 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部