補充個人專案(詞頻統計的功能)

2022-07-17 16:30:24 字數 2168 閱讀 4707

詞頻統計:

專案需求:

1.小檔案輸入. 為表明程式能跑

2.支援命令列輸入英文作品的檔名

3. 支援命令列輸入儲存有英文作品檔案的目錄名,批量統計

4. 從控制台讀入英文單篇作品,重定向輸出

之前已經完成小檔案輸入的功能,接下來就是補充2、3、4的功能。

定義結構體:

//

結構體定義:單詞和對應頻率

typedef struct

tlist

讀單詞函式:

void readword(word *p,int

len)

else

readword((word*)p->next[i],len);

len--;

}

} if(p->num!=0

)

}

在指定目錄下遍歷所有txt檔案:

bool findfile(char *pfilename, char *findfiletype)

; sprintf(type,

".%s

",findfiletype);

//handle hfindtype;

//查詢對應檔案型別

char filename[260]=;

sprintf(filename,

"%s\\*.*

",pfilename);

zeromemory(&fd,sizeof

(fd));

if(0 ==strlen(filename))

else

else

else

; sprintf(temp,

"%s\\%s

",pfilename,fd.cfilename);

findfile(temp,findfiletype);}}

}//繼續查詢下乙個檔案

從txt文件中讀入:

while((x=fgetc(fp))!=eof) //

從txt文件中讀入

else

} tempword[len]='\0'

;   createword(tempword);

len=0

;   fclose(fp);

輸出單詞及其出現頻率:

readword(root,0);   //

比較頻率大小氣泡排序

struct

tlist temp;

for(i=0;i1;i++)

for(j=i+1;j)

if(list[i].time>list[j].time||(list[i].time==list[j].time&&strcmp(list[i].word,list[j].word)>0

))   

//將單詞和對應頻率輸出到result.txt中 file *fpx;

fpx=fopen("

result.txt

","w

");

for (i=0;i)

fprintf(fpx,

"%s %d\n

",list[i].word,list[i].time);

fclose(fpx);

return

0;

}

注:重定向還不太了解,實驗結果還在完善中。

今天psp:

內容開始時間

打斷時間

結束時間

淨時間查資料

17:24

017:51

27分寫**

20:43

15分21:50

67分讀構建之法

18:04

018:38

34分在網上看練習與討論

18:40

019:17

37分本週**堆積圖:

**和部落格會繼續更新,實驗結果正在除錯

詞頻統計專案的總結

剛開始在做詞頻統計時只能在 中更改統計的段落,這樣使 看起來非常的亂而且容易出錯,隨著老師的要求有變更,我的 也開始進行更新,詞頻統計實現可以從控制台進行輸入要統計文件的名字進行統計,實現統計所有詞頻數目以及按詞頻的數量從大到小的順序進行排序。直到現在可以將原本控制台工程遷移到了web工程上。詞頻統...

分析「詞頻統計「專案程序

目錄 功能需求 實現 psp功能需求 1.小檔案輸入 2.支援命令列輸入英文作品的檔名 3.支援命令列輸入儲存有英文作品檔案的目錄名,批量統計 4從控制台讀入英文單篇作品 實現 本次 實現了功能3。類名功能 void main string 主函式,呼叫其他函式實現基本功能 void sortmap...

詞頻數的統計

做乙個詞頻統計程式,該程式具有以下功能 基本要求 1 可匯入任意英文文字檔案 2 統計該英文檔案中單詞數和各單詞出現的頻率 次數 並能將單詞按字典順序輸出。3 將單詞及頻率寫入檔案。提高要求 完成基本要求的基礎上,實現下述功能 1.實現gui介面。2.將單詞及頻率寫入資料庫。include incl...