[理学]数据结构 文本编辑.doc
文本预览下载声明
PAGE
山东理工大学计算机学院
课 程 设 计
(数据结构)
班 级
计科1002
姓 名
许士亭
学 号
1011051064
指导教师
张先伟 刘晓红
二○一一年一月十日
课程设计任务书及成绩评定
课题名称
文本编辑
Ⅰ、题目的目的和要求:
巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。
(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。
(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。
Ⅱ、设计进度及完成情况
日 期
内 容
1.2-1.3
选取参考书,查阅有关文献资料,完成资料搜集和系统分析工作。
1.4~1.5
创建相关数据结构,录入源程序。
1.6~1.7
调试程序并记录调试中的问题,初步完成课程设计报告。
1.9
上交课程设计报告打印版并进行课程设计答辩,要求每个同学针对自己的设计回答指导教师3-4个问题。
考核结束后将课程设计报告和源程序的电子版交班长统一刻光盘上交。
Ⅲ、主要参考文献及资料
[1] 严蔚敏 数据结构(C语言版)清华大学出版社 1999
[2] 严蔚敏 数据结构题集(C语言版)清华大学出版社 1999
[3] 谭浩强 C语言程序设计 清华大学出版社
[4] 与所用编程环境相配套的C语言或C++相关的资料
Ⅳ、成绩评定:
设计成绩: (教师填写)
指导老师: (签字)
二○一一 年 一 月 十 日
目 录
第一章 概述……………………………………………………………1
第二章 系统分析………………………………………………………2
第三章 概要设计………………………………………………………
第四章 详细设计………………………………………………………
第五章 运行与测试……………………………………………………
第六章 总结与心得……………………………………………………
参考文献………………………………………………………………
PAGE 28
第一章 概述
课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。《数据结构》是一门重要的专业基础课,是计算机理论和应用的核心基础课程。
数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
选择的是文字编辑器,文字编辑是生活中经常用到的软件,是每个人都会遇到的问题,在文本编辑中经常有字符串的删除替换和查找。如果靠自己来一一比对比较累人,而且容易出错。用计算机软件进行这项工作就变的非常简单。
第二章 系统分析
?
(1) 问题描述
设计一个文本编辑器,使其具有通常编辑器(如Notepad)所应具备的基本功能。
(2) 课程设计目的
小规模软件系统的设计与实现,字符串上的基本操作。
(3) 基本要求
① 要求该编辑器在串的抽象数据类型上构建。
② 编辑器应具备如字符串查找,字符串替换,统计字数,统计行数等基本功能。
(4) 实现提示
字符串抽象数据型需要为文本编辑器的实现提供足够的支持,所以在此部分需仔细分析、设计;可以行编辑器作为该编辑器的基础。
第三章 概要设计
1.数据结构的设计
对于文本编辑来说,数据结构相对简单,使用一个有较大最大长度的顺序表即可,在程序中可用一维数组来实现。使用数组表示的顺序表来存储文本具有简洁,访问方便,输出方便等特点。
2.算法设计
程序分为十一个模块,封装在file类里。
第一个模块是数据的定义。
第二个模块获得文件中的数据,用getdate()函数实现把数据放到内存中,用数组实现。
伪代码如下:
void file:: getdate()//与文件连接
{ memset(ch,0,sizeof (ch));
Elemtype filename[100],c;
elemtype i=1;
cout输入文件名:endl;
cinfilename;cout正在连接。。。endl;
ifstream infile(filename,ios::in|ios::out);
if(! infile)
{
cerropen error!endl;return;
}
while(in
显示全部