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