二、小組成員及分工
1120161754 毛碩
1120161747 林宇翔
我負責基礎功能,林宇翔負責介面實現。
三.預估時間
psp2.1
personai software process stage
預估耗時(分鐘)
實際耗時(分鐘)
planning
計畫30
50estimate
估計這個任務需要多長時間
3030
development
開發120
120analysis
需求分析(包括學習新技術)
6080
design spec
生成設計文件
80100
design review
設計複審
6060
coding standard
**規範
3050
design
具體設計
6090
coding
具體編碼
240300
code review
**複審
120200
test
測試(自我測試,修改**,提交修改)
360400
reporting
報告300
300test report
測試報告
120100
size measurment
計算工作量
2030
postmortem&process
inprovement plan
事後總結,並提供過程改進計畫
6060
合計1690
2000
四、解題思路描述
4.1 引數功能及要求
引數功能
-x顯示圖形介面
-s遞迴處理目錄下符合條件的檔案
-c輸出字元數
-w輸出詞的數目
-l輸出行數
-a輸出更複雜的資訊(空行,**行,注釋行)
4.2 解題思路
這個題目比較簡單,字元數就是統計所有不是 '/n' 和空格的字元;單詞數,以字母之前和之後均不為字母為乙個單詞;行數就是統計 '/n' 的個數。
對於注釋行,有兩種情況,一種是 "//",另一種是 "/*" 和 "*/" 組合的,這兩種情況要分開考慮,需要注意的情況比較多。
對於空行,就是一行的可顯示字元<=1就統計為乙個空行。
對於**行,總行數-注釋行-空行 就是**行。
五、設計實現過程
5.1 專案流程圖
5.2 函式組成
5.2.1 統計注釋行
int count_noteline(char file)//查注釋行
ch_num = 0;
flag_1 = thisline = 0;
} if (thisline == 1)//說明本行已經是注釋,跳入下一行
if (ch != ' '&&ch != '\t'&&ch != '\n')
if (flag_2)
if (ch == '*')
else if (ch == '/'&&flag_3)
else flag_3 = 0;
} else if (ch == '/')
else if (flag_1 == 1 && ch_num <= 3)
}else if (ch == '*')
}else
}fclose(stdin);
return n_num;
}
5.2.2 遞迴處理
通過函式getmodulefilename(null, szpath, max_path)得到當前.exe檔案所在路徑,然後刪除檔名,可以得到當前檔案目錄,然後通過這個目錄,利用search_file函式進行檔案查詢。
search_file函式:
void search_file(string path, int idx)
if ((_a_subdir == filefind.attrib))//判斷當前檔案是否是乙個資料夾
else //查詢當前資料夾裡所有的符合結尾的檔案
}if (strcmp(filefind.name + len, para[idx] + 1) == 0) //檔案尾一樣的話就是符合了,比如都是.cpp結尾}}
} _findclose(handle);
}}
5.2.3 -x圖形介面
介面最終結果如下
5.3 測試
5.3.1 普通命令
5.3.2遞迴(對於每個檔案,先輸出路徑 再輸出檔名,然後執行相應的命令)
5.3.3 路徑錯誤
5.3.4 某些命令未識別
六、效能
效能佔比最大的都是系統函式,說明演算法本身的複雜度並不高,能很快完成。
七、心得與收穫
本次結對專案因為中間有考試,所以歷時比較長,相比於個人專案來說,結對專案的難點,一是整個軟體的實現更為複雜,**量更大;二是如何與隊友相互協作,在面對乙個問題時能夠達成一致。
這次的專案,極大地提公升了我們我做專案的能力和與隊友的協作能力,收穫很大。
軟體工程結對作業
一 題目簡介 本程式是乙個掃雷小遊戲。程式的功能是在執行後生成指定的地雷個數,在滑鼠左鍵點選下尋找地雷,右鍵點選下標記地雷,點選重新開始的按鈕重新開始一盤新遊戲,並給出勝利和失敗的條件 標出所有的地雷和左鍵點中地雷。二 結對分工及過程 結對 趙彤 顧曉倩 趙彤 的編寫和 規範 顧曉倩 程式的分析和程...
軟體工程結對作業
馮雅婧coding.net位址 c 審查表 功能模組名稱 班級類的封裝 審查人劉文彤 審查日期 2019.4.24 名班級類的封裝 作者 馮雅婧檔案結構 重要性審查項 結論標頭檔案和定義檔案的名稱是否合理?是標頭檔案和定義檔案的目錄結構是否合理?是版權和版本宣告是否完整?否重要 標頭檔案是否使用了 ...
軟體工程 結對作業(Second)
我們在剛開始上課的時候介紹過乙個小學四則運算自動生成程式的例子,請實現它,要求 能夠自動生成四則運算練習題 可以定製題目數量 使用者可以選擇運算子 使用者設定最大數 如十以內 百以內等 使用者選擇是否有括號 是否有小數 使用者選擇輸出方式 如輸出到檔案 印表機等 最好能提供圖形使用者介面 根據自己能...