基礎篇圍繞《實現一個簡易的圖形編輯器》這樣一個主題,由淺入深逐步開展編程實踐。通過一系列實踐,一方面建立了GIS及其相關領域基本的圖形知識,同時實現了計算機高級語言、數據結構、算法設計、文件存儲、程序跟蹤和調試優化這幾個軟件開發基礎知識和技能的充分訓練。各項實踐由易到難,逐步遞進,直至后帶有挑戰性的實踐。
《工程師計劃軟件工程專業系列叢書·階梯式GIS軟件工程實踐系列教程:基礎篇》可作為大專院校C++課程的實習參考書,特別是作為大一到大二期間的綜合實踐用書,也可供從事GIS基礎軟件開發人員參考。
第1章實習目的及要求
1.1實習目的
1.2實習目標
1.2.1C++語言
1.2.2數據結構
1.2.3圖形繪制
1.2.4編程工具和框架
1.2.5程序調試
1.2.6編程規范化
1.3實習要求
1.3.1對學生的要求
1.3.2對老師的要求
第2章背景知識概述
2.1幾何圖形及其結構 第1章實習目的及要求
1.1實習目的
1.2實習目標
1.2.1C++語言
1.2.2數據結構
1.2.3圖形繪制
1.2.4編程工具和框架
1.2.5程序調試
1.2.6編程規范化
1.3實習要求
1.3.1對學生的要求
1.3.2對老師的要求
第2章背景知識概述
2.1幾何圖形及其結構
2.1.1點
2.1.2線
2.1.3區
2.2Windows圖形編程
2.2.1圖形繪制方法
2.2.2數據坐標系與窗口坐標系
2.3文件概念及操作
2.4系統功能與設計說明
2.4.1功能及菜單設計說明
2.4.2數據結構與文件結構說明
2.4.3操作邏輯與操作狀態說明
第3章基礎編程練習
練習1:創建工程,熟悉編程環境
練習2:熟悉程序調試技巧
練習3:添加菜單和工具條按鈕
練習4:新建文件
練習5:造點
練習6:保存點文件
練習7:另存點文件
練習8:打開點文件
練習9:退出
練習10:刪除點
練習11:移動點
練習12:造線(折線)
練習13:保存線文件
練習14:打開線文件
練習15:刪除線
練習16:移動線
練習17:放大(圖形)
練習18:縮小
練習19:重新理解坐標系,重構已實現的點編輯和線編輯功能
練習20:連接線
練習21:造區
練習22:文件其他功能
練習23:刪除區
練習24:移動區
練習25:窗口移動
練習26:窗口復位
練習27:窗口其他功能實現(顯示點、顯示線、顯示區)
練習28:點編輯其他功能實現
練習29:線編輯其他功能實現
練習30:區編輯其他功能實現
第4章挑戰編程練習
練習31:線上刪點
練習32:線上加點
練習33:增加顯示幾何圖形數量功能
練習34:增加部分刪除功能
練習35:增加統一修改參數功能
練習36:增加線型和圖案功能
練習37:改造源代碼,封裝數據訪問層
參考文獻
附錄1:C++編碼規范
附錄2:程序員的基本修煉
2.4系統功能與設計說明
2.4.1功能及菜單設計說明
本書實現一個小型圖形編輯系統,系統具有輸入、顯示、修改、保存和打開點、線、區圖形對象的基本功能。該系統數據生成和使用的基本流程如下。
(1)輸入和修改圖形對象所產生的數據先存儲在臨時文件中,執行"保存"功能時才將臨時文件中的數據轉存到長期文件中,執行"打開"時則將長期文件中的數據讀取到臨時文件中。
(2)圖形編輯和顯示都是從臨時文件中讀取數據到內存再進行處理或顯示。
(3)系統退出時將臨時文件中的數據轉存到長期文件中并刪除臨時文件。
此外,該系統還具有移動、縮放、復位等輔助功能,即用戶可以在客戶區按住鼠標左鍵拖動圖形進行圖形漫游,可以單擊放大或開窗放大,也可用"復位"功能將全部圖形完整地顯示在視圖窗口中。同時,該系統設計了簡單的圖形參數,如顏色等,并提供相應的修改功能。
根據功能需求,該系統設計菜單如下。
(1)主菜單:文件、窗口、點編輯、線編輯、區編輯、幫助。
(2)二級菜單:①文件,新建、打開、保存、另存、退出;②窗口,放大、縮小、移動、復位、顯示點、顯示線、顯示區;③點編輯,造點、移動點、刪除點、顯示刪除點、恢復點、修改點參數,設置點缺省參數;④線編輯,造線、移動線、刪除線、顯示刪除線、恢復線、線上刪點、線上加點、連接線、修改線參數,設置線缺省參數;⑤區編輯,造區、移動區、刪除區、顯示刪除區、恢復區、修改區參數、設置區缺省參數。