• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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)新探討
    烟台市| 新郑市| 彭阳县| 霍州市| 鹰潭市| 酒泉市| 绩溪县| 班玛县| 武义县| 巴楚县| 佛山市| 大足县| 三明市| 夹江县| 积石山| 太湖县| 泰安市| 萝北县| 金阳县| 嘉峪关市| 行唐县| 威海市| 吉林省| 霍邱县| 明溪县| 蕲春县| 连江县| 新巴尔虎右旗| 田阳县| 龙口市| 永平县| 淳化县| 都江堰市| 通辽市| 镇沅| 霍林郭勒市| 同江市| 莆田市| 宜阳县| 共和县| 辽宁省|