###1、需求分析 1.设计一个词频统计小软件,对给定的英文文章进行单词频率的统计。 2.文章中相应的标点不计入统计。 3.将统计结果以从大到小的排序方式输出。 ###2、功能设计 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。 2.程序须要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。 3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数。 4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。 5.统计该文本全部单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。 ###3、设计实现 1.由于是跨专业0.0···并不会c++和java,只能用仅学过的C语言进行编写,仍是挺费劲的。 2.定义一个包含单词和频率两个成员的结构体来统计词频。 3.使用fopen函数读取指定的文档。 4.使用fgetc函数获取字符,再根据取得的字符是不是字母进行不一样的处理。 5.采用冒泡排序法对统计结果进行排序。 5.将整个统计结果循环输出。 ###4、源代码地址:连接 ###5、测试运行 部分代码: 运行结果:
java
###6、总结 本次实验内容有点复杂,完成过程十分艰辛。但同时也认识到自身编程能力的不足,同时经过此次实践很好的锻炼了咱们解决问题的能力,使咱们受益不浅。 ###7、展现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 |60c++