- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据结构课程设计实习报告题目:简单行编辑程序
班级:计算机科学与技术2004班
学号:031010151551017
姓名:黄仁化
日期:二〇O五年七月八日
1
目录
原创力文档
预览与源文档一致下载高清无水印
1.需求分析 2
2.概要设计 2
3.详细设计 2
4.测试分析 9
5.用户手册 9
6.测试结果 9
7.课程总结 13
2
一、需求分析
1)、被编译的文本文件可能很大,全部读入编辑程序的数据空间(内存)的做法既不经济,也不总能
实现。任何时刻只把待编辑文件的一段放在内存,称为活区。
(2)、活区的大小用行数ActiveMaxLen(可设为100)来描述。可以以标准行块为单位为各行分配存储,每个标准行块可含81个行块。
(3)、将输入文件中的内容的ActiveMaxLen-x(x由用户自己定义)行的内容读入活区中。然后分别对活区中的内容进行编辑。
(4)、分别实现各命令的函数,然后对客户的需求实行相应的操作。对命令格式不正确的进行处理。
二、概要设计
1.定义行的类型
ADTFileCode{
数据对象:D={ai|ai∈字符集,i=1、2、…、n。n≥0}
数据关系:R1={ai-1,ai|ai-1,ai∈D,i=1、2、…、n。n≥0}
基本操作:
InitFile(F)
初始条件:输入文件和输出文件存在。-
操作结果:将输入文件中的内容读入动态活区F中。
Putc(F)
初始条件:输出文件存在。
操作结果:将活区F中的第一行输到输出文件中。
Insert(a,F,f)
操作结果:将f行中的内容插入到活区F中的第a行之后。
ChangeOrder(F)
初始条件:输入文件和输出文件存在。
操作结果将活区F的内容输出到输出文件中,并从输入文件中读入后一段,实现活区切换。
InsertOrder(F,a,f))
初始条件:插入文件f存在。
操作结果:将插入文件f的内容插入到活区F的第a行之后。
DelOrder(F,a,b)
操作结果:删除活区F中第a行到第b行(包括b行)的内容。
DisplayOrder(F)
操作结果:显示活区中F的内容。
Input(i,j)
操作结果:判断删除一行还是多行。若i=j则删除一行,否则删除多行。
}//ADTFileCode
2.本程序包含两个模块:
1)主程序模块,其中主函数为
voidmainO{
输入x的值和初始化活区;
要求输入输入文件名和输出文件名:
要求输入命令;
输出测试结果:
}
2)活区命令模块一实现对活区命令的内容;
三、详细设计
#includeiostream.h
#includestdlib.h
3
#includestdio.h
#includestring.h
#defineActiveMaxLen100
#defineNULL0
typedefstructFileCode{
char*s;
structFileCode*next;
}FileCode,*FilePtr;
intn,x;
charch;
FILE*fp,*out,*in;
voidInitFile(FilePtrF)
FilePtrp,q;inti;charfile1[255],file2[255];
cout请输入输出文件名和输入文件名:endl;
cinfilel;
if((fp=fopen(file1,r))==NULL)
{cout不能打开此文件!endl;exit(0);}
cinfile2;
if((in=fopen(file2,w+))=NULL)
{cout不能打开此文件!endl;exit(0);}
if((stremp(filel,file2))=NULL)
{cout输入文件名不能与输出文件名相同!endl;exit(0);}
n=0;
F=(FilePtr)malloc(sizeof(FileCode));
p=F;
p-next=NULL;
ch=fgetc(fp);
while(ch!=EOFnActiveMaxLen-x)
q=(FilePtr)malloc(sizeof(FileCode));
q-s=(char*)malloc(81*sizeof(char));
q-
文档评论(0)