数据结构课程设计实验报告(后缀表达式的计算).doc

数据结构课程设计实验报告(后缀表达式的计算).doc

ID:58854193

大小:163.00 KB

页数:17页

时间:2020-09-23

数据结构课程设计实验报告(后缀表达式的计算).doc_第1页
数据结构课程设计实验报告(后缀表达式的计算).doc_第2页
数据结构课程设计实验报告(后缀表达式的计算).doc_第3页
数据结构课程设计实验报告(后缀表达式的计算).doc_第4页
数据结构课程设计实验报告(后缀表达式的计算).doc_第5页
资源描述:

《数据结构课程设计实验报告(后缀表达式的计算).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2009~2010学年度第二学期赣南师范学院数学与计算机科学学院数据结构课程设计报告册课程设计名称:后缀表达式的计算专业:信息与计算科学班级:07*****本学号:0707*****姓名:******指导老师:王**老师课程设计任务一览表序号课程设计任务名称设计专题任务描述(可附页)1问题的描述和分析设计一个程序,实现中缀表达式与后缀表达之间的转换并对后缀表达式进行计算并输出结果2算法的设计见设计报告3数据结构的设计见设计报告4具体程序的实现见设计报告5界面设计见设计报告6调试情况在文档a中输入5+6*6-9-8,执行程序,选择a.txt。选择功能1查看到文档a中的中缀表达式5+6*6-

2、9-8。选择功能2查看到对应的后缀表达式为566*+9-8-。选择功能3计算出后缀表达式的计算结果为24。选择功能4成功将程序运行并保存结果。选择功能5成功查看到上一次的运行结果也为24选择功能6成功关闭程序7算法的分析和评价及本次上机实验的心得这次实验很成功,在初次的设计目的上增加了中缀表达式与后缀表达式的转换功能,这样少了繁杂的后缀表达式录入过程,操作相对变得简易,减轻了用户的工作量。以后的实验及作品我们也要注重这方面改正,这样不仅能提高自己的能力,也能方便使用者。指导用书:___课程设计报告设计项目编号1名称后缀表达式的计算主要仪器设备计算机附属设备U盘主要使用软件VC6.0起止时

3、间2010年4月1日—2010年5月1日同组人***课程设计任务书1.问题的描述和分析2.算法的设计3.数据结构的设计4.具体程序的实现5.界面设计6.调试情况7.算法的分析和评价及本次上机实验的心得课程设计报告一、算法的设计:后缀表达式运算的思想为依次读入表达式中的每一个字符,若当前字符是运算对象,入对象栈,是运算符时,若这个运算符比栈顶运算符高则入栈,继续向后处理,若这个运算符比栈顶运算符低则从对象栈出栈两个运算量,从算符栈出栈一个运算符进行,并将运算结果入对象栈,继续处理当前字符,直到遇到结束符。根据运算规则,每个运算符栈内、栈外的级别如下:算符栈内级别栈外级别^34*、/、%22

4、+、-11(04)-1-1后缀表达式的结果计算主要涉及的数据结构为栈结构,包括下面一些操作,如进栈、出栈、判断栈是否为空、及栈是否为满、读栈顶元素等操作,同时也涉及了文件的读取及输出等操作。设计如下几个函数模块:pseqstackcreatnullstack();/*创建空栈*/char*fileread(char*infix,char*filename);/*读取文件*/voidpush(pseqstackpstack,charc);/*算符入栈*/voidpushu(pseqstackpstack,intnum);/*操作数入栈*/voidpop(pseqstackpstack);/

5、*出栈*/chartop(pseqstackpstack);/*读取栈顶算符*/inttopshu(pseqstackpstack);/*读取栈顶操作数*/intisempty(pseqstackpstack);/*判断栈是否为空*/char*infixtosuffix(char*infix,char*suffix);/*中缀表达式转换成后缀表达式*/intcaculatesuffix(char*suffix);/*后辍表达式结果计算*/voidfilewrite(char*infix,char*suffix);/*文件输出*/voidfiledisplay(char*infix,cha

6、r*suffix);/*打开文件*/voidputscreen();/*屏显*/二、数据结构的设计两个栈包括在一个数据结构里面,通过对读取的字符类型进行判断来决定它该入哪个栈。structseqstack{intm;intt;chars[100];/*算符栈*/intshu[100];/*对象栈*/};三、具体程序的实现#include#include#include#include#defineFALSE0#defineTRUE1#include"head.h"pseqstackcreatnullstack

7、()/*创建空栈*/{pseqstackpstack=(pseqstack)malloc(sizeof(structseqstack));if(pstack){pstack->m=0;pstack->t=-1;}elseprintf("OutofSpace!");returnpstack;}char*fileread(char*infix,char*filename)/*从文件中读入表达式*/{FILE*fp;inti=0;if

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。