括号匹配实验报告书_第1页
括号匹配实验报告书_第2页
括号匹配实验报告书_第3页
括号匹配实验报告书_第4页
括号匹配实验报告书_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 1 1 实验题目 实验题目 括号匹配的检验 2 2 需求分析 需求分析 本演示程序用 VC 6 0 编写 完成圆括号 方括号和大括号 其嵌套的顺序随意 即 或 等为正确格式 或 均为不正确的格式 输入形式 直接输入一串括号 输出形式 直接输出输入的括号串是否匹配的结果 程序所能达到的功能 可以多次输入括号串并判断其是否匹配 测试数据 输入 结果 匹配 输入 结果 此串括号匹配不合法 3 3 概要设计 概要设计 1 为了实现上述程序功能 需要定义栈的抽象数据类型 class Stack 数据对象 kh ai ai count i 0 1 2 n n 0 数据关系 基本操作 push char b 操作结果 把一个数据压进栈 pop 操作结果 把一个数据弹出栈 pp char c 初始条件 栈已存在 操作结果 将栈中的元素进行匹配 jc 初始条件 栈已存在 操作结果 检查栈是否为空 若空 返回 0 若不空 返回 1 clear 操作结果 清空栈 2 本程序包含 7 个函数 主函数 main 栈的构造函数 Stack 压栈操作函数 push char b 弹栈操作函数 pop 匹配元素函数 pp char c 检查栈操作函数 jc 清空栈操作函数 clear 2 各函数间关系如下 4 4 详细设计 详细设计 include include using namespace std const int maxstack 100 class Stack 栈类 public Stack count 1 初始化计数 conut void push char b 压栈 char pop 弹栈 void pp char c 匹配括号 int jc 检查是否为空栈 void clear count 1 private int count 计数 char a maxstack 存储 void Stack push char b 压栈函数 if count maxstack else count a count b char Stack pop 弹栈函数 if count 0 else return a count return 0 int Stack jc 检查函数 if count 0 return 0 return 1 void Stack pp char c 匹配函数 mainStack push pop pp jc clear 3 int i 0 s 1 t t strlen c 测试输入的字符串长度 if c 0 c 0 c 0 t 2 1 判断是否为奇个括号或第一个为左 括号 cout 此串括号匹配不合法 n endl else 判断 while c i 0 if c i c i c i push c i else if c i if pop s 0 break if c i if pop s 0 break if c i if pop s 0 break i if s 1 if jc cout 匹配 n endl else cout 此串括号匹配不合法 n endl if s 0 cout 此串括号匹配不合法 n endl int main char a maxstack 数组 Stack kh 栈对象 char h cout endl cout 括号匹配测试程序 endl cout endl endl do cout 请输入您的选择 1 运行程序 2 结 束 h switch h case 1 cout 请输入括号 a kh pp a kh clear break while h 2 cout 结束 endl return 0 4 5 5 调试分析 调试分析 遇到问题 输入 时 输出 匹配 输入 后再输入 输出 匹配 分 析 只匹配完右括号就没有检查是否弹栈完毕 之前的栈没有弹空 解决方法 增加一个判断语句 如 栈不空则不匹配 空则匹配 增加一个清空栈 clear 函数 每次结束后把栈清空 6 6 使用说明 使用说明 程序名为括号匹配括号匹配 exe exe 运行环境为 VC 6 0 程序执行后显示 括号匹配测试程序 请输入您的选择 1 运行程序 2 结 束 在输入数字选择执行不同的功能 输入正确的选择后 才可以进行其他的操作 每执行 一次功能 就会显示执行的结果 匹配 或 此串括号匹配不合法 以及选择功能的开 始内容 选择 1 运行程序 选择 1 显示 请输入括号 要求输入括号 选择 2 显示 感谢您的使用 结束程序 7 7 测试结果 测试结果 1 运行程序 选择 1 显示 请输入括号 输入 显示 匹配 及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论