ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:190.75KB ,
资源ID:23361567      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23361567.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言数据结构课程设计文章编辑.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言数据结构课程设计文章编辑.docx

1、C语言数据结构课程设计文章编辑算法与数据结构课程设计报告 题 目: 文章编辑 2012年 5月 31 日目录1问题描述及要求 11.1问题描述 11.2基本要求 12需求分析 12.1输入数据的形式和范围 12.2输出形式 13算法思想描述 14概要设计 14.1统计字符个数函数及算法流程图 14.2统计指定字符串个数函数及算法流程图 24.3删除指定字符串函数及算法流程图 35详细设计 45.1文章输入函数 45.2文章输出函数 45.3统计字符个数函数 45.4统计指定字符串个数函数 55.5删除指定字符串函数 55.6源程序清单 66测试数据及分析 116.1文章输入函数 116.2文章

2、输出函数 116.3统计字符个数函数 126.4统计指定字符串个数函数 126.5删除指定字符串函数 137课程设计总结 148参考资料 14文章编辑1问题描述及要求1.1问题描述功能:输入一页文字,程序可以统计出文字、数字、空格的个数。1.2基本要求(1)静态存储一页文章,每行最多不超过80个字符,共N行;(2)分别统计出其中英文字母数和空格数及整篇文章总字数;(3)统计某一字符串在文章中出现的次数,并输出该次数;(4)删除某一子串,并将后面的字符前移;(5)存储结构使用线性表,分别用几个子函数实现相应的功能。 2需求分析2.1输入数据的形式和范围可以输入大写、小写的英文字母、任何数字及标点

