zoukankan      html  css  js  c++  java
  • 2017软件工程第二次作业(二)

    词频统计

    需求分析: 

    1. 小文件输入——从控制台由用户输入到文件中,再对文件进行统计;
    2. 支持命令行输入英文作品的文件名;
    3. 在命令行输入存储有英文作品文件的目录名,进行批量统计;
    4. 从控制台读入英文单篇作品,再进行词频统计。

      本次编程所用语言为C++,

    部分代码:

      功能一:

      重要代码片段如下:

        for(int i = 0; i < Cnt-1 ; i ++)
            {
            swap(zb[i].s);
            strcat(zb[i].s,".tzt");
        }
    
        vector<PAIR> vec;
        int num = 0;
        string s;
        string name;
        cin >> name;
    
                num = 0;
                bb.erase(bb.begin(),bb.end());
                vec.erase(vec.begin(),vec.end());
    
        ifstream fin(name.c_str());
    
        while(fin>>s)
        {
            int len=s.size();
            if (ispunct(s[len-1]))
            {
                s.erase(len-1,1);
            }
            bb[s]++;
            if(bb[s] == 1)
                num ++;
        }
    
        for (map<string,int>::iterator curr = bb.begin(); curr != bb.end(); ++curr)
        {
            vec.push_back(make_pair(curr->first, curr->second));
        }
        sort(vec.begin(), vec.end(), cmp);
    

      

      运行结果截图如下:

     

      功能二:

      本功能重要代码与功能一相同,故不重复贴出。

       运行结果截图如下:

     由于本人编程水平一般,所以功能三、功能四均未能成功实现,故不在此加以赘述,还请老师见谅。

    项目PSP:

    由于本人的编程水平一般以及对自己的认知不足,所以编程所消耗的时间远多于预计的时间

    代码及版本控制:

    https://git.coding.net/zbwd666/zbwd.git

  • 相关阅读:
    poj 1475 Pushing Boxes 推箱子(双bfs)
    poj 1806 Frequent values(RMQ 统计次数) 详细讲解
    poj 2846 Repository
    poj Ping pong LA 4329 (树状数组统计数目)
    POJ 1962-Corporative Network (并查集)
    hdu 2217 Visit
    nyoj304 节能
    与R纠缠的两件事——rownames和子集--转载
    七步精通Python机器学习--转载
    win10专业版激活(亲测可用)
  • 原文地址:https://www.cnblogs.com/zbwd666/p/7548242.html
Copyright © 2011-2022 走看看