结对编程

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 20 30
· Estimate · 估计这个任务需要多少时间 30 30
Development 开发 300 360
· Analysis · 需求分析 (包括学习新技术) 100 80
· Design Spec · 生成设计文档 30 30
· Design Review · 设计复审 (和同事审核设计文档) 20 10
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20 10
· Design · 具体设计 30 30
· Coding · 具体编码 60 60
· Code Review · 代码复审 10 10
· Test · 测试(自我测试,修改代码,提交修改) 20 10
Reporting 报告 60 50
· Test Report · 测试报告 30 20
· Size Measurement · 计算工作量 20 10
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 30
合计 620 680

一、GitHub地址

我的github地址 伙伴学号: 201831061120

二、设计过程

将待测文件中的内容输入到一个string串中,再进行后续操作。 首先,统计字符数:将所有内容存到string串中,然后计算串中的字符数即为总的字符数。

其次,统计有效行数:因为有效行不能是空的一行,这一行中必须要有字符出现才能称之为有效。我设置了一个字符变量“c”用于读取s中的每一个字符,当满足每一行先读到字符再读到回车键时判断为有效的一行。

再者,统计单词数:每次读入一个字符,只要读入一个字符,字符计数变量就加一,如果读入的字符是英文字母,字母计数变量加一。当字符计数达到4时判断字母计数是否为4,若两者都为4则说明这是一个单词,将bool判断为true。如果读入的内容不是一个合法的字符那么就直接进行bool判断。若bool判断为真则将单词计数加一,同时将所有变量置于初始状态。
在循环判断结束后要注意最后一个单词的判断·,所以在循环外也添加一个bool判断。

最后,统计词频:使用map。在判断完是否为单词之后,可以将读入的字符存储起来,若字典中没有该单词,则加入该单词,并将频次设为1,若已有该单词,则该单词频次加一。之后可以用迭代器,用两个游标进行冒泡排序。
在完成最后的统计词频功能时因为所学知识有限,所以我借鉴了网友的方法将此功能完成。由于时间安排问题没有掌握这一方面的技术,接下来的课余时间我会继续学习。

三、代码规范

查看了一下网络上的资料:代码规范

四、性能分析

![](https://img2018.cnblogs.com/blog/1784278/201910/1784278-20191014171825438-671992841.png)

五、部分代码

统计单词数 ![](https://img2018.cnblogs.com/blog/1784278/201910/1784278-20191014171951565-1479866495.png)

统计有效行数

主函数

六、总结

这次作业完成的效率不高,很多时候想着c++却忘了c的操作。看到其他同学的做法之后我小受启发争取下次进行更充分的思考。 这次作业我和同伴各有分工,让编程的过程不再那么漫长了。此次我主要负责代码的编写和查找资料。 ![](https://img2018.cnblogs.com/blog/1784278/201910/1784278-20191014184057979-692607351.png)

posted on 2019-10-14 18:46  黑黑嘿  阅读(110)  评论(0)    收藏  举报

导航