码迷,mamicode.com
首页 > 其他好文 > 详细

结对编程__词频统计

时间:2016-03-23 00:52:02      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:

搭档:施蓓蓓

源码:Github

贡献比例:50%

结对编程照片:

技术分享


1、要求

 

    基于作业3的结果,读取一个较小的文本文件A_Tale_of_Two_Cities.txt,统计该文件中的单词的频率,并将统计结果输出到当前目录下的 Result1.txt 文件

 

2、主程序

 

void  main(void)

{
    char b[30], Str[30000];//定义单词数组,字符串数组
    ifstream infile("A_Tale_of_Two_Cities.txt"); //读入文件流,将文件直接放在同目录下
    if (!infile)
    {
        cout << "不能打开文件";
    }
    while (!infile.eof())
    {
        infile.getline(Str, 30000);
    }
    infile.close();

    int i = 0, m = 1, k = 0, flag = 0, x = 0;

    Str[x - 1] = \0;
    x = 0;
    while (Str[x]){
        if (A <= Str[x] && Str[x] <= Z || a <= Str[x] && Str[x] <= z) {//判断是否是单词
            b[i++] = Str[x];//如果是的话将字符放到单词数组中

            flag = 1;
        }
        else if (flag){
            b[i] = \0;
            flag = m = 0;
            for (i = 0; i < k; i++){
                if (strcmp(b, w[i].c) == 0){//比较单词是否相同
                    m = 1;
                    break;
                }
            }
            if (!m){
                w[k].n = 1;
                strcpy_s(w[k++].c, b);//不相同就保存
            }
            else w[i].n++;//相同,出现次数加1
            i = 0;
        }
        x++;
    }
    ofstream outfile("Result.txt");
    for (i = 0; i < k; i++)
        outfile << w[i].c << "   " << w[i].n << endl;//依次输出单词结构中的单词和个数到文件中
    cout << endl;
}

 

因为题目是基于作业3的,这次作业的重点对于我来说是文件流,文件流以前我用的不多,更不要说还是输出到指定文件里。我是直接把文件放到程序同文件夹里的,感觉还蛮好用的

 

3、结对体验

 

  这次结对的搭档是我的一个舍友,因此前期的摩擦不是很多。一开始的问题就是用谁的作业3和用谁的开发工具,经过一点讨论才有的结果。还有就是关于文件流的用法,我们都有一些个人的看法,后来还是在网上搜索了下用法,才有这最后的版本。

  说到底,结对编程是比自己一个人单做是有效率的,但是没有一个人编程在时间和细节方面更自由,还算是一次顺利的合作吧。


 

 

结对编程__词频统计

标签:

原文地址:http://www.cnblogs.com/-XQ-/p/5307884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!