第二周做业

github地址:https://github.com/yo123abxd/software_testc++

PSP2.1git

PSP阶段github

预估耗时函数

(分钟)学习

实际耗时测试

(分钟)编码

Planningspa

计划设计

 10  20

· Estimate代码规范

· 估计这个任务须要多少时间

 3天  4天

Development

开发

 3天  3天

· Analysis

· 需求分析 (包括学习新技术)

 3小时  3小时

· Design Spec

· 生成设计文档

 10分钟  10分钟

· Design Review

· 设计复审 (和同事审核设计文档)

 10分钟  10分钟

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 15分钟  13分钟

· Design

· 具体设计

 1个小时  1个小时

· Coding

· 具体编码

 1天  1天

· Code Review

· 代码复审

1天   1天

· Test

· 测试(自我测试,修改代码,提交修改)

8小时   8小时

Reporting

报告

 1小时  1小时

· Test Report

· 测试报告

1小时   1小时

· Size Measurement

· 计算工做量

 2小时  2小时

· Postmortem & Process Improvement Plan

· 过后总结, 并提出过程改进计划

1小时   1小时
 

合计

   

解题思路:

每多一行linenum就++,每遇到一个字符chnum就++,每(s[i] == ' ' || s[i] == ',') && (s[i] != ' ' && s[i] != ',') wordnum就++

实现过程:

每一个遇到一个文件就调一次数数的函数。

代码说明:

主要代码:

class Counter {
27 public:
28 vector<int> count(fstream& fs) {
29 int chNum = 0, wordNum = 0, lineNum = 0;
30 string s;
31 while(getline(fs, s)) {
32 for(int i = 1; i < s.size(); i++) {
33 wordNum += (s[i] == ' ' || s[i] == ',') && (s[i] != ' ' && s[i] != ',');
34 }
35 wordNum++;
36 chNum += s.size();
37 lineNum++;
38 }
39 return vector<int>({chNum, wordNum, lineNum});
40 }
41 };

测试过程:

吧编写好的.cpp文件丢进去测试

参考文献连接:

c++ primer

相关文章
相关标签/搜索