参考简单行编辑程序汇报.docVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
参考简单行编辑程序汇报

沈阳航空工业学院 课 程 设 计 简单的行编辑程序 班级 / 学号 6402103/077_ 学 生 姓 名 赵 壮 指 导 教 师 张 雷 沈阳航空工业学院 课 程 设 计 任 务 书 课 程 名 称 软件技术基础课程设计 院(系) 电子信息工程学院 专业 电子信息工程 班级 6402103 学号 200604021077 姓名 赵 壮 课程设计题目 简单行编辑程序 课程设计时间: 2008 年 7 月 14 日至 2008 年 7 月 27 日 课程设计的内容及要求: [问题描述] 文本编辑程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修改操作。限制这些操作以行为单位进行的编辑程序称为行编辑程序。 被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的作法既不经济,也不总能实现。一种解决方法是逐段地编辑。任何时刻只把待编辑文件的一段放在内存,称为活区。试按照这种方法实现一个简单的行编辑程序。设文件每行下超过320字符,很少超过80字符。 [基本要求] 实现以下4条基本编辑命令: (1)行插入。格式:i<行号><回车><文本>.<回车> 将<文本>插入活区中第<行号>行之后。 (2)行删除。格式:d<行号l>[<空格><行号2>=EDIT(),2 HELP(),3 EXIT()。行编辑程序的四种主要功能都在EDIT()编辑函数中执行。HELP()函数是提示用户各种功能的执行方式,主函数通过给字符变量cmd赋初值来选择是结束程序还是继续执行循环体中的内容。主程序流程图如1所示。 图1 主函数流程图 2.帮助函数HELP()子程序设计 帮助函数的主要作用是在用户忘记如何操作的情况下在屏幕上给用户显示提示操作的信息,使行插入,行删除,活区显示,活区切换的执行方式,其流程图如图2所示。 图2 帮助函数HELP()流程图 3.编辑函数EDIT()子程序设计 简单行编辑程序的各种功能在编辑函数中实现。首先给字符型变量cmd赋初值,通过switch(cmd)来选择执行哪种功能。退出编辑函数:E(e),调用save all()函数将内容存盘,然后调用freemem()释放链表空间。打开文件:O(o),调用openfiles()函数打开文件。执行活区显示:P(p)。执行行删除:D(d)。执行行插入:I(i)。执行活区切换显示:N(n)。程序流程图如图3所示。 图3 编辑函数流程图 4.活区显示函数display()子程序设计 在活区显示中首先把文本内容链入链表,函数中用page来实现页码的自增。函数种定义了一个指向struct text结构体的指针变量p ,在文件fp非空和行号小于20的情况下,利用fgets函数使p-string从打开的文件fp中得到字符的值,然后输出每一行的行号和每一行的内容,在此函数的最后还可以利用Y和N来决定是否继续显示下一个活区的内容。其程序流程图如图4所示。 图4 活区显示函数流程图 5.活区切换函数saveanddisplay(20)子函数设计 活区切换函数实现活区之间的切换,把文本的每一页(20行)作为一个活区,可以逐页的把活区内容显示出来。在活区切换函数中定义了一个指向struct text结构体的指针变量p赋初值*p=NULL,当i小于20时,如果行没有被删除(flag=1)就通过fputs函数把活区内容写入到文件(out).打开文件fp,如果文件非空,用fgets函数从文件fp读入字符串,并用puts函数输出。如果文件fp为空就输出file end!。程序流程图如图5所示。 图5 活区切换函数流程图 6.行删除函数del()子程序设计 在函数的开始定义了三个指向struct text结构体的指针变量p1,p2,p3。输入要删除的两个行号(比如1 3),表示删除从第1行到第3行的数据。程序流程图如图6所示。 图6 行删除函数流程图 7.行插入行数insert()子程序的设计 行插入函数的开始定义了三个指向struct text结构体的指针变量p,p1,p2,在给hang赋初值后使p1指向头结点,利用for循环,找到要插入行的前一行hang-1,然后给插入的行分配内存空间。输入文本内容并连入链表。行程序流程图如7所示。 图7 行插入函数流程图 三、调试过程及实验结果 (1)调试过程 在程序编写好之后,便开始在VC中编译

文档评论(0)

ktj823 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档