WCProject(c++实现)
一、个人github链接
二、psp表格
PSP2.1 |
PSP阶段 |
预估耗时 (分钟) |
实际耗时 (分钟) |
Planning |
计划 |
||
· Estimate |
· 估计这个任务需要多少时间 |
780 | 920 |
Development |
开发 |
||
· Analysis |
· 需求分析 (包括学习新技术) |
90 | 150 |
· Design Spec |
· 生成设计文档 |
30 | 30 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
0 | 0 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
30 | 30 |
· Design |
· 具体设计 |
120 | 120 |
· Coding |
· 具体编码 |
240 | 320 |
· Code Review |
· 代码复审 |
30 | 30 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
120 | 120 |
Reporting |
报告 |
||
· Test Report |
· 测试报告 |
60 | 60 |
· Size Measurement |
· 计算工作量 |
30 | 30 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
30 | 30 |
合计 |
780 |
920 |
用30长度的字符数组接收用户的指令
当读取到 ‘-’ 字符时表示输入指令类型
读取下一个字符来判断用户要进行的操作,并对未定义的操作类型进行警告
读完操作类型后,用rdfile字符数组储存要计数的文件名,wrfile用来储存输出文件名
读取完用户输入的指令后根据rdfile中储存的文件名打开相应的文件
根据 cfuc wfuc lfuc 三个布尔型变量的值
执行值为true的相应操作
如果ofuc的值为true 则输出到文件
若为false 则输出到控制台窗口
五、代码说明
详细的代码以及对代码的说明已经在四、代码实现中给出。
六、测试用例设计
给出的测试文件
测试四种操作单独使用的情况
1、-c text.c(计算字符数)
2、-w text.c(计算单词数)
3、-l text.c(计算行数)
4、-o wrfile.txt(指定输出文件)
测试 -o操作的正确用法
5、-c text.c -o wrfile.txt
测试对操作共同执行的效果,在此测试三组
6、-c -w -l text.c
7、-c -w -l text.c -o wrfile.txt
8、 -c -w text.c
测试计数文件不存在的情况
9、-c asd.c
计数文件不存在,程序出错
测试不输入文件名的情况
10、-c
程序出错
测试将 -o 操作和 -c 操作互换的情况
11、-o wrfile.txt -c text.c
未得到用户想要的运行结果
对特殊的单词进行计数
12、-w wordtext.c
用到的测试文件如下
测试结果如下
七、自我评价
本程序基本上完成了要求的四个基本功能
但需要用户严格按照所给的指令形式进行输入指令
-o操作只能在-c -l -w操作之后输入
对一些异常情况的处理做的不完善
例如没有进行对不存在的计数文件进行警告,直接导致程序出错