数据结构 文章编辑程序的设计

数据结构 文章编辑程序的设计

ID:47518012

大小:169.01 KB

页数:16页

时间:2020-01-12

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

《数据结构 文章编辑程序的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构(c语言版)课程设计报告文章编辑程序的设计学院:信息科学技术学院班级:信息工程09级1班学号:200941843107姓名:董升指导教师:何儒云完成日期:2010年12月-15-目录1.需求分析——文章编辑-3-2.程序设计-3-结构体的设计:-3-函数的设计:-3-主函数的设计:-8-3.测试分析-9-4.用户说明-10-5.经验和体会-10-6.附录——程序完整原代码-10--15-1.需求分析——文章编辑题目:22题,文章编辑。功能:从键盘输入一页文字,静态存储在一个文件中要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并

2、输出该次数;(3)删除某一子串,并将后面的字符前移。  存储结构使用线性表,分别用几个子函数实现相应的功能;  输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;2.程序设计结构体的设计:typedefstructessay{char*line;//动态分配的字符数组structessay*next;//结构体指针}ESS;//创建结构体,行与行之间用链表的形式函数的设计:#include#inclu

3、de#includevoidcreate(ESS*&h)//创造链表{charm[1000];ESS*p;p=(ESS*)malloc(sizeof(ESS));-15-h=p;inti,k;FILE*fp;fp=fopen("d:\text.txt","w");//所输入的文本将保存在d盘的rr文本文档中printf("输入文章,用Ctrl+B结束输入:");//按Ctrl+B(^B)将结束输入while(1){gets(m);//输入字符串if(strlen(m)>1000){printf("超过1000字符");break;}if(m

4、[0]==2)break;//如果发现输入^B,则退出输入p=p->next=(ESS*)malloc(sizeof(ESS));p->line=(char*)malloc(sizeof(char)*strlen(m+1));//为结点分配空间strcpy(p->line,m);//将字符串m,复制到p所指向的字符串中for(i=0;i<(k=strlen(m))&&(p->line[i]!=2);i++)fwrite(&p->line[i],sizeof(char),1,fp);//写入文本文档中fputc('',fp);if(m[strlen(m)-1]==2)//除去最后一个控制

5、符^B{p->line[strlen(m)-1]='';break;}}p->next=NULL;/*最后的一个指针为空*/h=h->next;//将下一个节点赋值到头结点中}intCount(ESS*h)//统计数字{ESS*p=h;intco=0;inti;intLenght;do{Lenght=strlen(p->line);/*计算当前line里的数据元素的个数*/for(i=0;iline[i]>=48&&p->line[i]<=57)//用ASCII码来进行比较,48与57之间是数字co++;}-15-while((p=p->next)!

6、=NULL);//遍历链表不为空returnco;}intLetter(ESS*h)//统计字母{ESS*p=h;intco=0;intLenght;do{Lenght=strlen(p->line);/*计算当前line里的数据元素的个数*/for(inti=0;iline[i]>='a'&&p->line[i]<='z')

7、

8、(p->line[i]>='A'&&p->line[i]<='Z'))/*计算字母数*/co++;}while((p=p->next)!=NULL);//遍历链表不为空returnco;/*返回文章的字母总数*/}intchi

9、nese(ESS*h)//统计符号{ESS*p=h;intco=0;intLenght;do{Lenght=strlen(p->line);/*计算当前line里的数据元素的个数*/for(inti=0;iline[i]>=1&&p->line[i]<=254))/*计算字符数字以及符号*/co++;}while((p=p->next)!=NULL);//遍历链表不为空returnc

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

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

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