PSP2.1 | PSP阶段 | 预估耗时 (分钟) | 实际耗时 (分钟) |
Planning | 计划 | 20 | 20 |
· Estimate | · 估计这个任务需要多少时间 | 20 | 20 |
Development | 开发 | 150 | 150 |
· Analysis | · 需求分析 (包括学习新技术) | 10 | 10 |
· Design Spec | · 生成设计文档 | 10 | 10 |
· Design Review | · 设计复审 (和同事审核设计文档) | 10 | 10 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 10 | 10 |
· Design | · 具体设计 | 20 | 20 |
· Coding | · 具体编码 | 80 | 80 |
· Code Review | · 代码复审 | 10 | 10 |
· Test | · 测试(自我测试,修改代码,提交修改) | 20 | 20 |
Reporting | 报告 | 90 | 90 |
· Test Report | · 测试报告 | 60 | 60 |
· Size Measurement | · 计算工作量 | 30 | 30 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 10 |
合计 | 550 |
github 项目地址:https://github.com/zhaozhiyu/wordcount
解题思路:控制判断“空 “ ”逗号“ ”换行符“ “字符”,对文件内容进行判断,并输出结果到另一个文件。
程序实现:在控制台传入命令,并且调用wordcount.exe。传入文件路径实现需求功能(-c-w,-l,-o)。
代码说明:
void analyse()
{ while ((c = fgetc(file)) != EOF)//文件字符判定,字符数++ { chars++; if (c !=' '&& c != ','&&c != '\n') //分隔符判定,单词数++ { words++; while ((c = fgetc(file)) != EOF) { chars++; if (c != ' '&& c != ','&& c != '\n') { } else if (c == '\n')//换行符号判定,行数++ { lines++; break; } else if (c == ' ' || c == ','|| c == '\n') break; else { break; } } }else if (c == '\n')//若改行为最后一行,无法判定,行数++
{ lines++; } }}测试命令:
wordcount.exe -c file.txt
wordcount.exe -w file.txt
wordcount.exe -l file.txt
wordcount.exe -o file.txt
更多的测试功能过程:https://github.com/zhaozhiyu/zhaoshidaye/wordcount
参考文献链接