• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      淺談用VC++6.0設(shè)計基本數(shù)據(jù)結(jié)構(gòu)教學(xué)軟件

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

      米明高

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

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

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

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

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

      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è)置為:

      wndclass.lpfnWndProc=WndProc;

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

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

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

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

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

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

      long FAR PASCAL PXProc( )

      {

      char sz[255];

      char sz0[255];

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

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

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

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

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

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

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

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

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

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

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

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

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

      【參考文獻(xiàn)】

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

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

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

      猜你喜歡
      教學(xué)軟件數(shù)據(jù)結(jié)構(gòu)對話框
      傳承·創(chuàng)新·引領(lǐng):虛擬教學(xué)軟件在高中生物學(xué)教學(xué)中的應(yīng)用與推廣
      正?;謴?fù)虛擬機(jī)
      基于HTML5的凸輪廓線圖解法App教學(xué)軟件研究
      基于AR的國家開放大學(xué)計算機(jī)專業(yè)體驗式教學(xué)軟件的設(shè)計開發(fā)
      VR技術(shù)在三維角色動畫教學(xué)軟件中的應(yīng)用研究
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      淺談VB的通用對話框《CommonDialog》控件的使用
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
      《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
      铁力市| 璧山县| 阿勒泰市| 凌源市| 静海县| 洛宁县| 姜堰市| 宾阳县| 峨眉山市| 象州县| 崇信县| 三门县| 阳信县| 江津市| 漯河市| 浦县| 白河县| 定陶县| 西平县| 石狮市| 桑日县| 宣城市| 南阳市| 抚州市| 临清市| 含山县| 浙江省| 黄骅市| 萍乡市| 滁州市| 宁晋县| 太湖县| 嵩明县| 贵南县| 兴宁市| 增城市| 贵定县| 易门县| 延安市| 聂拉木县| 称多县|