实验报告,编写简单程序.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告,编写简单程序 简单行编辑程序实验报告 简单行编辑程序课程设计 一.设计要求 ?问题描述 文本编辑程序是利用计算机进行文 字加工的基本软件工具,实现对文本文 件的插入、删除等修改操作。限制这些 操作以行为单位进行的编辑程序称为行 编辑程序。 I被编辑的文本文件可能很大,全部 读入编辑程序的数据空间(内存)的做 法即不经济,又不总能实现。一种解决 方法是逐段的编辑。任何时刻只把待编 辑文件的一段放在内存,称为活区。试 按这种方法实现一个简单的行编辑程 序,设文件每行不超过320个字符,很 少超过80个字符。 I ?需求分析 该程序要实现以下4条基本的编辑 命令: ⑴行插入。格式:i行号回车文本.回 车 将文本插入活区中第行号行之后。 (2)行删除。格式:d行号1[空格行 号2?洞牟厨如 删除活区中第行号1行(到第行号2 行)。 ⑶活区切换。格式:n回车 将活区写入输出文件,并从输入文 件中读入下一段,作为新的活区。 (4)活区显示。格式:p回车;逐页 地(每页20行)显示活区内容,在每显 示的一页之后请用户决定是否继续显示 以后各页(如果存在)。印出的每一行要 前置行号和一个空格符,行号固定占4 位,增量为1。 各条命令中的行号均须在活区中各 行号范宙之内,只肴插入命令的行号可 以等于活区第一行行号减一,表示插入 当前的屏幕中第一行之前,否则命令参 数非法。 二.概要设计 ?主界面设计 为了实现简单行编辑程序,设计一 个含有多个菜单项的主控菜单子程序以 链接系统的各项子功能。主控菜单运行 如下: ?存储结构设计 溝?r序存储结构。 行插入 行删除 文本显示 保存文件 读取文件 退出系统 誌鄴计 模块蠶翳麻程驕務薜选择 (1)(2)(3 (1) (2) (3) 文件 enter(intlinenum) 〃行插入 voiddelete_text() 〃行测除 voidlist()//^ 本显示 voidsave(char*fname) 〃保存 voidload(char*fname)(5) voidload(char*fname) 〃读取文件 四.详细设计 数据结构设计 ADT line{ 基本接雀: enter(linenum) 初始条件:有内存。 操作结果:linenum+1. delete_text() 初始条件:line存在。 操作结果:若删除的最后一行,贝!I 直接删除。 若删除中间一行,则后面的linenum -lo Load () 初始条件:存在文件file 操作结果:打开文件。 } ADT line 2 ?系统主要子程序详细设计 (1)主程序模块设计 voidmain(intargc,char*argv[]) { chars[80], choice, fname[80]; intlinenum=l; start=NULL; last=NULL; if(argc==2)load(argv[l]); do{ choice=menu_select(); switch(choice) casel:printf(行号:); gets(s); linenum=atoi(s); enter(linenum); break; case2:delete_text(); break; case3:list(); break; case4:printf(\t 文件名:); gets(fname); save(fname); break; case5:printf(\t 文件名:); gets(fname); load(fname); break; case6:exit(0); } }while(l); } menu_select() { ~ chars[80]; intc; printf(\t 使用简单行编辑程序*******************^?W ^?w ^?w ^?w printf(\t 使用简单行编辑程序 ******************* ^?W ^?w ^?w ^?w ■ printf(\t\t\t\tl ?行插入\n); p r i n tf j \t\t\t\t 2 ?行删除虫 j; printf(\t\t\t\t3.文本显示\n); printfj\t\t\t\t4 ?保存文件\nj; printfj\t\t\t\t5 ?读取文祚\nj; printf(\t\t\t\t6.退出 \n); printf(\t printf(\t ***\n); do{ printf(\n\n\t\t 请选择:); gets(s); c=atoi(s); }while(cO| |c6); return(c); } (2)主要工作函数 /*将文本插在指定行端部*/ enter(intlinenum) { struct

文档评论(0)

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

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

1亿VIP精品文档

相关文档