- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程的设计简易文本编辑器
计算机科学与技术系课程设计评分表
课程名称: 数据结构 简易文本编辑器
项 目 评 价 设计方案的合理性与创造性 设计与调试结果 设计说明书的质量 功能完善度 综合成绩
学 号 班 级 姓 名 综合成绩 2010305202 10计本2班 邓寅森
教师评语
教师签名:
日 期:
目 录
一、需求分析 3
二、概要设计 3
三、模块设计 5
四、详细设计 7
五、调试分析 8
六、用户使用说明 11
七、 参考文献 12
八、 对所设计的软件进行自我评价,如创新点、未解决的问题等情况说明 12
九、程序源代码: 13
一、需求分析
1.1 问题描述
传统的纸质文档已经不能满足大家的需求,有容易丢失、查找不方便等缺点。计算机信息管理为人们的生活、工作提供了方便,提高了效率。“简易文本编辑器”是为了帮助老师、同学或其他一些需要使用文本编辑的人员进行管理和分析的一种计算机应用程序。
1.2 基本任务
通过用户调查分析及实际需求,系统需要实现如下基本任务:
(1)输入数据信息建立文本;
(2)查询文本中满足要求的信息;
(3)插入新的信息到文本中;
(4)删除不再需要的文本信息;
(5) 查看所有的文本信息。
二、概要设计
为了完成需求分析的基本任务,主要从以下3个方面进行设计:
2.1 主界面设计
为了实现简易文本编辑器的各项功能,设计了一个含有多个菜单项的主控菜单模块以操作系统的各项功能,以方便用户使用系统。
系统进入菜单运行界面如图所示:
简易文本编辑器主菜单
2.2 数据结构设计
系统采用线性表的顺序存储结构表示和存储“简易文本编辑器”中的信息。实现文本的输入,删除,插入,查找,显示功能。
2.3 系统功能设计
运行程序,提示进入菜单,按“回车键”进入主菜单,再可以在主菜单上进行各项操作。每次进入菜单,选择“1键”新建文本,然后才可以进行其他操作,或者按“0键”选择退出。
三、模块设计
3.1 模块设计
系统主要包含主程序模块和其它操作模块。其调用关系如图所示。
模块调用示意图
3.2 系统子模块及其功能设计
本系统共设计了16个子模块,各程序的函数名及功能说明如下:
1、/*由模式串nextval值*/
void GetNextval(SqVString T,int nextval[])
2、/*模式匹配KMP算法*/
int KMPIndex(SqVString S,int pos,int next[],SqVString T)
3、/*初始化串*/
void InitString(SqVString *S,char *str)
4、/*串插入*/
int StrInsert(SqVString *S,int pos,SqVString T)
/*串删除*/
int StrDelete(SqVString *S,int pos,int len)
6、/*求子串*/
int SubStr(SqVString S,int pos,int len,SqVString *T)
7、/*串连接*/
int Concat(SqVString *S,SqVString T)
8、/*串赋值*/
int StrAssign(SqVString *S,char *value)
void InputString() //新建
10、void DeleteString()//删除
void DeleteSubstring()//删除
void InsertSubstring()//查找
13、void DisplayString()//显示
14、void cd()//进入界面
15、void ts()//主菜单
16、void tc()//退出
3.3 系统模块之间的调用关系
系统的16个子模块之间的主要调用关系所示:
系统函数调用关系图
四、详细设计
4.1 数据结构设计
系统采用线性表的顺序存储结构存储通讯录信息。
4.2 系统主要模块设计
建立文本模块,由void InitString(SqVString *S,char *str)函数实现。该模块的算法思想是:按照给定的线性表存储空间的初始化分配量分配存储空间,若分配成功,则往下进行;令线性表长为0;令线性表当前存储容量为给定的线性表存储空间的初始化分
配量。
该模块的算法描述如下:见源程序
查看文本中得所有记录
原创力文档


文档评论(0)