实验报告,编写简单程序

实验报告,编写简单程序

ID:32765644

大小:87.07 KB

页数:17页

时间:2019-02-15

实验报告,编写简单程序_第1页
实验报告,编写简单程序_第2页
实验报告,编写简单程序_第3页
实验报告,编写简单程序_第4页
实验报告,编写简单程序_第5页
资源描述:

《实验报告,编写简单程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验报告,编写简单程序简单行编辑程序实验报告简单行编辑程序课程设计一.设计要求1•问题描述文本编辑程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修改操作。限制这些操作以行为单位进行的编辑程序称为行编辑程序。I"被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的做法即不经济,又不总能实现。一种解决方法是逐段的编辑。任何时刻只把待编辑文件的一段放在内存,称为活区。试按这种方法实现一个简单的行编辑程序,设文件每行不超过320个字符,很少超过80个字符。2•需求分析该程序要实现以下4条基本的编辑命令:⑴行插入。格式:i行号回车文本.回车将文本插入活区中第行号行之后

2、。(2)行删除。格式:d行号1[空格行号2•洞牟厨如删除活区中第行号1行(到第行号2行)。⑶活区切换。格式:n回车将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。(4)活区显示。格式:p回车;逐页地(每页20行)显示活区内容,在每显示的一页之后请用户决定是否继续显示以后各页(如果存在)。印出的每一行要前置行号和一个空格符,行号固定占4位,增量为1。各条命令中的行号均须在活区中各行号范宙之内,只肴插入命令的行号可以等于活区第一行行号减一,表示插入当前的屏幕中第一行之前,否则命令参数非法。二.概要设计1•主界面设计为了实现简单行编辑程序,设计一个含有多个菜单项的主控菜单子程序以链接系统

3、的各项子功能。主控菜单运行如下:2•存储结构设计溝®r序存储结构。(1)行插入(2)行删除(3)文本显示(4)保存文件(5)读取文件(6)退出系统誌鄴计模块蠶翳麻程驕務薜选择(1)(2)(3)(4)文件2•系统子程序及功能设计enter(intlinenum)〃行插入voiddelete_text()〃行测除voidlist()//^本显示voidsave(char*fname)〃保存voidload(char*fname)(5)〃读取文件四.详细设计数据结构设计ADTline{基本接雀:enter(linenum)初始条件:有内存。操作结果:linenum+1.delete_text()初始

4、条件:line存在。操作结果:若删除的最后一行,贝!I直接删除。若删除中间一行,则后面的linenum-loLoad()初始条件:存在文件file操作结果:打开文件。}ADTline2•系统主要子程序详细设计(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);linenu

5、m=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(ttttl

6、•行插入);printfjtttt2•行删除虫j;printf(tttt3.文本显示);printfjtttt4•保存文件j;printfjtttt5•读取文祚j;printf(tttt6.退出);printf(t***);do{printf(tt请选择:);gets(s);c=atoi(s);}while(cO

7、

8、c6);return(c);}(2)主要工作函数/*将文本插在指定行端部*/enter(intlinenum){structline*info;for(;;)info=(structline*)mallo

9、c(sizeof(structline));if(!info){printf(t!内存不够!);return(NULL);}printf(%d:Jinenum);gets(info-text);info-num=linenum;if(*info-text){if(find(linenum))patchup(linenumzl);if(*info-text)start=dls_store(in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。