个人进度(一)

前几天有更多紧急重要的事情要做(暑研教授给的任务),一度通宵爆肝,今天才开始做这份个人作业,希望还来得急。。

需求分析:

对源文件(*.txt,*.cpp,*.h,*.cs,*.html,*.js,*.java,*.py,*.php等,文件夹内的所有文件)统计字符数、单词数、行数、词频,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件。

具体要求:

1. 统计文件的字符数(只需要统计Ascii码,汉字不用考虑)

2. 统计文件的单词总数

3. 统计文件的总行数(任何字符构成的行,都需要统计)

4. 统计文件中各单词的出现次数,输出频率最高的10个。

5. 对给定文件夹及其递归子文件夹下的所有文件进行统计

6. 统计两个单词(词组)在一起的频率,输出频率最高的前10个。

本任务的核心在于建立适当的哈希表与比较函数,同时使用合适的文本读写函数。前者可以用C++ STL库中的hash_map,后者可以使用ANSIC的流式文件操作。至于文件夹递归访问可以用C++ io库中包含的 _finddata_t 结构体来获取文件信息。

附上PSP计划表:

流程 时间/h
需求分析 0.5
具体设计 1.5
具体编码 6
代码测试 2
性能优化 2
总结报告 2
总时间 14
posted @ 2018-03-27 14:44  tilmto  阅读(166)  评论(1编辑  收藏  举报