zoukankan      html  css  js  c++  java
  • 201671010439-词频统计软件项目报告

    一,需求分析

    1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。

    2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。

    3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。

    4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。

    5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。

    二,功能设计

    1.用户输入任意多个英文单词,显示对应单词在文本中出现的次数和柱状图。

    2.用户从键盘输入高频词输出的个数k,按文本中词频数降序显示前k个单词的词频及单词。

    3.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。

    三,设计实现

    说明每个部分的算法设计说明(可以是描述算法的流程图)、每个程序中使用的存储结构设计说明(如果指定存储结构写出该存储结构的定义),面向对象的方法,应该给出类中成员变量和成员函数原型声明

    四、测试运行

    部分代码

    while(fscanf(fp,"%s",st)!=EOF)

    {   found=0;

    for(i=0;i<wordnum;i++)

       { if(strcmp(wl[i].word,st)==0)    //字符串的读取  

      {

    wl[i].num++;    

    found=1; 

        break; }

    }   if(!found)  

    {

    strcpy(wl[i].word,st);  

      wl[i].num=1;  

      wordnum++; }

    }  fclose(fp); 

      if((fp=fopen("14220105.txt","r"))==NULL) 

    exit(1);

      while((c=fgetc(fp))!=EOF)

    {

    if(c==' ')

     ++n;

    else if(c>='0'&&c<='9')

    ++j;

    else if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

    ++k;

    else ++m

    }

    fclose(fp)

    printf("读取完毕,结果如下: ")

    printf("数字%d 字母%d 空格%d 其他%d );//输出结果

    }

    void shuru()

    {char str[100]

    char letter[52]

    int count[52]={0}

    int i;

    int lc=0;

    cout<<“输入字符串:”<<endl;

    scanf("%s",str);

    //初始字母表

    for(i=0;i<26;i++)

    letter[i]='A'+i;

    for(i=26;i<52;i++)

    letter[i]='a'+i-26;

    i=0;

    while(str[i]!='')

    {

    if(str[i]!='')//字符串未结束

    {

    if(str[i]>='A'&&str[i]<='Z')

    count[str[i]-65]++;

    lc++;

    }

    i++;

    }for(i=0,i<52;i++)

    {if(count[i]!=0)

    printf(%c-%d-%3.2f% ",letter[i],count[i],(float)count[i]/lc*100);

    }

    }

    五、运行结果

  • 相关阅读:
    python 关于文件操作
    python2 编码与解码
    Git系列(二) 冲突解决
    异步回调机制分析
    CSS盒子模型理解
    Git多人协同开发模型
    CSS连载控制背景与CSS精灵
    函数调用在回调,委托与事件在程序设计中的应用
    TFS与Git结合进行代码管理
    Git系列之(二)Git协议与工作协同
  • 原文地址:https://www.cnblogs.com/123456wyq/p/10559364.html
Copyright © 2011-2022 走看看