欢迎来到天天文库
浏览记录
ID:44206829
大小:101.17 KB
页数:3页
时间:2019-10-19
《31文学研究助手》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、文学研究助手一.实验目的熟悉串类型的实现方法和文本模式的匹配方法。熟悉一般文字处理软件的设计方法,较复杂问题的分解求精方法。二.实验内容【问题描述】文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个实现这一日标的文字统计系统,称为“文学研究助手”。【基本要求】英文小说存于一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后全部完成。程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。实验步羽(可选)#include2、>#include#includeusingnamespaces(d;typedefstructLNdoe{chars[20];intnum;//!l!现次数intcol[20];//出现行数LNdoe*next;JLNode;LNodc*chcck(){LNode*L;cout«"输入待查询的词汇:”vvendl;LNode*p,*q;p=(LNode*)malloc(sizeof(LNode));p->next=NULL;L=p;while(cin»p->s){3、p->num=0;for(intk=0;kv20;k++)p->col[k]=0;q=p;p=(LNode*)malloc(sizeof(LNode));p->next=NULL;q->next=p;}q->next=NULL;free(p);returnL;}voidprint(LNdoe*L){LNode*p;p=L;while(p!=NULL){cout«p->s«"出现次数:H«p->num«endl;if(p->num!=0){cout«p->s«n出现行数:";for(intk=0;p-4、>col[k]>0;k++)cout«p->col[k]«"cout«endl;}p=p->next;voidmain(){LNode*L;coutvv”*****欢迎使用文字研究助手*****«endl;«endl;«endl;L=check();LNode*p;inttag=O;intcol=0;inti=0,j=0,1=0;ifstreaminfile(ntest.cppM);charc[256];//存放一行的数据chartemp[256];//存放单个单词while(!infile.eof5、()){for(intk=0;kv256;k++)clk]=0;infile.getline(c,256,');col++;i=0;while(c[i]!=0){for(intk=0;k<20;k++)temp[k]=0;for(j=0;c[i]!=32&&c[i]!=O;j++){temp[j]=c[i];i++;}if(c[i]==32)i卄;temp[j]=0;p=L;while(p!=NULL){if(strcmp(p->s,temp)==O){for(l=0;l<20&&p->col[6、l]!=0;l++)p->col[l]=col;p->num++;}p=p->next;)}}infile.close();cout«M输出待杏询的词汇:”vvendl;print(L);system(HpauseM);}实验的结果及分析。图1.五.实验中出现的问题、解决方法和心得体会本次实验设计主要涉及的是串的知识。串结构的定义和应用是此次实验设计的基础操作。在设计前期由于对串的运用不太熟悉,花费了比较长的时间。在程序运行过程屮由于不会使用强制停止程序,使程序在运行过程中运行不出系统设计所想要的结7、杲,斤来向同学咨询斤才了解到运用强制停止程序强制停止当前编辑程序,运行卜-一步程序。在本次设计实验过程中,我不仅对串的知识有了更进一步的了解,还了解到了一些程序设计方面的细节问题的解决方法,并从中获益匪浅。希望在以后的学习和实践过程中,能进一步熟悉运用串的知识,设计出更好的程序。
2、>#include#includeusingnamespaces(d;typedefstructLNdoe{chars[20];intnum;//!l!现次数intcol[20];//出现行数LNdoe*next;JLNode;LNodc*chcck(){LNode*L;cout«"输入待查询的词汇:”vvendl;LNode*p,*q;p=(LNode*)malloc(sizeof(LNode));p->next=NULL;L=p;while(cin»p->s){
3、p->num=0;for(intk=0;kv20;k++)p->col[k]=0;q=p;p=(LNode*)malloc(sizeof(LNode));p->next=NULL;q->next=p;}q->next=NULL;free(p);returnL;}voidprint(LNdoe*L){LNode*p;p=L;while(p!=NULL){cout«p->s«"出现次数:H«p->num«endl;if(p->num!=0){cout«p->s«n出现行数:";for(intk=0;p-
4、>col[k]>0;k++)cout«p->col[k]«"cout«endl;}p=p->next;voidmain(){LNode*L;coutvv”*****欢迎使用文字研究助手*****«endl;«endl;«endl;L=check();LNode*p;inttag=O;intcol=0;inti=0,j=0,1=0;ifstreaminfile(ntest.cppM);charc[256];//存放一行的数据chartemp[256];//存放单个单词while(!infile.eof
5、()){for(intk=0;kv256;k++)clk]=0;infile.getline(c,256,');col++;i=0;while(c[i]!=0){for(intk=0;k<20;k++)temp[k]=0;for(j=0;c[i]!=32&&c[i]!=O;j++){temp[j]=c[i];i++;}if(c[i]==32)i卄;temp[j]=0;p=L;while(p!=NULL){if(strcmp(p->s,temp)==O){for(l=0;l<20&&p->col[
6、l]!=0;l++)p->col[l]=col;p->num++;}p=p->next;)}}infile.close();cout«M输出待杏询的词汇:”vvendl;print(L);system(HpauseM);}实验的结果及分析。图1.五.实验中出现的问题、解决方法和心得体会本次实验设计主要涉及的是串的知识。串结构的定义和应用是此次实验设计的基础操作。在设计前期由于对串的运用不太熟悉,花费了比较长的时间。在程序运行过程屮由于不会使用强制停止程序,使程序在运行过程中运行不出系统设计所想要的结
7、杲,斤来向同学咨询斤才了解到运用强制停止程序强制停止当前编辑程序,运行卜-一步程序。在本次设计实验过程中,我不仅对串的知识有了更进一步的了解,还了解到了一些程序设计方面的细节问题的解决方法,并从中获益匪浅。希望在以后的学习和实践过程中,能进一步熟悉运用串的知识,设计出更好的程序。
此文档下载收益归作者所有