wrodcount
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
参考文献链接
http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html