Word Count基礎功能
Gitte地址:https://gitee.com/gyuyue/WordCount
PSP表格
PSP2.1 |
PSP階段 |
預估耗時 (分鐘) |
實際耗時 (分鐘) |
Planning |
計劃 |
15 |
20 |
· Estimate |
· 估計這個任務需要多少時間 |
30 |
30 |
Development |
開發 |
60 |
80 |
· Analysis |
· 需求分析 (包括學習新技術) |
20 |
40 |
· Design Spec |
· 生成設計文檔 |
0 |
0 |
· Design Review |
· 設計復審 (和同事審核設計文檔) |
0 |
0 |
· Coding Standard |
· 代碼規範 (為目前的開發制定合適的規範) |
20 |
20 |
· Design |
· 具體設計 |
30 |
50 |
· Coding |
· 具體編碼 |
120 |
150 |
· Code Review |
· 代碼復審 |
30 |
40 |
· Test |
· 測試(自我測試,修改代碼,提交修改) |
60 |
90 |
Reporting |
報告 |
10 |
10 |
· Test Report |
· 測試報告 |
20 |
20 |
· Size Measurement |
· 計算工作量 |
0 |
0 |
· Postmortem & Process Improvement Plan |
· 事後總結, 並提出過程改進計劃 |
20 |
30 |
|
合計 |
435 |
580 |
需求說明:
對程序設計語言源文件統計字符數、單詞數、行數,統計結果以指定格式輸出到默認文件中,以及其他擴展功能,並能夠快速地處理多個文件。
可執行程序命名為:wc.exe,該程序處理用戶需求的模式為:wc.exe [parameter] [input_file_name]
存儲統計結果的文件默認為result.txt,放在與wc.exe相同的目錄下。
基礎功能:
wc.exe -c file.c //返回文件 file.c 的字符數
wc.exe -w file.c //返回文件 file.c 的單詞總數
wc.exe -l file.c //返回文件 file.c 的總行數
代碼實現(C語言):
統計文件中的字符數
1 int Characters(char* name)
2 {
3 FILE *fp;
4 FILE *fpt;
5 int count = 0;
6 char ch;
7 if((fp = fopen(name,"r")) == NULL)
8 {
9 printf("文件打開失敗!");
10 exit(0);
11 }
12 while((ch=fgetc(fp)) != EOF)
13 {
14 ++count;
15 }
16 fclose(fp);
17 fpt = fopen("F:/test/outputFile.txt","a+");//打開文檔,寫入
18 printf("字符數:%d\n",count);
19 fprintf(fpt,"字符數:%d\n",count);
20 fclose(fpt);
21 return 0;
22 }
統計文件中的單詞數
1 int Words(char* name)
2 {
3 FILE *fp;
4 FILE *fpt;
5 int count = 0;
6 char buff[Max]={0};
7 int flag = 1;
8 if((fp = fopen(name,"r")) == NULL)
9 {
10 printf("文件打開失敗!");
11 exit(0);
12 }
13 while(fscanf(fp, "%s", buff) != EOF)
14 {
15 count++;
16 }
17 fclose(fp);
18 fpt = fopen("F:/test/outputFile.txt","a+");//打開文檔,寫入
19 printf("單詞數:%d\n",count);
20 fprintf(fpt,"單詞數:%d\n",count);
21 fclose(fpt);
22 return 0;
23
24 }
統計文件中的行數
1 int Rows(char* name)
2 {
3 FILE *fp;
4 FILE *fpt;
5 int count = 0;
6 char ch;
7 if((fp = fopen(name,"r")) == NULL)
8 {
9 printf("文件打開失敗!");
10 exit(0);
11 }
12 while((ch=fgetc(fp)) != EOF)
13 {
14 if(ch == ‘\n‘)
15 {
16 ++count;
17 }
18
19 }
20 fclose(fp);
21 fpt = fopen("F:/test/outputFile.txt","a+");//打開統計結果文檔
22 printf("總行數:%d\n",count);
23 fprintf(fpt,"總行數:%d\n",count);//將結果寫入指定文件中
24 fclose(fpt);
25 return 0;
26
27 }
測試用例一:
測試一個空白文檔
直接輸入命令-c -w -lc ,outputFile.txt文件中的內容為:
測試用例二:
測試文檔
輸入命令-c file.c; 輸入命令-w file.c; 輸入命令-l file.c:
輸入命令-c -w file.c; 輸入命令-c -l file.c; 輸入命令-w -l file.c:
輸入命令-c -w -l file.c
outputFile.txt文件中的內容為:
測試用例三:
輸入命令-c -w -l file.c,outputFile.txt文件中的內容為:
測試用例四:
輸入命令-c -w -l file.c,outputFile.txt文件中的內容為:
測試用例五:
輸入命令-c -w -l file.c,outputFile.txt文件中的內容為:
測試用例六:
輸入命令-c -w -l file.c,outputFile.txt文件中的內容為:
參考文獻鏈接:https://zhidao.baidu.com/question/52409465.html
Word Count基礎功能