好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

简单LISP算术表达式计算器.pdf

7页
  • 卖家[上传人]:20****03
  • 文档编号:152388843
  • 上传时间:2020-11-23
  • 文档格式:PDF
  • 文档大小:214.29KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 广东工业大学实验报告 自动化学院网络工程专业(1) 班学号3111001299姓名 刘源彬成绩评定_______教师签名 许亮 实验4.4题目简单 LISP 算术表达式计算器课程名称数据结构 A 1 简单简单 LISP 算术表达式计算器算术表达式计算器 一实验目的一实验目的 问题描述问题描述 设计一个简单的 LISP 算术表达式计算器 简单 LISP 算术表达式(以下简称表达式)定义如下: (1)一个 0..9 的整数;或者 (2)(运算符 表达式 表达式) 例如,6,(+45),(+(+25)8)都是表达式,其值分别为 6,9 和 15 基本要求基本要求 实现 LISP 加法表达式的求值 测试数据测试数据 6,(+45),(+(+25)8),(+2(+58)),(+(+(+12)(+34))(+(+56)(+78))) 实现提示实现提示 写一个递归函数: int Evaluate(FILE*CharFile) 字符文件 CharFile 的每行是一个如上定义的表达式 每读入 CharFile 的一行, 求出并返回表达式的 值 可以设计以下辅助函数 status isNumber(char ReadInChar); //视 ReadInChar 是否是数字而返回 TRUE 或 FALSE。

      int TurnToInteger(Chat IntChar) //将字符0..9转换为 0..9 二实验内容二实验内容 程序源代码程序源代码 1、自定义数据类型、自定义数据类型 typedef struct char *cbase; char *ctop; intistacksize; cstack; //定义字符型结构体 typedef struct int *ibase; int *itop; intistacksize; istack; //定义整数型结构体 广东工业大学实验报告 自动化学院网络工程专业(1) 班学号3111001299姓名 刘源彬成绩评定_______教师签名 许亮 实验4.4题目简单 LISP 算术表达式计算器课程名称数据结构 A 2 2、基本操作函数、基本操作函数 #include #include #define stack_init_size 100 #define stackincrement 10 int initstack (cstack c.ctop = c.cbase; return 0; //初始化 int initstack (istack i.itop = i.ibase; return 0; //初始化 int cpush(cstack return 0; //压栈 int ipush(istack return 0; //压栈 int cpop(cstack return 0; //出栈 int ipop(istack return 0; //出栈 void getfun();//把输入的字符串附值给数组 int lenth=0;//输入的字符串的长度 int result=1; static char array100;//定义数组 int display()//打印开始屏信息 for(int p=0;p<80;p++) cout<<=; cout<

      同时也支持 LISP 算术表达式的 语法的检查.你可以输入形如下面的式子:<

      就直接打出,如果不是的话,说明语法有 问题 else if(array0!=() cout<<您是否忘记了开始的(, 请检查!<

      ipush(istack &i,int ie) 初始条件:整型栈 i 存在 操作结果:将整数 ie 加入到整型栈 i 中 ipop(istack &i,int &ie) 初始条件:整型栈 i 存在 操作结果:将 ie 从整型栈 i 中删除 ADT istack 3.其他 int display()//打印开始屏幕信息 void getfun()//表达式输入 四实验的结果及分析四实验的结果及分析 五实验中出现的问题、解决方法和心得体会五实验中出现的问题、解决方法和心得体会 写完程序的第 1 步, 先不让机器进行检错, 先自己检查, 当修改了较多不是粗心导致的问题后, 后面要修改的问题就是自己个人水平技术原因导致的错误了 这个算法感觉逻辑性很强,有时候写着写着就乱了,得从头开始看 当程序初步设计出来后,有很多细节上的错误,有的发现不出来,需要找同学帮忙或者查书籍 等通过修改错误,也认识到自己的不足,相当一个查缺补漏的过程,跟一个系统分析的过程,逻辑 思维过程,对程序的认识更加深了一步,以后还是需要多练习写一下程序,多提高一下自己的动手 广东工业大学实验报告 自动化学院网络工程专业(1) 班学号3111001299姓名 刘源彬成绩评定_______教师签名 许亮 实验4.4题目简单 LISP 算术表达式计算器课程名称数据结构 A 7 实践能力,以便以后可以更加熟练的写程序。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.