文章编辑课程设计报告及代码_第1页
文章编辑课程设计报告及代码_第2页
文章编辑课程设计报告及代码_第3页
文章编辑课程设计报告及代码_第4页
文章编辑课程设计报告及代码_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*****工学院数据构造课程设计报告选题名称:文章编辑系〔院〕:***工程学院 专业: 班级: 姓名:**学号: 指导教师: 学年学期: 2021~2021学年第2学期 2010 年 6 月

设计任务书课题名称文章编辑设计目的随着社会的高速开展,现在人们对信息的处理要求越来越高,设计此程序,以方便人们快速的处理信息文字,提高工作效率,从而适应快速的社会开展步伐实验环境Windows2000以上操作系统以上编译环境任务要求功能:静态存储一页文章,每行最多不超过80个字符,共N行;具有如下作用:(1〕分别统计出其中英文字母数和空格数及整篇文章总字数;〔2〕统计某一字符串在文章中出现的次数,并输出该次数;〔3〕删除某一子串,并将后面的字符前移。工作进度方案序号起止日期工作内容16月14日~15日查找资料,设计程序26月16日~17日完善程序,做辩论PPT36月18日完成设计,课题辩论46月19日~20日完成报告指导教师:年月日摘要:随着社会的高速开展,现在人们对信息的处理要求越来越高,使得文章内容、数量也越变庞大,所以,随之而来的就是对文章的处理变得越来越复杂。设计此程序以方便人们对文章的处理。此程序的功能有查找文章中某个字符串出现的次数,统计文章中数字,字母,空格等信息出现的次数,分行显示用户输入的文章,输入一字符串并删除文章中所有该字符串,最后,此程序功能简单,操作方便,所以,试验证明,本程序是一款很实用的程序。关键字:文章编辑;字符查找;统计;删除目录TOC\o"1-2"\u1需求分析 12概要设计 1主要模块的描述 1程序流程框图如图1所示 2各功能函数描述 23详细设计和实现 3存储构造设计 3主要算法设计 3程序运行流程说明 44调试与操作说明 41需求分析这一次数据构造课程设计,我做的课题是文章编辑。任务与要求包括:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;要求:〔1〕分别统计出其中英文字母数和空格数及整篇文章总字数;〔2〕统计某一字符串在文章中出现的次数,并输出该次数;〔3〕删除某一子串,并将后面的字符前移。存储构造使用线性表,分别用几个子函数实现相应的功能;voidInitList(wzbj*L)//查找文章结尾有无完毕符“#〞voidStrNo(wzbj*L)//统计某一字符串出现的次数wzbj*DelStr(wzbj*L)//删除某一字段voidprint1(wzbj*L)//分行输出用户的输入的各行字符voidprint2(wzbj*L,int&p1,int&p2,int&p3,int&n)//统计字符信息输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:〔1〕分行输出用户输入的各行字符;〔2〕分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"〔3〕输出删除某一字符串后的文章;运行环境包括:Windows2000以上操作系统、VisualC++6.0以上编译环境。2概要设计对于文章的处理,我用的是for语句查找,即将符合条件的字符查找出来,然后通过函数实现字符的统计,删除等操作。同时,存储用线性表的链表构造,然后通过设计四个函数,实现设计要求的4个根本功能。 while(L->next)for(p=L,q=s;*q!='\0'&&p->next;p=p->next,q++) if(p->wz!=*q)break; if(*q=='\0')n++; L=L->next;将链表指针指向输入的字符串开场字符,和文章中字符的首位,然后使用循环语句,将字符串的每一个字符依次比拟,判断一样的字符,以便实现其他的查找,统计,删除等功能。2.2程序流程框图如图1所示输入文章,确定操作输入文章,确定操作选择选择进展编辑否进展编辑否退出退出是是完成退出完成退出图1流程图本次设计共分为四个函数,分别实现四个功能:分行输出用户的输入的各行字符,函数为:voidprint1(wzbj*L);文章中的字符数,空格数,数字等统计,函数为:voidprint2(wzbj*L,int&p1,int&p2,int&p3,int&n);字符串删除,函数为:wzbj*DelStr(wzbj*L);统计某一字符串出现的次数,函数为:voidStrNo(wzbj*L)3详细设计和实现线性表是最根本、最简单、也是最常用的一种数据构造。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的逻辑构造简单,便于实现和操作。因此,线性表这种数据构造在实际应用中是广泛采用的一种数据构造。在实现线性表数据元素的存储方面,一般可用顺序存储构造和链式存储构造两种方法。本程序中采用链式存储构造。3.2主要算法设计本课程设计中用指针链表,配合循环语句,完成字符串比拟功能,从而完成统计字符串,删除字符串,统计字符信息的功能。字符串删除:如果,输入字符的第一个字母与文本中的元字符有一样的时候,执行第一个for循环语句,对原文中的字符依次和输入的字符串比拟,有不一样的跳出,如果完全一样,则将P指针给H指针,从而到达删除的作用。然后,进展上述操作,完成删除操作。wzbj*DelStr(wzbj*L)//删除某一字段 wzbj*H=L; chars[80],*q; wzbj*p; cout<<"输入一子串:"; cin>>s; if(H->wz==*s){ for(p=H->next,q=s+1;*q!='\0'&&p->next;p=p->next,q++) if(p->wz!=*q)break; if(*q=='\0')H=p;//删除 while(L->next){ for(p=L->next,q=s;*q!='\0'&&p->next;p=p->next,q++) if(p->wz!=*q)break; if(*q=='\0')L->next=p; elseL=L->next; returnH;统计某一字符,操作也是如此,两个字符比拟,如果发现字符一样时统计数字N就加1

函数为:voidStrNo(wzbj*L)//统计某一字符串出现的次数 intn=0; chars[80],*q; wzbj*p; cout<<"输入一字符串:"; cin>>s; while(L->next){ for(p=L,q=s;*q!='\0'&&p->next;p=p->next,q++) if(p->wz!=*q)break; if(*q=='\0')n++; L=L->next; cout<<"字符串"<<s<<"出现"<<n<<"次\n";统计字符信息用循环语句,如果有信息符合就让统计数字叠加,最后得出统计的字符数。

函数为:voidprint2(wzbj*L,int&p1,int&p2,int&p3,int&n)//统计字符信息{n=p1=p2=p3=0; for(;L->next;L=L->next,n++) if(isalpha(L->wz))p1++; elseif(isdigit(L->wz))p2++;//统计数字 elseif(L->wz!='\n')p3++;//统计空格 elseif(L->wz=='\n')n--;//统计文章总字数 cout<<"\n全部字母数:"<<p1; cout<<"\n数字个数:"<<p2; cout<<"\n空格个数:"<<p3; cout<<"\n文章总字数:"<<n<<endl;同时在其中引用了两个函数进展数字和字符的统计,分别为

isalphaisdigit程序运行时首先从主函数开场,先判断选择的操作。然后根据要求进展相应的查找、删除、统计、显示等操作,一次操作完之后,会回到开场的选择界面,用户可重新选择操作,如果用户选择退出,程序就停顿。4调试与操作说明首先,在程序中输入一段文字,以“#〞符做结尾。按回车enter显示选择操作,便实现统计这段文字中英文字符,空格,数字,和文章总字数的功能,如下列图4-1和4-2所示:图4-1图4-2接着,选择1—回车enter出现文章中全部字母数、数字个数、空格个数及文章总字数,如下列图4-3所示:图4-3按选择2—回车enter输入一字符串:you统计其在文章中出现的次数,如图4-4所示:图4-4对文字的输出处理,按选择4—回车enter分行显示用户输入的各行字符,如下列图4-5所示:图4-5按选择3—回车enter实现对输入的某一子串进展删除并将其后面字符前移,输出删除后的文章,如下列图4—6所示:图4-6按选择0—回车enter出现Pressanykeytocontinue完毕程序图4-7总结致谢参考文献1苏仕华.数据构造课程设计.北京:机械工业出版社,20052王红梅,胡明,王涛,数据构造(C++版)学习辅导与实验指导.北京:清华大学出版社,20053数据构造〔用面向对象方法与C++语言描述〕4丁有和,郑进,周怡君.VC++实用教程〔第3版〕.北京:电子工业出版社,20075于永彦,王志坚,娄渊胜.C++程序设计根底案例教程.北京:北京大学出版社,20216AdamDrozdek.数据构造与算法,北京:清华大学出版社,2006

指导教师评语学号姓名班级选题名称文章编辑序号评价内容权重〔%〕得分1考勤记录、学习态度、工作作风与表现。52自学情况:上网检索机时数、文献阅读

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论