第二週做業

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

相關文章
相關標籤/搜索