国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談?dòng)肰C++6.0設(shè)計(jì)基本數(shù)據(jù)結(jié)構(gòu)教學(xué)軟件

2016-11-19 08:41米明高
關(guān)鍵詞:教學(xué)軟件數(shù)據(jù)結(jié)構(gòu)對(duì)話框

米明高

【摘 要】數(shù)據(jù)結(jié)構(gòu)作為一門研究程序設(shè)計(jì)問題的學(xué)科為學(xué)習(xí)計(jì)算機(jī)的人員提供很好的理論基礎(chǔ),但是由于它比較抽象,學(xué)習(xí)起來并不容易,因此編寫相應(yīng)的教學(xué)軟件是很必要的,我們可以用VC++6.0開發(fā)環(huán)境來實(shí)現(xiàn)?,F(xiàn)在采用Win32應(yīng)用程序風(fēng)格來介紹一個(gè)簡單實(shí)用的數(shù)據(jù)結(jié)構(gòu)教學(xué)軟件,在這個(gè)應(yīng)用程序中實(shí)現(xiàn)了線性表、字符串、矩陣、排序等基本數(shù)據(jù)結(jié)構(gòu)的屬性描述及算法演示。

【關(guān)鍵詞】VC++6.0;線性表;字符串;矩陣;排序;數(shù)據(jù)結(jié)構(gòu);設(shè)計(jì)

實(shí)現(xiàn)算法演示的思路是利用兩個(gè)字窗口分別作為動(dòng)態(tài)演示區(qū)和演示程序區(qū)。在實(shí)現(xiàn)過程中,為了避免多窗口造成混亂,每產(chǎn)生一個(gè)窗口就將其句柄用一個(gè)全局變量描述;在算法演示區(qū)需要采用動(dòng)態(tài)圖形從而比較形象地演示算法的運(yùn)行過程,其方法是標(biāo)當(dāng)前執(zhí)行語句,另外用一個(gè)布爾變量的變化來標(biāo)識(shí)用戶發(fā)出的中斷要求。

刪除結(jié)點(diǎn)算法狀態(tài)如下:

1.程序入口的設(shè)計(jì)分析

int WINAPI WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nShowCmd)

{

MSG Msg;

WNDCLASS wndclass; //窗口類

mm=::LoadMenu(hInstance,“mjc”);

//menu=::LoadMenu(hInstance,“mmg”);

HACCEL hAccel;

hInst=hInstance;

tt=nShowCmd;

char lpszClassName[]=“潼南一中”; //窗口類名

char lpszTitle[]=“微機(jī)室”; //窗口標(biāo)題

//窗口類的定義

2.消息處理函數(shù)

在窗口登記時(shí),將窗口處理消息的函數(shù)設(shè)置為:

wndclass.lpfnWndProc=WndProc;

WndProc函數(shù)的定義為:

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)

3.排序?qū)υ捒虻脑O(shè)計(jì)

排序?qū)υ捒虻墓δ苁菣z查算法選擇和序列設(shè)置,調(diào)用不同的對(duì)話框,如下圖:

4.排序過程的設(shè)計(jì)

排序過程是根據(jù)排序設(shè)置選擇相應(yīng)的排序算法,主要實(shí)現(xiàn)的函數(shù)如下:

long FAR PASCAL PXProc( )

{

char sz[255];

char sz0[255];

char *sz1=“直接插入排序動(dòng)態(tài)演示”;

char *sz2=“折半插入排序動(dòng)態(tài)演示”;

char *sz3=“表插入排序動(dòng)態(tài)演示”;

char *sz4=“快速排序動(dòng)態(tài)演示”;

char *sz5=“歸并排序動(dòng)態(tài)演示”;

char *sz6=“直接插入排序程序演示”;

char *sz7=“折半插入排序程序演示”;

char *sz8=“表插入排序程序演示”;

char *9=“快速排序程序演示”;

char *10=“歸并排序程序演示”;

排序算法的演示是整個(gè)應(yīng)用程序的核心,但實(shí)現(xiàn)并不復(fù)雜,只要對(duì)接收到的消息作出正確判斷,并合理控制繪制句柄,必要的情況下,需要將一些子任務(wù)模塊化,由更供低一級(jí)的子函數(shù)實(shí)現(xiàn),我們就可以看到圖形和語句像我們希望的那樣在窗口上活動(dòng)起來。

這里介紹的win32應(yīng)用程序功能并不復(fù)雜,但從它的實(shí)現(xiàn)上我們可以進(jìn)一步掌握窗口的設(shè)計(jì)、登記、創(chuàng)建和顯示的實(shí)現(xiàn)過程;另外還可以清楚地認(rèn)識(shí)到消息處理在win32應(yīng)用程序中的顯著地位。在此例中可以根據(jù)需要自定義消息,并通過消息處理函數(shù)來完成不同的功能。

當(dāng)然,在靈活使用消息的同時(shí),也發(fā)現(xiàn)管理消息定義和消息響應(yīng)工作是相當(dāng)復(fù)雜的,只有對(duì)整個(gè)應(yīng)用有清楚、全面的認(rèn)識(shí),才能夠自如地處理消息,否則整個(gè)應(yīng)用程序?qū)a(chǎn)生無數(shù)的執(zhí)行錯(cuò)誤,而且由于消息處理的特殊性,使其調(diào)試難度更大。

【參考文獻(xiàn)】

[1]黃維通編著.面向?qū)ο笈c可視化程序設(shè)計(jì).北京:清華大學(xué)出版社,2000

[2]潘愛民等譯.Visual C++技術(shù)內(nèi)幕(第四版).北京:清華大學(xué)出版社,1998

[3]錢能編著.C++程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,1999

猜你喜歡
教學(xué)軟件數(shù)據(jù)結(jié)構(gòu)對(duì)話框
傳承·創(chuàng)新·引領(lǐng):虛擬教學(xué)軟件在高中生物學(xué)教學(xué)中的應(yīng)用與推廣
正常恢復(fù)虛擬機(jī)
基于HTML5的凸輪廓線圖解法App教學(xué)軟件研究
基于AR的國家開放大學(xué)計(jì)算機(jī)專業(yè)體驗(yàn)式教學(xué)軟件的設(shè)計(jì)開發(fā)
VR技術(shù)在三維角色動(dòng)畫教學(xué)軟件中的應(yīng)用研究
“翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
淺談VB的通用對(duì)話框《CommonDialog》控件的使用
TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
开江县| 文成县| 景洪市| 五华县| 克山县| 潼关县| 诸暨市| 兰考县| 丹东市| 工布江达县| 宁明县| 崇文区| 枣阳市| 城口县| 琼结县| 叶城县| 东至县| 乐昌市| 黄梅县| 泸溪县| 栾川县| 沁阳市| 勃利县| 乡宁县| 江津市| 宜兴市| 湘西| 富宁县| 临朐县| 克拉玛依市| 钟山县| 大兴区| 耒阳市| 赤峰市| 东源县| 静宁县| 射阳县| 双辽市| 肇州县| 兖州市| 江北区|