词频统计
需求分析:
- 小文件输入——从控制台由用户输入到文件中,再对文件进行统计;
- 支持命令行输入英文作品的文件名;
- 在命令行输入存储有英文作品文件的目录名,进行批量统计;
- 从控制台读入英文单篇作品,再进行词频统计。
本次编程所用语言为C++,
部分代码:
功能一:
重要代码片段如下:
for(int i = 0; i < Cnt-1 ; i ++) { swap(zb[i].s); strcat(zb[i].s,".tzt"); } vectorvec; 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 ::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