201671010443 徐明锦 词频统计软件项目报告

一、需求分析

1.设计一个词频统计小软件,对给定的英文文章进行单词频率的统计。
2.文章中相应的标点不计入统计。
3.将统计结果以从大到小的排序方式输出。

二、功能设计

1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。
2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。
3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数。
4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。

三、设计实现

1.因为是跨专业0.0···并不会c++和java,只能用仅学过的C语言进行编写,还是挺费劲的。
2.定义一个包含单词和频率两个成员的结构体来统计词频。
3.使用fopen函数读取指定的文档。
4.使用fgetc函数获取字符,再根据取得的字符是否是字母进行不同的处理。
5.采用冒泡排序法对统计结果进行排序。
5.将整个统计结果循环输出。

四、源代码地址:链接

五、测试运行

部分代码:

运行结果:

六、总结

本次实验内容有点复杂,完成过程十分艰辛。但同时也认识到自身编程能力的不足,同时通过这次实践很好的锻炼了我们解决问题的能力,使我们受益匪浅。

七、展示PSP

PSP2.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 30 35
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 30 40
Development 开发 200 300
Analysis 需求分析 (包括学习新技术) 80 100
Design Spec 生成设计文档 45 45
Design Review 设计复审 (和同事审核设计文档) 20 25
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 35
Design 具体设计 50 60
Coding 具体编码 200 300
Code Review 代码复审 60 80
Test 测试(自我测试,修改代码,提交修改) 60 100
Reporting 报告 55 80
Test Report 测试报告 20 30
Size Measurement 计算工作量 10 10
Postmortem & Process Improvement Plan 事后总结 ,并提出过程改进计划 25 60
原文地址:https://www.cnblogs.com/xumingjin/p/10558901.html