行编辑程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机系

上机实验报告

实验项目名称行编辑程序

所属课程名称数据结构

实验类型综合型实验

班级

完整学号

姓名

成绩

实验概述:

【实验目的】

1.练习行编辑程序并写出栈的逻辑结构表示

2.掌握栈的特点并实现栈的存储表示

3.用栈解决行编辑的问题

【实验环境】(使用的软件)

Visual C++ 6.0 控制台编程环境

实验内容(不够附页):

【实验方案设计与实验过程】(分析、设计、实验步骤、测试数据、实验结果)一、分析

行编辑程序的功能:接受用户从终端输入的程序或数据,并存入用户的数据区。

较好的做法:设立一个输入缓冲区,用来接收用户输入的一行字符,然后逐行存入用户数据区。

例如,当用户发现刚刚键入放入一个字符是错的时,可补符进一个退格符“#”,以表示前一个字符无效;如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符“@”,以表示当前行中的字符均无效。

二、设计

使用栈结构实现输入缓冲区

从终端接收一个字符进行判断:

1、不是“#”也不是“@”则压入栈顶

2、是“#”,则栈顶元素出栈

3、是“@”,则栈清空

4、接收到行结束符或全文结束符将数据送入用户数据区

三、实验步骤

四、测试数据

【实验小结】(实验过程中出现的问题、结果分析、出错原因分析等)(实验过程中出现问题举例)

1.问题:

在程序实现过程中,编译时没有出现错误:

但在运行结果时却出现如下错误:

仔细检查程序,发现是由于少写了如下一段程序:case'@':{

while(!StackEmpty(S))

Pop(S,c);

};break;//构造空栈S

加上以上语句,再编译执行,程序运行正常。

成绩:

批阅日期:

相关文档
最新文档