《2022年文编辑.docx》由会员分享,可在线阅读,更多相关《2022年文编辑.docx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用课程设计报告课程设计题目:文章编辑同学姓名:专 业:运算机科学与技术班 级:学 号: 指导老师:2022 年 06 月 21 日名师归纳总结 - - - - - - -第 1 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用目录一、试验题目 1 二、试验时间、地点 1 三、试验目的 1 四、试验要求 1 五、实现思路 2 1、定义结构体 22、主要函数: 2六、实现过程 4 主要代码: 4运行结果: 10 七、试验总结 14 八、参考文献 14 一、试验题目文章编辑:输入一页
2、文字,程序可以统计出字母、数字、空格的个数;静态储备一页文章,每行最多不超过 二、试验时间、地点 第十九周,软件楼 603 三、试验目的80 个字符,共 N 行;本次课程设计的主要目的是综合运用所学的数据结构学问解决一个比较实际问 题,侧重对链表、数组、字符串、图、树等相关内容的综合应用,使同学们能 进一步熟识把握数据结构的基础学问,进一步提升自己的解决问题和编程调试 才能,为后续专业课程的学习打下良好的基础;四、试验要求1)分别统计出其中英文字母数和空格数及整篇文章总字数;2)统计某一字符串在文章中显现的次数,并输出该次数;3)删除某一子串,并将后面的字符前移;储备结构使用线性表,分别用几个
3、 子函数实现相应的功能;输入数据的形式和范畴:可以输入大写、小写的 英文字母、任何数字及标点符号;输出形式:1)分行输出用户输入的各行字符;2)分 4 行输出 全部字母数 、数字个数 、 空格个数 、 文章总字数 名师归纳总结 - - - - - - -第 2 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 /*统计 str 在文章中显现的次数 */名师归纳总结 - - - - - - -第 3 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用求在一行中 Str 显现的次数的流程图:查找第一个字符,假如有
4、第一个字符即p-datai=str0,设计数器 k=0 查 找 这 个 字 符 后 面 的 字 符 与 要 查 找 的 字 符 串 是 否 匹 配 即 datai+j=strj ,假如匹配 k+p-重复其次步,假如k=len2,就查找到, count+;假如没查找到,重新进行第一步开头count=0;h=0;len1=0;i+ p-datai=str0 N Y N k=0;p-datai+j=strj Y k+;N k=len2 Y count+ ;i=i+k-1;终止void delstringwordchar *s,char *str /* 删 除 字 符 串 *s中 的 字 符 串*st
5、r*/ 实现思想:名师归纳总结 从字符串 s 中查找 str 第一次显现的位置 *p=strstrs,str;第 4 页,共 15 页 len=strlens;i=len-strlenp即前 i项恰好不含要删除的字符串,将- - - - - - -精选学习资料 - - - - - - - - - 前 i 项复制到 tmp 中 j=i+strlenstr 个人资料整理仅限学习使用即要删除的字符串在i+1 和 j 之间,将 j 之后的字符串复制到 tmp 中 将 tmp 赋给串 s,返回 s p s form=0 str mi;i j forn=j; n n+ tmp 六、实现过程主要代码:#in
6、clude #include #include #include typedef struct line char *data;struct line *next LINE;void CreateLINE * &head 名师归纳总结 printf 请输入一页文章,以Ctrl+EE 为结尾 每行最多输第 5 页,共 15 页入 80 字符 .:n;第一为链表建立一个附加LINE *p=new LINE ; /*表头结点 */ 将 p 付给 表头指针 */ head=p; /* char ch100;- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学
7、习使用 while1 getsch; /*输入字符串! */ ifstrlench80 printf;每行最多输入 80 字符 ; break ifch0=5break; /*假如发觉输入 E ,就退出输入 */ p=p-next=new LINE; /*为结点分 p-data=new charstrlench+1配空间 */ strcpyp-data,ch;*/ ifchstrlench-1=5 /* p-datastrlench-1=0除去最终一个掌握符 E ; break; p-next=NULL; /*最终的一个指针为空 */ head=head-next; /* 文本字数统计 */
8、int Count_SpaceLINE* &head/统计空格数 LINE *p=head ;int asc_space=32;int count=0;int i;int Len ;do Len=strlenp-data;fori=0;i ifp-datai=asc_space count+;whilep=p-next.=NULL;return count; 名师归纳总结 int Count_NumLINE * &head/统计数字个数第 6 页,共 15 页- - - - - - -精选学习资料 - - - - - - - - - LINE *p=head ;个人资料整理仅限学习使用int
9、count=0;int Len ;int i;do Len=strlenp-data;fori=0;i ifp-datai=48 & p-datai count+;whilep=p-next.=NULL;return count; int Count_All_WordLINE * &head/ LINE *p=head ;int count=0;do 统计文章的总字数count+=strlenp-data;whilep=p-next.=NULL;return count; int Count_LetterLINE * &head/ 统计字母数 LINE *p=head ;int count=0
10、 int Len ;int i;do Len=strlenp-data;fori=0;i ifp-datai=a & p-dataidatai=A & p-dataicount+; / 运算字母个数 whilep=p-next.=NULL;return count;int Find_WordLINE * &head,char *sch/ 现的次数 LINE *p=head ;统计 sch 在文章中出名师归纳总结 - - - - - - -第 7 页,共 15 页精选学习资料 - - - - - - - - - int count=0;个人资料整理仅限学习使用int len1=0;int len
11、2=strlenschint i,j,k;do len1=strlenp-data;/ 当前行的字符数fori=0;i ifp-datai=sch0 k=0;forj=0;j ifp-datai+j=schjk=k+1;ifk=len2 count+;i=i+k-1 ; whilep=p-next.=NULL;return count; /* 特定字符串的删除 */ void del_string_wordchar *s,char *sch char *p=strstrs,sch;char tmp80;int len=strlens;int k,kk;int i=len-strlenpint
12、j=i+strlensch;int count=0;fork=0 ;k tmpcount+=sk;forkk=j;kk tmpcount+=skk;tmpcount=0 strcpys,tmp; void Del_StringLINE * &head,char *sch/ LINE *p=head ;do 删除指定的字符串whilestrstrp-data,sch.=NULL 名师归纳总结 del_string_wordp-data,sch;第 8 页,共 15 页whilep=p-next.=NULL;- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理
13、仅限学习使用 /* 打印输入的文本 */ void OutPutTxtLINE * &head/ 向屏幕输出文章 LINE *p=head ;printf 文本文件输出如下: ;do printf%sn,p-data;whilep=p-next.=NULL void CountLINE * &head printf 文章统计信息结果如下:n ;printf 英文字母数: %dn,Count_Letterhead;printf 空格数 : %d n,Count_Spacehead;printf 文章中共显现数字: %dn,Count_Numhead;printf 文 章 出 现 的 汉 字 和
14、标 点 -Count_Numhead-Count_Spacehead-Count_Letterhead/2;printf 统 计 文 章 的 总 字数 : %dn,Count_All_Wordhead+Count_Numhead+Count_Spacehead+Count_Letterhead/2 ;printfn; void main LINE *head ;char sch20;char ID10;char ch ;char tmp_sch20;文章编辑系统 n ;printf printf 主菜单如下: n ;while1 printf *n;printf 1.新建文本 n ;print
15、f 2. 浏览输入文本n ;名师归纳总结 - - - - - - -第 9 页,共 15 页精选学习资料 - - - - - - - - - n ;个人资料整理仅限学习使用printf 3.文本字符统计n ;n ;printf 4. 特定字符串的统计printf 5. 特定字符串的删除printf 6. 退出 n ;printf *n;. 如是第一次printf注:请您按关键字代号挑选菜单操作操作,务必先选第一步 .n ;printf请输入序号: ;scanf%s,ID;while1 ifstrcmpID,1=0 printf 新建文本要掩盖已有文本,是否继续输入? ;getchar ;sca
16、nf%c,&ch ;systemcls;ifch=n|ch=N break ;else ifch=y|ch=Y Createhead ; break ;else ifstrcmpID,2=0 systemcls;OutPutTxthead ;break ; else ifstrcmpID,3=0 systemcls;OutPutTxthead ;printfn;Counthead;break ; else ifstrcmpID,4=0 名师归纳总结 - - - - - - -第 10 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理仅限学习使用;systemcls
17、;printf请输入要统计的字符串:scanf%s,sch;printfn;OutPutTxthead ;printfn;现的次数printf出为: %dn,Find_Wordhead,schbreak ; else ifstrcmpID,5=0 systemcls;printf 请输入要删除的某一字符串:scanf%s,tmp_sch ;printfn;OutPutTxthead ;Del_Stringhead,tmp_schprintf删除后 ;OutPutTxthead ;break ; else ifstrcmpID,6=0 printf 你 确 定 要 退 出 系 统 吗 ? ;ge
18、tchar ;scanf%c,&ch ;systemcls;ifch=n|ch=N break ;else ifch=y|ch=Y exit0; else 入.nn;systemcls;printf您 输 入 字 母 有 错 , 请 重 新 输break ; 名师归纳总结 - - - - - - -第 11 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用运行结果:1、主界面2、新建文本界面名师归纳总结 - - - - - - -第 12 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用3、浏览文本名师归纳
19、总结 - - - - - - -第 13 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用4、文本字符统计5、特定字符串统计6、特定字符串删除名师归纳总结 - - - - - - -第 14 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用七、试验总结本次课程设计历时一周,所用学问基本上包括了课本所学的学问以及 许多有关 C+的基础学问,课程设计的过程中自己更更进一步明白了 链表,把握了数据结构的思想与方法,也使我熟识到自己在学习编程方 面仍有许多的不足;自己在编写程序的过程中,不是全部学问一下就想 起来的,而是显现了不少错误,通过调试,在查阅一些资料后,才整理 出来的;今后我要多读一些编程方面的书籍,不能只拘泥于课本上的知 识,并注意理论与实践的结合,多上机练习编写程序,提高自己的实际 动手才能和独立摸索的才能,不断充实自己,更好的把握编程思想;我信任,随着时间的积存系统中许多内容都将得到充实;其实, 系统中也有不少亮点,比如:统计出汉字个数,strstr)函数的应用,链表的运用,清屏函数等;八、参考文献名师归纳总结 数据结构 c+版)其次版李根强中国水利水电出版社第 15 页,共 15 页C 语言程序设计其次版 谭浩强清华高校出版社- - - - - - -