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