数据结构课程设计报告—文本编辑器.doc
文本预览下载声明
计算机与信息工程系《数据结构》课程设计报告
学号
2014
2014-2015学年 第一学期
《数据结构》
课程设计报告
题目:
基于顺序结构的文本编辑器的设计
专业:
计算机科学与技术
班级:
姓名:
学号:
指导教师:
成绩:
目录
1课程设计内容1
1.1 设计内容1
1.2 设计任务1
1.3 具体要求1
2 概要设计1
2.1 系统的功能简介1
2.2 各个模块之间的主要关系2
3 设计过程及代码分析2
4 设计结果与分析15
5 源程序16
6 总结24
7 致谢24
8 参考文献25
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 3
1 课程设计内容
1.1 设计内容
《文本编辑器》主要根据课程设计要求进行设计的,本次课程设计的内容及要求是设计一个文本编辑器,能实现文本内容输入、显示、统计、处理、保存和退出文本编辑器等基本功能,主界面具有图形菜单界面、输入文本、打开文件、显示当前文本内容、进入文本内容统计菜单、进入文本内容处理菜单、保存、退出文本编辑器。
其中文本内容统计菜单包含大小写字母、数字、标点符号、空格、所有字符的统计;文本内容处理菜单包含查找、删除文章中的字符或者字符串,向文章中插入字符或者字符串,从文章中复制字符或者字符串,修改行内容,替换字符或者字符串。
1.2 设计任务
主要利用C语言的文件操作能力设计一个简单的文本编辑器,对于文本编辑器来说,数据结构相对简单,使用一个有较大长度的顺序表即可,在程序中可采用一维数组来实现。使用数组表示的顺序表来存储文本具有简洁、访问方便、输出方便等特点。
1.3 具体要求
明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识; 提高学生用数据结构进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤; 提高撰写技术文档的能力。
2 概要设计
2.1 系统的功能简介
该系统的主要功能是实现文本内容输入、显示、统计、处理、保存。首先,输入文本内容并保存;选择打开文件,打开刚才保存的文件;选择显示当前文章内容,可以预览文件内容;进入文章内容统计菜单,可以对文章中大写字母、小写字母、数字、标点符号、空格、所有字数的统计;进入文章内容处理菜单,查找、删除文章中的字符或者字符串,向文章中插入字符或者字符串,从文章中复制字符或者字符串,修改行内容,替换字符或者字符串。
2.2各个模块之间的主要关系
该程序的功能主要是文本编辑,定义的操作方法是整个程序的核心,各个模块之间的关系是相互联系的。首先,需操作者输入文本内容,打开刚才编辑的文本文件,可以先预览文件内容,然后进入文章内容统计菜单,可以对文章中大写字母、小写字母、数字、标点符号、空格、所有字数的统计;进入文章内容处理菜单,查找、删除文章中的字符或者字符串,向文章中插入字符或者字符串,从文章中复制字符或者字符串,修改行内容,替换字符或者字符串。
只有在上步做出选择后,后面的程序才会接着执行,这便表明它们之间存在着紧密的联系,缺少任何一个模块都将导致程序无法继续执行。要求各个模块之间上下相连,具有紧密相扣的关系。
3 设计过程及代码分析
(1)主函数流程图及运行界面
①主函数流程图(见图3(1)-A)
main( )
定义变量:Status s=1;
int i;
for(i=0;iMAX_LEN;i++)
// 初始化串
InitString(T[i]);
while(s)
{
Hello();
}
图3(1)-A
②主函数运行界面(见图3(1)-B)
图3(1)-B
(2)输入文本流程图及运行界面
void Edit()
定义变量:char c;
获得字符串:c=getchar();
{
while(c!=EOF)
{
fputc(c,sfp);
c=getchar();
}
fclose(sfp);
}
①输入文本流程图(见图3(2)-A)
图3(2)-A
②运行界面(见图3(2)-B)
图3(2)-B
打开文件与显示当前文章内容流程图及运行界面
①打开文件与显示当前文章内容流程图(见图3(3)-A、B)
void Open()
定义变量:int k;
while(1)
{ fgets(str,LINE_LEN,fp);
if(feof(fp))
{break;}
k=strlen(s
显示全部