结对编程__词频统计
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结对编程__词频统计相关的知识,希望对你有一定的参考价值。
搭档:施蓓蓓
源码: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和用谁的开发工具,经过一点讨论才有的结果。还有就是关于文件流的用法,我们都有一些个人的看法,后来还是在网上搜索了下用法,才有这最后的版本。
说到底,结对编程是比自己一个人单做是有效率的,但是没有一个人编程在时间和细节方面更自由,还算是一次顺利的合作吧。
以上是关于结对编程__词频统计的主要内容,如果未能解决你的问题,请参考以下文章