3、符号。2.2输出形式(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数;(3)输出删除某一字符串后的文章;3算法思想描述本程序是对输入的文字进行操作,故使用静态的字符数组作为存储结构,定义如下:char strN80; / 存储文章的字符数组对于文本的输入,采用头插法将文本信息存储到链表已申请好的存储空间中;对于文本内容的统计,使用循环对已存储的文章进行匹配,大写字母数、小写字母数、空格数、数字数直接通过条件比较即可得到;对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,如果存在相同

4、的记录相同的个数。删除部分先使用程序的查找功能对文章中需要删除的字符或者字符串进行查找,然后对其进行删除。4概要设计本程序主要定义了3个函数:void count(),void checkstring(),void outputdelstr()4.1统计字符个数函数及算法流程图函数:void count()功能:统计字母、数字、空格的个数流程图如下:4.2统计指定字符串个数函数及算法流程图函数:void checkstring()功能:统计某一个指定的字符串的个数流程图如下:4.3删除指定字符串函数及算法流程图函数:void outputdelstr()功能:删除某一个指定的字符串流程图如下:

5、5详细设计5.1文章输入函数int intput() /文章输入函数 printf(请输入第 %d 行文字n,i+1); gets(stri); /读取数组的内容 if(strlen(stri)80) printf(每行最多输入80字符,请重新输入第 %d 行文字n,i+1); /*当每行输入文字大于80字符时输出此语句,并且重新输入文字*/ gets(stri); return strlen(stri); /返回数组的长度 5.2文章输出函数void output() /文章输出函数 for(i=0;iN;i+) puts(stri); /输出数组的内容 5.3统计字符个数函数void co

6、unt() /统计字符个数的函数 for(j=0;j=a & strij=A & strij=0 & strij=9) dnum+; /统计数字 if(strij= ) snum+; /统计空格 5.4统计指定字符串个数函数void checkstring() /统计指定字符串个数函数 char cstr20; char *p1,*p2; printf(请输入需要统计的字符串: ); gets(cstr); p2=cstr; for(i=0;iN;i+) p1=stri; while(strstr(p1,p2)!=NULL)/*strstr()函数的原型是:extern char *strst

7、r(char *str1, char *str2);功能是找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。*/ strnum+; p1=strstr(p1,p2)+1; printf(字符串:%s 在文章中出现的次数为:%d n,cstr,strnum); 5.5删除指定字符串函数void outputdelstr() /删除指定字符串函数 char cstr20; char *p,*p1,*p2; int len; printf(请输入要删除的字符串: ); gets(cstr); len=strlen(cstr); p2=cstr; for(i=0;iN;

8、i+) p1=stri; while(strstr(p1,p2)!=NULL) p=p1=strstr(p1,p2); while(*(p+len-1) *p=*(p+len); p+; printf(删除字符串:%s 后文章为: n,cstr); output(); /输出删除字符串后的文章 5.6源程序清单 #include #include #include #define N 3 /文章的行数 char strN80;/存储文章的字符数组 ,为全局变量 int i,j; int lenN; int dnum=0,cnum=0,snum=0,anum=0,strnum=0; /为各变量赋

9、初值 void menu(); /菜单显示函数 int intput(); /文章输入函数 void output(); /文章输出函数 void count(); /统计字符个数函数 void checkstring(); /统计指定字符串个数函数 void outputdelstr(); /删除指定字符串函数 int main() /主函数 printf(*n); printf(* 本网络101 第4组 黄耿宇 *n); printf(*n); char key,t; for(i=0;iN;i+) leni=intput(); anum+=leni; for(i=0;i80) printf

10、(每行最多输入80字符,请重新输入第 %d 行文字n,i+1); /*当每行输入文字大于80字符时输出此语句,并且重新输入文字*/ gets(stri); return strlen(stri); /返回数组的长度 void output() /文章输出函数 for(i=0;iN;i+) puts(stri); /输出数组的内容 void count() /统计字符个数的函数 for(j=0;j=a & strij=A & strij=0 & strij=9) dnum+; /统计数字 if(strij= ) snum+; /统计空格 void checkstring() /统计指定字符串个数

11、函数 char cstr20; char *p1,*p2; printf(请输入需要统计的字符串: ); gets(cstr); p2=cstr; for(i=0;iN;i+) p1=stri; while(strstr(p1,p2)!=NULL)/strstr()函数的原型是:extern char *strstr(char *str1, char *str2); /功能是找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。 strnum+; p1=strstr(p1,p2)+1; printf(字符串:%s 在文章中出现的次数为:%d n,cstr,strnu

12、m); void outputdelstr() /删除指定字符串函数 char cstr20; char *p,*p1,*p2; int len; printf(请输入要删除的字符串: ); gets(cstr); len=strlen(cstr); p2=cstr; for(i=0;iN;i+) p1=stri; while(strstr(p1,p2)!=NULL) p=p1=strstr(p1,p2); while(*(p+len-1) *p=*(p+len); p+; printf(删除字符串:%s 后文章为: n,cstr); output(); /输出删除字符串后的文章 6测试数据及

13、分析6.1文章输入函数6.2文章输出函数6.3统计字符个数函数6.4统计指定字符串个数函数 6.5删除指定字符串函数7课程设计总结为期一周的课程设计结束了,在这一周里我完成了编写文本编辑程序的任务。任务书上要求是对输入的信息进行操作,自己开始是不知道该向什么方向去努力,自己应该如何去编写这个程序,后来通过对照着任务书上的要求和到网上查找相关资料,慢慢找到了感觉。所以自己在整个课程设计的编写程序过程中遇到的困难及问题都通过查阅资料、向老师提问得以解决。本次课程设计自己最大的体会就是不管写什么程序,自己首先得对这个问题要分析透彻,要知道自己要干什么,然后才能让自己干什么。通过本次课程设计,我学到了

14、很多:增强了查阅相关参考资料的能力,独立分析解决问题的能力;自己的上机动手的能力和对课程设计的理解,得到很多启示;课程设计为我们提供了一个即动手又动脑、独立实践的机会,将课本上的知识理论和实际有机的结合起来,锻炼了我们的分析解决实际问题的能力。这次课程设计使我我对数据逻辑结构的特点和存储表示方式的有了更深的了解和认识,培养了我在具体应用中选择合适的数据结构和存储结构的能力,同时也使我认识到自己在学习编程方面还有很多的不足。今后我要多读一些纺织方面的书籍,不能只拘泥于课本上的知识,并注重理论与实践的结合,多上机练习编写程序,提高自己的实际动手能力和独立思考的能力,不断充实自己,更好的掌握编程思想。8参考资料1 陈守孔,算法与数据结构.C语言版,清华大学出版社,2009年6月2 徐凤生,数据结构与算法-C语言版,机械工业出版社,2010年6月3 廖雷,C程序设计实践教程,电子工业出版社,2006年7月

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1