- 相關(guān)推薦
C語(yǔ)言編程練習
習題描述
本程序的功能是對中國導航的數據中的部分道路情況數據進(jìn)行整理,分析,查詢(xún),排序。
原始數據存儲在一個(gè)GTBL.dat的二進(jìn)制文件中,具體的文件格式請參照ReveseTableFormat.xls 中的“逆引表格式”sheet.
在Kiwi格式中,每個(gè)道路都是被賦予了獨一無(wú)二的編號,這個(gè)編號叫做LinkID,在GTBL.dat這個(gè)文件中存儲著(zhù)部分道路情況的數據,他們是無(wú)序存儲的(針對LinkID來(lái)說(shuō)是無(wú)序的)。
提供的功能:
1) 讀取GTBL.dat, 根據LinkID重新排序輸出到新的二進(jìn)制文件,格式同 ”逆引表格式”。
2) 檢索:
a. 根據LinkID查找指定的Link的相關(guān)情報并輸出到控制臺或者文件(文本格式)。
b. 查找指定 交叉Link列表示Class番號 的所有Link的集合。
c. 查找岔路數> n 的所有Link的集合, n由用戶(hù)輸入。
d. 指定道路名稱(chēng)檢索。
輸出格式:
#linked=1234;roadnameflag=1;brunch=2;dispclass=3; roadname=青年大街#(如果沒(méi)有名稱(chēng)(roadnameflag == 0 ), 則不輸出roadname=青年大街這個(gè)條目)
如果查到的紀錄的個(gè)數>5個(gè),則輸出到指定文件中(文件放在當前目錄中,請用 searchresultxxx.txt 命名, xxx是檢索次數的記錄,比如第一次檢索,則xxx是 001, 以此類(lèi)推。)
3) 從Link情報輸入文件中讀取指定的Link情報,插入到GTBL.dat中并保存,如果對應的LinkID已經(jīng)存在,則替換,否則插入。(文件的格式參照ReveseTableFormat.xls 中的“Link情報輸入文件格式”sheet, sourcelink.txt 是一個(gè)例子文件,大家可以自己編寫(xiě)這個(gè)文件)。 具體的操作是每按一次回車(chē),就從文件中讀取下一個(gè)Link的情報,輸出到界面,并且執行插入或者替換操作。
這些插入的記錄需要保存到GTBL.dat和排序后的文件中。
1. 具體要求
1). 需要劃分出至少 3個(gè)或者以上的模塊。
2). 具有較高的處理速度
3). 較少的內存消耗,比如對于道路名稱(chēng),有的link沒(méi)有,則不分配空間。
4). 具有較好的維護性和易讀性.
5). 較好的健壯性(錯誤的用戶(hù)輸入處理等)
2. 考察點(diǎn)
1) 設計概念
2) 文件操作
3) 內存、指針、字符串操作
4) 鏈表數據結構的使用。
5) 排序算法
6) 位運算
4. 其他:
使用控制臺的程序必須有兩個(gè)層次的選擇菜單
1) 排序輸出
2) 檢索
a. 指定linkID檢索
b. 指定交叉Link列表示Class番號 檢索
c. 指定查找岔路數 檢索
d. 指定道路名稱(chēng) 檢索
3) 更新
使用Windows編程的,則形式可以靈活選擇。
注:學(xué)會(huì )用top-down
注意用assert
【C語(yǔ)言編程練習】相關(guān)文章:
Visual C#的Excel編程03-19
2017年計算機二級考試C語(yǔ)言編程題練習題及答案03-10
淺析基于C語(yǔ)言的計算機軟件編程實(shí)驗03-20
C++編程簡(jiǎn)歷表格11-22
c語(yǔ)言心得05-17
c語(yǔ)言的就業(yè)方向08-11
基礎C++/C語(yǔ)言筆試題分享11-21