1. 程式人生 > >第二次作業重交

第二次作業重交

txt 編寫 處理 目錄 統計文件 超過 換行符 全部 測試

項目地址
第二次作業
==========
一、作業內容
-----------
根據WordCount的需求描述,先編程實現,再編寫單元測試,最後撰寫博客。至少完成需求中的基本功能。
二、需求說明
-----------
WordCount的需求可以概括為:對程序設計語言源文件統計字符數、單詞數、行數,統計結果以指定格式輸出到默認文件中,以及其他擴展功能,並能夠快速地處理多個文件。

2.1 基礎功能

wc.exe -c file.c //返回文件 file.c 的字符數
wc.exe -w file.c //返回文件 file.c 的單詞總數
wc.exe -l file.c //返回文件 file.c 的總行數
wc.exe -o outputFile.txt //將結果輸出到指定文件outputFile.txt
註意:
空格,水平制表符,換行符,均算字符。
由空格或逗號分割開的都視為單詞,且不做單詞的有效性校驗,例如:thi#,that視為用逗號隔開的2個單詞。
-c, -w, -l參數可以共用同一個輸入文件,形如:wc.exe –w –c file.c 。
-o 必須與文件名同時使用,且輸出文件必須緊跟在-o參數後面,不允許單獨使用-o參數。

2.2 擴展功能

wc.exe -s //遞歸處理目錄下符合條件的文件
wc.exe -a file.c //返回更復雜的數據(代碼行 / 空行 / 註釋行)
wc.exe -e stopList.txt // 停用詞表,統計文件單詞總數時,不統計該表中的單詞
[file_name]: 文件或目錄名,可以處理一般通配符。
其中,
代碼行:本行包括多於一個字符的代碼。
空 行:本行全部是空格或格式控制字符,如果包括代碼,則只有不超過一個可顯示的字符,例如“{”。
註釋行:本行不是代碼行,並且本行包括註釋。一個有趣的例子是有些程序員會在單字符後面加註釋:
}//註釋
在這種情況下,這一行屬於註釋行。
-e 必須與停用詞文件名同時使用,且停用詞文件必須緊跟在-e參數後面,不允許單獨使用-e參數。
stopList.txt中停用詞可以多於1個,單詞之間以空格分割,不區分大小寫,形如:
while if switch
則while,if,switch作為3個停用詞,在單詞統計的時候不予考慮。停用詞表僅對單詞統計產生影響,不影響字符和行數的統計。
三、解題過程
-----------

解題思路

根據題目要求所知,需要讀取一個文件中的內容,然後再計算文件內容的字符數,單詞數,行數等,再將結果輸出到另一個即result文件中。
所以要考慮文件的讀取和輸出,對單詞數,字符數,行數如何計算,還有命令的輸入和讀取。

主函數Main

主要負責基本功能的實現,在基本功能中,用戶通過輸入命令行的方式與程序實現交互。
```

第二次作業重交