1 / 7
文档名称:

数据库课程设计+文章编辑系统.pdf

格式:pdf   大小:519KB   页数:7页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库课程设计+文章编辑系统.pdf

上传人:青山代下 2024/5/21 文件大小:519 KB

下载得到文件列表

数据库课程设计+文章编辑系统.pdf

相关文档

文档介绍

文档介绍:该【数据库课程设计+文章编辑系统 】是由【青山代下】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【数据库课程设计+文章编辑系统 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..1、需求分析程序的功能:1)问题描述输入一页文字,程序可以统计出文字、数字、空格的个数。2)基本要求输入输出的要求:静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、、数字个数、、空格个数、、文章总字数(3)输出删除某一字符串后的文章;2、概要设计本程序共分三大模块:(1)输入和输出函数;(2)功能函数{};(3)程序主函数;详细流程图:文章编辑系统主函数输入和输出函数功能函数新浏文特定字符返回建览本字符串的文输字串统删除本入数计链文统:..3、详细设计一〉输入输出函数::voidCreateTXT(LINE*&head){请输入文本,每行最多输入80字符!输入一页文字以#结束LINE*p=newLINE;//首先为链表建立一个附加表头结点head=p;//将p付给表头指针chartmp[1000];//输入的最多字符数为1000个while(1){gets(tmp);//输入字符串!使用C的输入函数if(tmp[0]=='#')break;//如果发现输入#,则退出输入???p=p->next=newLINE;p->data=newchar[strlen(tmp)+1];//为结点分配空间strcpy(p->data,tmp);if(tmp[strlen(tmp)-1]=='#'){//除去最后一个控制符#break;}}p->next=NULL;//是最后的一个指针为空。head=head->next;}功能描述:静态存储一页文章,每行最多不超过80个字符,以#结束。:voidTj(LINE*&head){//统计文章统计信息结果如下:英文字母数:空格数文章中共出现数字:统计文章的总字数}功能描述:分行输出英文字母数、、空格个数、、数字个数文章总字数。:..二>.功能函数::intCount_Space(LINE*&head){//统计空格数LINE*p=head;intasc_space=32;//空格的ASCIC码值intcount=0;do{intLen=strlen(p->data);//计算当前data里的数据元素的个数for(inti=0;i<Len;i++)if(p->data[i]==asc_space)count++;//计算空格数}while((p=p->next)!=NULL);//遍历链表returncount;}:intCount_Num(LINE*&head){//统计数字个数LINE*p=head;intcount=0;do{intLen=strlen(p->data);//计算当前data里的数据元素的个数for(inti=0;i<Len;i++)if(p->data[i]>=48&&p->data[i]<=57)count++;//计算数字个数}while((p=p->next)!=NULL);//遍历链表returncount;}:..:intCount_ZM(LINE*&head){//统计字母数intcount1=Count_All_Word(head);//总的字符数,包含空格intspace_count=Count_Space(head);//空格数intcount2=Count_Num(head);returncount1-(space_count+count2);//返回文章的字母总数}:intCount_All_Word(LINE*&head){//统计文章的总字数LINE*p=head;//保存链表的首地址intcount=0;//总字母数do{count+=strlen(p->data);}//计算当前行内的字符数!除结束符外!该统计包含“空格的长度!”while((p=p->next)!=NULL);//遍历链表returncount;};输出删除后的文章。voiddel_string_word(char*s,char*sch){//*s为输入的字符串//*sch为将要删除的字符char*p=strstr(s,sch);//查询结果函数strstr()用来在一个字符串中查找另一个字符串chartmp[80];//返回第二个字符串在第一个字符串中第一次出现的位置intlen=strlen(s);inti=len-strlen(p);intj=i+strlen(sch);intcount=0;:..for(intk=0;k<i;k++)tmp[count++]=s[k];for(intkk=j;kk<len;kk++)tmp[count++]=s[kk];strcpy(s,tmp);//返回新的字符串}voidDel_String(LINE*&head,char*sch){//删除指定的字符串LINE*p=head;do{if(strstr(p->data,sch)!=NULL)del_string_word(p->data,sch);}while((p=p->next)!=NULL);//遍历链表}:intFind_Word(LINE*&head,char*sch){//统计sch在文章中出现的次数LINE*p=head;intcount=0;intlen1=0;//保存当前行的总字符数intlen2=strlen(sch);//待统计字符串的长度inti,j,k;while((p=p->next)!=NULL)//遍历链表{len1=strlen(p->data);//当前行的字符数for(i=0;i<len1;i++){if(p->data[i]==sch[0]){k=0;for(j=0;j<=len2-1;j++)if(p->data[i+j]==sch[j])k=k+1;//如果:..字符串首字符相同,依次往后比较if(k==len2){count++;i=i+k-1;}//字符串完全相同则计数}break;}returncount;}三〉主函数:voidmain(){LINE*head;//文章的首结点文章编辑系统主菜单如下:while(1){;charch;while(1){if(ID==1){CreateTXT(head);break;}elseif(ID==2){OutPutTxt(head);break;}elseif(ID==3){Tj(head);break;}elseif(ID==4)请输入要统:..计的字符串出现的次数为为}elseif(ID==5)请输入要删除的某一字符串:Del_String(head,tmp_sch);OutPutTxt(head);break;}elseif(ID==6)你确定要退出系统吗?(Y/N))getchar();if(ch=='n'||ch=='N')break;elseif(ch=='y'||ch=='Y')exit(0);}else您输入字母有错,请重新输入}}}四〉以上是我近期就课程设计要求编写的程序片断。未来的及编辑修正。