1. 程式人生 > >Word Count基礎功能

Word Count基礎功能

技術 cte .exe table info char 一個 命令 planning

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基礎功能