第二次个人作业1
1. 码云代码仓库地址
https://gitee.com/poseychan/homework2
2. PSP表格记录估计将在程序的各个模块的开发上耗费的时间
| PSP2.1 | Personal Software Process Stages | 预计耗时(小时) | 实际耗时(小时) |
|---|---|---|---|
| Planning | 计划 | 0.5 | 0.5 |
| · Estimate | · 估计这个任务需要多少时间 | 0.5 | 0.5 |
| Development | 开发 | 24 | 22 |
| · Analysis | · 需求分析 (包括学习新技术) | 8 | 10 |
| · Design Spec | · 生成设计文档 | 1 | .5 |
| · Design Review | · 设计复审 | 1 | .5 |
| · Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 1 | 1 |
| · Design | · 具体设计 | 5 | 3 |
| · Coding | · 具体编码 | 6 | 5 |
| · Code Review | · 代码复审 | 1 | .5 |
| · Test | · 测试(自我测试,修改代码,提交修改) | 1 | 1.5 |
| Reporting | 报告 | 5 | 3 |
| · Test Repor | · 测试报告 | 2 | 1 |
| · Size Measurement | · 计算工作量 | 2 | 1 |
| · Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 1 | 1 |
| 合计 | 29.5 | 25.5 |
3. 软件工程学习日志
| 学习内容 | 收获体会 | 自我评价 | 学习时间(分钟) |
|---|---|---|---|
| C++prime plus | |||
| · 处理数据 | 合格 | 0108.22:00-23:15 | |
| . 数组、字符串等复合类型 | 合格 | 0109.10:00-10:55 | |
| · 循环和关系表达式 | 合格 | 0109.14:50-15:40 | |
| · 函数C++编程模块 | 良好 | 0109.15:40-17:20 | |
| · 函数探幽、对象和类 | 合格 | 0110.10:30-11:30 | |
| · |
总的感受是发现了C++的学习 是一环扣一环的,只要肯花时间 就一定能得到回报。 |
||
| 合计 | 合格 |
4. 计算模块接口的设计与实现过程
第一步是要使用C++读取文件中的一个个的单词,并对单词进行统计出现的次数和频率,然后对统计出来的结果进行频率由高到低的排序并将结果打印出来。
5. 计算模块接口部分的性能改进
在排序的时候,由于要保持单词与频率的一致性,所以并没有采用冒泡法来进行排列,而是用频率与数组中存储的十个单词频率进行比较,如果比数组中的大,则将其列入数组,并将数组中本来的那个置为零,这样每次都可以只取最大的那个。从而较为方便快捷地得到最终十个高频单词。
6. 计算模块部分单元测试展示
|
测试项目 |
输入文本 |
输出结果 |
|
纯英文字符测试 |
am is a a |
长度(9),行数(1),am(1),is(1),a(2); |
|
数字英文混合 行数 |
a111 111a |
长度(8),行数(2),a111(1); |
|
大小写 |
A a |
长度(3),行数(1),a(2); |
|
空白行 |
a
a |
长度(2),行数(3),a(2); |
|
首尾空格 |
A a |
长度(5),行数(1),a(2); |
|
汉字 |
啊 a 啊a a啊 |
长度(12),行数(1),a(1); |
|
特殊字符 |
!(*^ a |
长度(6),行数(1),a(1); |
7. 代码说明
void sort(struct word*&head)
{
struct word *q;
int a[10],i;
for(i=0;i<10;i++)
a[i]=0;
printf("文章中出现频率最高的十个单词如下:\n");
for(i=0;i<10;i++)
{
q=head;
while(q!=NULL)
{
if(q->num>a[i])
a[i]=q->num;
else
q=q->next;
}
q=head;
while(q!=NULL)
{
if(a[i]==q->num)
{
q->num=0;
printf("出现频率:%d\t",a[i]);
puts(q->name);
break;
}
else
q=q->next;
8. 总结
需要继续加快对c++的学习,由于最近两周考试太多,影响了我对编程的热情,希望赶紧考完试,从而早日将进度赶上步入正轨。
浙公网安备 33010602011771号