欢迎来到天天文库
浏览记录
ID:61499695
大小:181.50 KB
页数:13页
时间:2021-02-07
《文章编辑的报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、淮北师范大学数据结构课程设计文章编辑专业计算机科学与技术(师范)学院计算机科学与技术学号学生姓名莫锦莲指导教师姓名赵娟2013年5月3日一、设计目的数据结构课程设计是计算机学院重要的教学环节,它为学生提供了个既动手又动脑,将课本上的理论知识和实际有机的结合起来,独立分析和解决实际问题的机会。进一步巩固和复习数据结构计的基础知识。培养学生结构化程序、模块化程序设计的方法和能力,提高学生调试程序的技巧和软件设计的能力,提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。了解软件的编制过程。二、设计的任
2、务和要求输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出“全部字母数”、“数字个数”、“空格个数”、“文章总字数”;(
3、3)输出删除某一字符串后的文章;三、算法的基本思想1.创建线性表,为输入文章开辟足够大的存储空间。2.输入一页文章,每行字数少于80个,共N行,静态存储在线性表中。3.遍历线性表,统计文章中的字母个数。流程图如下:统计字母个数inti;intznum=0;i=o;i<=L->length;i++L->elem[i]>=’a’&&L->elem[i]<=’z’
4、
5、L->elem[i]>=’A’&&L->elem[i]<=’Z’Znum++4.遍历线性表,统计文章中的空格个数,数字个数,文章中的总字数,实现思想和
6、统计文章中的字母个数相同。5.计算某一字符在文章中出现的次数。实现思路如下:(1)查找第一个字符,如果有第一个支付,即L->elem[i]=S->elem[0],设计数器i,j,cs=0;(2)查找这个字符后面的字符与要查找的字符串是否匹配,即L->elem[i+j]==S->elem[j],如果匹配,cs++;(3)重复第步,如果cs=lengthS,则找到,count++;如果没有找到,重新进行第一步;(4)输出该字符串在文章中出现的次数。6.删除文章中的某一字符串,实现思路如下:(1)遍历线性表,从文章
7、中寻找str第一次出现的位置,*L=strstr(S,str);(2)len=strlen(S);i=len-strlen(L),即前i项恰好不含要删除的字符串,将前i项复制到tmp中。(3)j=i+strlen(str),即要删除的字符串在i+1和j之间,将j之后的字符串复制到temp中;(4)将tmp赋给串S,返回S;(5)输出删除后的文章。流程图如下:PstrSijfor(i=0;ilength;i++)while(q+klength)L->elem[i]==S->elem[0]L->e
8、lem[q]=L->elem[q+k],L-length=L-length-ktmp7.主函数,调用各个函数实现文章编辑的功能四、主要功能模块图开始输入文字主函数查找某一子串输出文字统计个数删除这一字串统计字母、数字、空输出删除后的文章格某一字符串的个数以及文章的总字数具体操作五、系统测试1.选择1,运行界面如下:2.选择2,运行界面如下:3.选择3,运行界面如下:4.选择4,运行界面如下:5.选择5,退出操作系统。六、结论本次数据结构的文章编辑的设计,实现了输入一页文字,程序可以统计出文字、数字及整篇文章的
9、总字数,统计某一字符串在文章中出现的次数,并输出该次数;删除某一子串,并将后面的字符前移。本次课程设计所用的知识包括了数据结构课本上所学的知识以及C++的基础知识,课程设计的过程自己更进一步了解了线表和字符串,掌握了数据结构的思想与方法,也使我认识到自己在学习编程方面还有很多的不足。在编写程序时出现了不少错误,通过调试,在查阅一些资料和向老师请教后,才整理出来。今后我要读一些编程方面的书籍,不能只拘泥与课本上的知识,并注重理论与实践的结合,多上机练习编写程序,提高自己的实际动手能力和独立思考的能力,不断充实自
10、己,掌握更好的编程思想。七、源程序及系统文件使用说明#include#include#defineMAXSIZE1000structSqList{//创建线性表//char*elem;intlength;intlistsize;};voidinitList_Sq(structSqList*L){//创建空表//L->elem=(char*)malloc(MAXS
此文档下载收益归作者所有