第二周作业

github地址:https://github.com/yo123abxd/software_test

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

 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

 

posted @ 2018-03-18 15:21  Sssword  阅读(187)  评论(2编辑  收藏  举报