《数据结构课程设计-文章编辑.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计-文章编辑.doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计(论文)题 目: 文章编辑 院 (系): 专业班级: 姓 名: 学 号: 指导教师: 2013年 9 月 20日西安建筑科技大学华清学院课程设计(论文)任务书专业班级:计算机2011 学生姓名: 指导教师(签名): 一、课程设计(论文)题目文章编辑二、本次课程设计(论文)应达到的目的数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。目的:熟练字符串表在链式存储结构上的实现(提示: 用双向链表实现)
2、。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 静态存储一页文章,每行最多不超过80个字符,共N行。可以输入大写、小写的英文字母、任何数字及标点符号。输入数据:大写、小写的英文字母、任何数字及标点符号(每行字数datai=str0i+k=0;j=0;p-datai+j=strjk+;j+;k=len2count+;i=i+k-1;结束YNYNNY 图4-1统计str出现次数流程图 查找第一个字符,如果有第一个字符即p-datai=str0,设计数器k=0查找这个字符后面的字符与要查找的字符串是否匹配即p-datai+j=strj,如果匹配k+重复第二步,
3、如果k=len2,则查找到,count+;如果没查找到,重新进行第一步void delstringword(char *s,char *str) /*删除字符串*s中的字符串*str*/ strpi jsfor(m=0;mi;m+)tmpcount+=sm;for(n=j;nlen;n+)tmpcount+=sn;tmp图4-2 删除某一特定字符串实现思想:从字符串s中寻找str第一次出现的位置 *p=strstr(s,str);len=strlen(s);i=len-strlen(p)即前i项恰好不含要删除的字符串,将前i项复制到tmp中j=i+strlen(str) 即要删除的字符串在i+
4、1和j之间,将j之后的字符串复制到tmp中将tmp赋给串s,返回s4.3 函数间的关系整个程序主要包括统计各个字符串个数函数、删除某特定字符串函数以及主函数,主函数调用实现各功能所用的函数。4.4 系统功能模块图图4-1 系统功能模块图5.详细设计5.1 结构体的详细定义定义结构体struct line 文本采用顺序存储,行与行之间采用链式存储。typedef struct line char *data; struct line *next;LINE; /*创建一链表,同时向里面输入文本数据*/void Create(LINE * &head) printf (请输入一页文章,以Ctrl+E
5、(E)为结尾(每行最多输入80字符!):n);5.2 系统函数详细介绍1、统计字母数:int CountLetter(LINE * &head)2、统计数字数:int CountNumber(LINE * &head) 3、统计空格数:int CountSpace(LINE * &head)4、统计文章的总字数:int CountAll(LINE * &head)5、统计str在文章中出现的次数:int FindString(LINE * &head,char *str)6、删除指定的字符串void delstringword(char *s,char *str)7、向屏幕输出文章void O
6、utPut(LINE * &head)开始菜单输入文章浏览文章统计信息统计字符串删除字符串退出5.3 系统功能模块介绍图5-4主程序设计流程图 5.4 具体模块设计(1)统计字符个数算法流程图i=0 n=0i=Nj=0 len=strlen(wzi)j=lenif(wzij=n1&wzij=n2)n+j+i+return n算法结束图5-1 统计字符个数算法流程图(2)查找某一字符串出现的次数算法流程图i=0 n=0i=Nc=strstr(wzi,s)c!=0 c=0c=strstr(c+lens,s)n+i+return n算法结束图5-2 查找某一字符串出现的次数算法流程图(3)删除某一字
7、符串算法流程图i+i=0 n=0i=Nc=strstr(wzi,s)c!=0 c=0leni=strlen(wzi);lenc=strlen(c);p=leni-lencreturn n算法结束for(k=1;k=lens;k+)for(j=p;jdatastrlen(tmp)-1=0除去最后一个控制符 E。毕竟还是纸上谈兵多于实际操作的学生,难免会遇到过各种各样的问题,同时我也在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固通过这次课程设计,一定要把以前所学过的知识重新温习。 同时,在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明!最后,衷心地感谢老师和老师的悉心指导以及同学们的热情帮助!9.参考文献1 耿国华等编著,数决结构C语言描述(第二版),西安电子科技大学出版社,2008.7 2 赵文静,祁飞等编著,数据结构与算法,科学出版社,2005.083 赵文静编著,数据结构-C+语言描述,西安交通大学出版社,1999.014 孙鑫,于安萍编著,VC+深入详解,电子工业出版社,2007.75 COHOON & DAVIDSON编著,C+程序设计,清华大学出版社,2005.8