文章编辑(数据结构课程设计)

文章编辑(数据结构课程设计)

ID:15755259

大小:667.00 KB

页数:117页

时间:2018-08-05

文章编辑(数据结构课程设计)_第1页
文章编辑(数据结构课程设计)_第2页
文章编辑(数据结构课程设计)_第3页
文章编辑(数据结构课程设计)_第4页
文章编辑(数据结构课程设计)_第5页
资源描述:

《文章编辑(数据结构课程设计)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计报告课程设计题目:文章编辑学生姓名:专业:计算机科学与技术班级:学号:指导教师:2012年06月21日116目录一、实验题目1二、实验时间、地点1三、实验目的1四、实验要求1五、实现思路21、定义结构体22、主要函数:2六、实现过程4主要代码:4运行结果:10七、实验总结14八、参考文献14一、实验题目文章编辑:输入一页文字,程序可以统计出字母、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;二、实验时间、地点第十九周,软件楼603三、实验目的本次课程设计的主要目的是综合运用所学的数据结构知识解决一个比较

2、实际问题,侧重对链表、数组、字符串、图、树等相关内容的综合应用,使同学们能进一步熟悉掌握数据结构的基础知识,进一步提升自己的解决问题和编程调试能力,为后续专业课程的学习打下良好的基础。四、实验要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母

3、数"、"数字个数"、"空格个数"、"文章总字数"116(3)输出删除某一字符串后的文章;五、实现思路1、定义结构体定义结构体structline,文本行采用顺序存储,行与行之间采用链式存储2、主要函数:intFindString(LINE*&head,char*str)/*统计str在文章中出现的次数*/116求在一行中Str出现的次数的流程图:①.查找第一个字符,如果有第一个字符即p->data[i]==str[0],设计数器k=0②.查找这个字符后面的字符与要查找的字符串是否匹配即p->data[i+j]==str[j],如果匹配

4、k++③.重复第二步,如果k=len2,则查找到,count++;如果没查找到,重新进行第一步开始count=0;h=0;len1=0;len2=strlen(str);p->data[i]==str[0]i++k=0;j=0;p->data[i+j]==str[j]k++;j++;k=len2count++;i=i+k-1;结束YNYNNYvoiddelstringword(char*s,char*str)/*删除字符串*s中的字符串*str*/实现思想:①.从字符串s中寻找str第一次出现的位置*p=strstr(s,str);②

5、.len=strlen(s);i=len-strlen(p)即前i项恰好不含要删除的字符串,将前i项复制到tmp中116③.j=i+strlen(str)即要删除的字符串在i+1和j之间,将j之后的字符串复制到tmp中④.将tmp赋给串s,返回sstrpijsfor(m=0;m#include#include#in

6、cludetypedefstructline{char*data;structline*next;}LINE;voidCreate(LINE*&head){printf("请输入一页文章,以Ctrl+E(^E)为结尾(每行最多输入80字符!):");LINE*p=newLINE;/*首先为链表建立一个附加表头结点*/head=p;/*将p付给表头指针*/charch[100];while(1)116{gets(ch);/*输入字符串!*/if(strlen(ch)>80){printf("每行最多输入80字符")

7、;break;}if(ch[0]==5)break;/*如果发现输入^E,则退出输入*/p=p->next=newLINE;p->data=newchar[strlen(ch)+1];/*为结点分配空间*/strcpy(p->data,ch);if(ch[strlen(ch)-1]==5)/*除去最后一个控制符^E*/{p->data[strlen(ch)-1]='';break;}}p->next=NULL;/*最后的一个指针为空*/head=head->next;}/**文本字数统计**/intCount_Space(LINE

8、*&head)//统计空格数{LINE*p=head;intasc_space=32;intcount=0;inti;intLen;do{Len=strlen(p->data);for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。