数据结构课程设计报告--文章编辑(共23页).doc
《数据结构课程设计报告--文章编辑(共23页).doc》由会员分享,可在线阅读,更多相关《数据结构课程设计报告--文章编辑(共23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上山东理工大学计算机学院课 程 设 计(数据结构)班 级计科0901班姓 名许山蒙学 号 指导教师张先伟二一一年一月二十日课程设计任务书及成绩评定课题名称 文章编辑、题目的目的和要求: 1、设计目的巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。2、设计题目要求: 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每
2、行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数(3)输出删除某一字符串后的文章、设计进度及完成情况日 期内 容1.10-1.11选取参考书,查阅有关文献资料,完成资料搜集和系统分析工作。1.121.14创建相关数据结构,录入源程序。1
3、.171.19调试程序并记录调试中的问题,初步完成课程设计报告。1.201.21上交课程设计报告打印版并进行课程设计答辩,要求每个同学针对自己的设计回答指导教师3-4个问题。考核结束后将课程设计报告和源程序的电子版交班长统一刻光盘上交。、主要参考文献及资料1 严蔚敏 数据结构(C语言版)清华大学出版社 19992 严蔚敏 数据结构题集(C语言版)清华大学出版社 19993 谭浩强 C语言程序设计 清华大学出版社4 与所用编程环境相配套的C语言或C+相关的资料、成绩评定:设计成绩: (教师填写)指导老师: (签字)二一一 年 一 月 二 十一 日专心-专注-专业目 录第一章 概述 1第二章 系统
4、分析 2第三章 概要设计 3第四章 详细设计 5第五章 运行与测试 14第六章 总结与心得 18参考文献 19第一章 概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。数据结构是一门重要的专业基础课,是计算机理论和应用的核心基础课程。数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。在
5、这次的课程设计中我选择的题目是文章编辑。文章编辑主要包括文章进行修改,删除,统计文章字数信息等操作,但是人工的文章编辑操作起来效率相对来说很低,也比较容易出错。但是借助计算机系统来进行文章编辑后,效率可以得到很大提升,也能降低出错率,可以使文章编辑更方便、更高效。第二章 系统分析1 文章编辑的基本功能包括:统计文章中的字数信息;查询某一个词在文章中出现的次数;删除文章中出现的某一个词。要实现上述功能,需要建立基于顺序储存结构的线性表,来存储文章的内容。2 演示程序是以用户与计算机的对话方式执行,这需要一个模块来完成使用者与计算机语言是转化,这一模块是直接写在主程序里面的。3. 程序执行时的命令
6、:本程序为了使用时的方便,采用菜单式的方式来完成程序的演示,几乎不用输入什么特殊的命令,只需按提示输入选择即可。4. 测试数据:分别对不同功能测试几组不同的数据。具体内容见运行测试。5. 程序流程图:第三章 概要设计本章主要介绍1、数据结构的设计 实验主要采用基于顺序储存结构的线性表,用一维数组表示。2、算法的设计 void count(char str)统计文章全部字母数、数字个数、空格个数、文章字符总数,并输出到屏幕上。 void strcount(char str, char temp) 统计字符串temp在文章中出现的次数。 void strdelete(char str,char t
7、emp)删除文章中的字符串temp。 int KMP(int k,char str,char temp)查找模式串在主串中第k个字符后的第一个位置,若模式串不在主串中,返回-1。3、抽象数据类型的 设计 ADT Article数据对象:D = ai|aiElemSet,i=1,2,n,n0 数据关系:R1 = |ai-1,aiD,i=2,n 基本操作:init( &Arti )操作结果:构造一篇空文章input(&Arti)初始条件:文章Arti已存在操作结果:输入文章continue_input(&Arti)初始条件:文章Arti已存在操作结果:继续输入文章del(&Arti , pos,
8、k)初始条件:文章Arti已存在操作结果:删除文章中pos位置后的k个字符count(&Arti) 初始条件:文章Arti已存在操作结果:统计文章全部字母数、数字个数、空格个数、文章字符总数strcount(&Arti ,temp)初始条件:文章Arti已存在操作结果:统计模式串在主串中出现的次数strdelete(&Arti temp,t)初始条件:文章Arti已存在操作结果:在主串中删除第t个模式串相应字符,若t为0,则全删除empty(&Arti)初始条件:文章Arti已存在操作结果:判断文章是否为空lengh(&Arti)初始条件:文章Arti已存在操作结果:文章长度clear(&Ar
9、ti)初始条件:文章Arti已存在操作结果:清空文章output(&Arti)初始条件:文章Arti已存在操作结果:输出文章 ADT Article第四章 详细设计1、 抽象数据类型对应的类定义。class Article /文章private:char str1000;public:Article()str0=0;void input(); /输入文章void continue_input(); /继续输入文章void del(int pos,int k); /删除文章中pos位置后的k个字符void count();/统计文章全部字母数、数字个数、空格个数、文章字符总数int strcou
10、nt(char temp);/统计模式串在主串中出现的次数int strdelete(char temp,int t);/在主串中删除第t个模式串相应字符,若t为0,则全删除bool empty(); /判断文章是否为空int lengh()/文章长度return strlen(str);void clear() /清空文章str0=0;void output() /输出文章printf(%sn,str);Article arti;2、 成员函数及其他子函数。/输入新文章void Article:input()int i=0;char c;printf(请输入文章,以#结束:n);getcha
11、r();while(1)c=getchar();if(c=#)break;stri=c;i+;if(i=0)printf(您没有输入文章!n);elsestri=0;printf(文章输入成功!n);/继续输入文章void Article:continue_input()int i,j;char c;i=strlen(str);j=i;if(i=0)printf(提示:原文章为空!请输入文章,以#结束:n);elseprintf(请继续输入文章,以#结束:n);getchar();while(1)c=getchar();if(c=#)break;stri=c;i+;if(i=j)printf(
12、您没有继续输入文章!n);elsestri=0;printf(文章输入成功!n);/删除pos位置之后的k个字符void Article:del(int pos,int k)int i;for(i=pos+k-1;stri!=0;i+)stri-k=stri;stri-k=0;/统计文章全部字母数、数字个数、空格个数、文章字符总数void Article:count()int letter=0,number=0,blank=0,all=0;int i=0;while(stri!=0)if(isalpha(stri)letter+;else if(isdigit(stri)number+;els
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 文章 编辑 23
限制150内