《一個完整的從語言寫的電子字典源碼》由會員分享,可在線閱讀,更多相關(guān)《一個完整的從語言寫的電子字典源碼(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、文檔供參考,可復制、編制,期待您的好評與關(guān)注!
C語言項目——查字典
【項目需求描述】
一、單詞查詢
給定文本文件“dict.txt”,該文件用于存儲詞庫。詞庫為“英-漢”,“漢-英”雙語詞典,每個單詞和其解釋的格式固定,如下所示:
#單詞
Trans:解釋1@解釋2@…解釋n
每個新單詞由“#”開頭,解釋之間使用“@”隔開。一個詞可能有多個解釋,解釋均存儲在一行里,行首固定以“Trans:”開頭。下面是一個典型的例子:
#abyssinian
Trans:a. 阿比西尼亞的@n. 阿比西尼亞人;依索比亞人
該詞有兩個解釋,一個是“a. 阿比西尼亞的”;另一個是“n.
2、阿比西尼亞人;依索比亞人”。
要求編寫程序?qū)⒃~庫文件讀取到內(nèi)存中,接受用戶輸入的單詞,在字典中查找單詞,并且將解釋輸出到屏幕上。用戶可以反復輸入,直到用戶輸入“exit”字典程序退出。
程序執(zhí)行格式如下所示:
./app –test2
-test2表示使用文本詞庫進行單詞查找。
二、建立索引,并且使用索引進行單詞查詢
要求建立二進制索引,索引格式如下圖所示。將文本文件“dict.txt”文件轉(zhuǎn)換為上圖所示索引文件“dict.dat”,使用索引文件實現(xiàn)單詞查找。程序執(zhí)行格式如下:
./app –index
-index表示使用文本詞庫dict.txt建立二進制索引詞庫dict.d
3、at
./app –test2
-test2表示使用二進制索引詞庫進行單詞查找。
三、支持用戶自添加新詞
用戶添加的新詞存放在指定文件中。如果待查單詞在詞庫中找不到,則使用用戶提供的詞庫。用戶的詞庫使用文本形式保存,便于用戶修改。程序執(zhí)行格式圖1-1所示。
./app 詞庫選擇選項 -f 用戶詞庫文件名
詞庫選項為-test1,或者-test2,表示使用文本詞庫或者二進制索引詞庫。-f為固定參數(shù),用來指定用戶詞庫文件名。
圖1-1
【項目要求】
q 盡量考慮程序執(zhí)行的效率,盡量減少開銷,提高程序速度
q 盡量考慮模塊化程序設計思想,能夠引入面向?qū)ο蟮脑O計模式和方法
4、
q 保證代碼的可讀性,緊湊的組織代碼
q 清晰設計思想和設計思路,代碼實現(xiàn)盡量簡潔
q 可以完成相應的拓展功能,例如用戶自添加單詞,建立索引以提高查找速度等
【考察知識點】
(1) 變量數(shù)據(jù)類型
(2) 數(shù)組
(3) 結(jié)構(gòu)體
(4) typedef關(guān)鍵字的使用
(5) 控制結(jié)構(gòu)
(6) 函數(shù)接口設計
(7) static關(guān)鍵字的使用
(8) 文件拆分與代碼組織
(9) 模塊化設計思想
(10) 簡單的面向?qū)ο蟪绦蛟O計思想
(11) 指針與指針控制
(12) const關(guān)鍵字的使用
(13) C語言程序的命令行參數(shù)
(14) 多文件符號解析
(15) 頭文件包含
(16) 宏
(17) 條件編譯
(18) 字符串操作
(19) malloc函數(shù)
(20) 常用的字符串庫函數(shù)
(21) 文件操作
(22) 簡單的出錯處理
(23) 排序算法和二分查找算法
(24) 二進制文件和文本文件的區(qū)別
(25) 鏈表操作
(26) makefile的使用
(27) 編程工具的使用(vi,gcc,gdb)
(28) 文檔組織和項目規(guī)劃
【未考察到的知識點】
(1) 變參函數(shù)
(2) 函數(shù)指針
(3) 泛型算法
(4) 復雜鏈表的鏈表操作
(5) 棧和隊列
(6) 二叉樹
218 / 3