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