VC++課程設(shè)計(jì)-小學(xué)生算術(shù)練習(xí)軟件_第1頁(yè)
VC++課程設(shè)計(jì)-小學(xué)生算術(shù)練習(xí)軟件_第2頁(yè)
VC++課程設(shè)計(jì)-小學(xué)生算術(shù)練習(xí)軟件_第3頁(yè)
VC++課程設(shè)計(jì)-小學(xué)生算術(shù)練習(xí)軟件_第4頁(yè)
VC++課程設(shè)計(jì)-小學(xué)生算術(shù)練習(xí)軟件_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

..小學(xué)生算術(shù)練習(xí)軟件1.課程設(shè)計(jì)的目的《VisualC++程序設(shè)計(jì)》是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的必修專業(yè)基礎(chǔ)課程,其實(shí)踐性、應(yīng)用性很強(qiáng)。實(shí)踐教學(xué)環(huán)節(jié)是必不可少的一個(gè)重要環(huán)節(jié)。VC++程序設(shè)計(jì)的設(shè)計(jì)目的是加深對(duì)理論教學(xué)內(nèi)容的理解和掌握,使學(xué)生較系統(tǒng)地掌握程序設(shè)計(jì)及其在網(wǎng)絡(luò)開發(fā)中的廣泛應(yīng)用,基本方法及技巧,為學(xué)生綜合運(yùn)用所學(xué)知識(shí),利用軟件工程為基礎(chǔ)進(jìn)行軟件開發(fā)、并在實(shí)踐應(yīng)用方面打下一定基礎(chǔ)。要求學(xué)生在設(shè)計(jì)指導(dǎo)教師的幫助下自行完成各個(gè)操作環(huán)節(jié),并能實(shí)現(xiàn)且達(dá)到舉一反三的目的,完成一個(gè)項(xiàng)目解決一類問(wèn)題。要求學(xué)生能夠全面、深入理解和熟練掌握所學(xué)內(nèi)容,并能夠用其分析、設(shè)計(jì)和解答類似問(wèn)題對(duì)此能夠較好地理解和掌握,能夠進(jìn)行簡(jiǎn)單分析和判斷,能編寫出具有良好風(fēng)格的程序,掌握VC++程序設(shè)計(jì)的基本技能和面向?qū)ο蟮母拍詈头椒?了解菜單、視圖/文檔、數(shù)據(jù)庫(kù)等編程技術(shù)。同時(shí)培養(yǎng)學(xué)生進(jìn)行分析問(wèn)題、解決問(wèn)題的能力,培養(yǎng)學(xué)生進(jìn)行設(shè)計(jì)分析、設(shè)計(jì)方法、設(shè)計(jì)操作與測(cè)試、設(shè)計(jì)過(guò)程的觀察、理解和歸納能力的提高。提高和加強(qiáng)自己的計(jì)算機(jī)應(yīng)用與軟件開發(fā)能力,使自己由初學(xué)者向?qū)I(yè)的程序員過(guò)渡。培養(yǎng)自己獨(dú)立分析問(wèn)題、解決問(wèn)題、查閱資料以及自學(xué)能力,以適應(yīng)計(jì)算機(jī)產(chǎn)業(yè)日新月異發(fā)展的形勢(shì)。學(xué)習(xí)和掌握VisualC++程序設(shè)計(jì)方法以及上機(jī)調(diào)試技巧,為今后學(xué)習(xí)其它專業(yè)課程打好堅(jiān)實(shí)的基礎(chǔ)。檢測(cè)自己在這一學(xué)期對(duì)MFC的學(xué)習(xí)及掌握情況。知道自己的不足,及時(shí)的彌補(bǔ),也為自己以后如何制定學(xué)習(xí)計(jì)劃做一鋪墊。VC++程序設(shè)計(jì)課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的《VC++程序設(shè)計(jì)》課程的綜合性實(shí)踐環(huán)節(jié)。VC++程序設(shè)計(jì)是一門實(shí)用性很強(qiáng)的學(xué)科,是進(jìn)行軟件開發(fā)的主要工具,只有進(jìn)行實(shí)際操作,才能將理論知識(shí)和實(shí)際應(yīng)用有機(jī)的結(jié)合起來(lái),鍛煉學(xué)生分析解決實(shí)際問(wèn)題的能力,提高學(xué)生實(shí)際運(yùn)用的能力,為學(xué)生畢業(yè)設(shè)計(jì),日后工作中的軟件開發(fā)打下良好的基礎(chǔ)。2.設(shè)計(jì)方案論證2.1需求分析基于MFC設(shè)計(jì)一個(gè)小學(xué)生進(jìn)行四則運(yùn)算的算術(shù)練習(xí)軟件,要求用戶界面方便、友好。軟件需要完成如下功能:小學(xué)生上機(jī)練習(xí)時(shí),可以根據(jù)自身情況選擇不同的難度題目進(jìn)行練習(xí);每次計(jì)算機(jī)為小學(xué)生出多道題目讓學(xué)生作答,根據(jù)完成答案的正確率與完成時(shí)間給出不同的分?jǐn)?shù);設(shè)立一個(gè)計(jì)時(shí)器,記錄完成題目所用時(shí)間;計(jì)算完題目后,給出做題的分析結(jié)果,包括對(duì)錯(cuò)題數(shù),每道題做對(duì)所使用的計(jì)算機(jī)會(huì),完成題目所用時(shí)間以及總成績(jī)等詳細(xì)信息。2.2設(shè)計(jì)思路小學(xué)生上機(jī)練習(xí)時(shí),可以選擇三個(gè)練習(xí)等級(jí)A,B,C中的一種,其中A級(jí)為一位數(shù)加減乘除運(yùn)算,B級(jí)為兩位數(shù)加減乘除運(yùn)算,C級(jí)為三位數(shù)加減乘除運(yùn)算。每次練習(xí)計(jì)算機(jī)為小學(xué)生出10個(gè)加減乘除運(yùn)算題目〔10道題中分布有加減乘除題目,每個(gè)題目有三次計(jì)算機(jī)會(huì),第一次算對(duì)加10分,接著出第二題目;第一次不對(duì),第二次出同樣的題目,若算對(duì)加8分,接著出第二個(gè)題目,若不對(duì)再給第三次機(jī)會(huì),作對(duì)加5分,做不對(duì)不加分。每題只有三次計(jì)算機(jī)會(huì),依此類推。設(shè)立一個(gè)計(jì)時(shí)器,記錄10道題目所用時(shí)間。計(jì)算完10個(gè)題目后,給出做題分析結(jié)果,包括對(duì)錯(cuò)題數(shù),每道題做對(duì)所使用的計(jì)算機(jī)會(huì),10道題目所用時(shí)間,總成績(jī)。2.3設(shè)計(jì)方法根據(jù)需求,設(shè)計(jì)該軟件的主要功能如下:〔1能用于小學(xué)生的四則運(yùn)算練習(xí),提高小學(xué)生的計(jì)算能力;〔2小學(xué)生上機(jī)練習(xí)時(shí),可以選擇三個(gè)練習(xí)等級(jí)A,B,C中的一種,其中A級(jí)為一位數(shù)加減乘除運(yùn)算,B級(jí)為兩位數(shù)加減乘除運(yùn)算,C級(jí)為三位數(shù)加減乘除運(yùn)算;〔3每次練習(xí)計(jì)算機(jī)為小學(xué)生出10個(gè)加減乘除運(yùn)算題目〔10道題中分布有加減乘除題目,每個(gè)題目有三次計(jì)算機(jī)會(huì)〔第一次算對(duì)加10分,接著出第二題目;第一次不對(duì),第二次出同樣的題目,若算對(duì)加8分,接著出第二個(gè)題目;第二次若不對(duì)再給第三次機(jī)會(huì),作對(duì)加5分,做不對(duì)不加分。每題只有三次計(jì)算機(jī)會(huì),依此類推;〔4該軟件設(shè)有計(jì)時(shí)器,能查看小學(xué)生做完10道題目所花的總時(shí)間,用于綜合評(píng)分;〔5學(xué)生做完題后可以點(diǎn)擊"評(píng)分說(shuō)明"菜單里的"查看成績(jī)",查看該次的成績(jī),成績(jī)單里包括每題的表達(dá)式,三次的答案,對(duì)錯(cuò)題數(shù),答題時(shí)間,以及評(píng)分標(biāo)準(zhǔn)等;〔6該軟件利用了文件存儲(chǔ),能將每個(gè)等級(jí)的最佳成績(jī)存在文件中,以便和其他用戶進(jìn)行對(duì)比,提高成績(jī);〔7在答題的過(guò)程中,如果想回到主菜單重新進(jìn)行選擇,則只需點(diǎn)擊"操作"菜單里的"回到主菜單"即可。如果想退出程序,則只需點(diǎn)擊"退出軟件"即可。2.4功能模塊設(shè)計(jì)2.4.1主對(duì)話框的設(shè)計(jì)主對(duì)話框包含菜單欄和主窗口。其中菜單欄包含三個(gè)菜單:軟件說(shuō)明、評(píng)分說(shuō)明、意見反饋。"軟件說(shuō)明"菜單包含"軟件簡(jiǎn)介"、"退出軟件"兩個(gè)子菜單。其中"軟件簡(jiǎn)介"用以調(diào)用軟件簡(jiǎn)介對(duì)話框,使新用戶對(duì)該軟件熟悉,減少用戶使用的熟悉期;"退出軟件"用以從界面正常退出該軟件,退出前用文件保存最佳成績(jī)。"評(píng)分說(shuō)明"菜單包含"題型設(shè)置"、"查看成績(jī)"、"最佳成績(jī)"三個(gè)子菜單。其中"題型設(shè)置"向用戶介紹該軟件的題型、題量、等級(jí)、出題方式、方法等,方便用戶正確做出選擇,能更好的利用該軟件;"查看成績(jī)"用于在用戶做完10道題后查看所得分?jǐn)?shù)。如果沒(méi)有答題或答題中途返回主對(duì)話框,則用于存儲(chǔ)信息的鏈表為空,不能顯示成績(jī);"最佳成績(jī)"向現(xiàn)用戶展示以往用戶的最佳成績(jī),用于比較,可以起到激勵(lì)的作用,同時(shí),使軟件更加實(shí)用和友好。"意見反饋"菜單提供了軟件制作者的聯(lián)系方式,可以讓用戶和編程者進(jìn)行交流,方便編程者不斷對(duì)軟件進(jìn)行改進(jìn)。主窗口中的單選按鈕用于向用戶展示本軟件的題型,方便用戶選用。該對(duì)話框的測(cè)試按鈕〔即"開始",調(diào)用了GetTickCount<>函數(shù),用于實(shí)現(xiàn)計(jì)時(shí)器的功能。2.4.2答題對(duì)話框的設(shè)計(jì)答題窗口由主對(duì)話框進(jìn)行調(diào)用,連續(xù)調(diào)用十次。每次調(diào)用所得的題目都是由計(jì)算機(jī)隨機(jī)出的,利用了rand〔函數(shù)。該對(duì)話框的最核心函數(shù)即為提交按鈕的響應(yīng)函數(shù),當(dāng)用戶完成運(yùn)算,將答案輸入到光標(biāo)所在的文本框即可進(jìn)入下一次調(diào)用,同時(shí),在答完題后按回車也可調(diào)用。該函數(shù)實(shí)現(xiàn)了讓用戶有三次答題機(jī)會(huì)的功能,但每次的給分不同。在答對(duì)的情況或者三次都答錯(cuò)的情況下,利用鏈表將數(shù)據(jù)存在內(nèi)存中,方便顯示成績(jī)單。該鏈表采用的是頭插法。當(dāng)用戶未向答題框輸入答案單擊"下一題"按鈕或回車時(shí),系統(tǒng)彈出"請(qǐng)輸入答案!"的提示框提醒用戶輸入答案,避免因點(diǎn)擊過(guò)快造成的錯(cuò)誤而影響最終成績(jī)的情況發(fā)生。該對(duì)話框上附有操作按鈕,方便用戶在答題過(guò)程中臨時(shí)變換所選題目等級(jí),以及隨時(shí)正確退出該軟件,使用戶用得方便自如。在答完十道題后自動(dòng)調(diào)用成績(jī)單對(duì)話框,便于用戶查看成績(jī)。2.4.3成績(jī)單對(duì)話框的設(shè)計(jì)該對(duì)話框?qū)⒂脩羲龅氖李}的做題細(xì)則完全的顯示出來(lái)。用戶做每道題的時(shí)候都有三次答題機(jī)會(huì),成績(jī)單會(huì)將每道題的三次答案以及最終得分都顯示在列表中,一目了然,方便用戶進(jìn)行總結(jié)和糾錯(cuò)。列表的右側(cè)附有該軟件的評(píng)分標(biāo)準(zhǔn),供用戶參考,幫助用戶提高成績(jī)。下方列有對(duì)錯(cuò)題數(shù)、所用總時(shí)間、總成績(jī)以及以往用戶在所選等級(jí)段的最佳成績(jī),方便用戶進(jìn)行比較。瀏覽完成績(jī)單后點(diǎn)擊"確定"按鈕或直接關(guān)閉成績(jī)單返回主對(duì)話框界面。2.4.4主要數(shù)據(jù)結(jié)構(gòu)由于該軟件運(yùn)行完畢后還要在成績(jī)單中顯示每次做題的細(xì)節(jié),因此,必須用數(shù)據(jù)結(jié)構(gòu)將每道題目的所有數(shù)據(jù)都存起來(lái)。該軟件采用了類鏈表這一數(shù)據(jù)結(jié)構(gòu)來(lái)存數(shù)據(jù)。用類CExpression來(lái)存每道題目的所有數(shù)據(jù),包括:表達(dá)式,三次做題答案,正確答案、該題得分等信息。2.4.5文件存儲(chǔ)文件的存儲(chǔ)格式主要有文本格式和二進(jìn)制格式。文本格式的一個(gè)顯著優(yōu)點(diǎn)是可以用文本編輯軟件<如記事本>打開文件進(jìn)行觀察和讀取。與文本格式不同,二進(jìn)制格式不能簡(jiǎn)單的將文件打開編輯。但二進(jìn)制文件讀取速度快,并且能夠利用MFC庫(kù)進(jìn)行序列化,是主流的文件輸出格式。本軟件采用的是文本格式。用于存取各個(gè)用戶的最佳成績(jī),方便不同用戶之間進(jìn)行比較,交流。2.5類與函數(shù)的設(shè)計(jì)與實(shí)現(xiàn)2.5.1對(duì)話框類〔1主對(duì)話框類classCDXDDlg:publicCDialog{//Constructionpublic:CDXDDlg<CWnd*pParent=NULL>; //standardconstructor…afx_msgvoidOnExitMain<>;//}}AFX_MSGDECLARE_MESSAGE_MAP<>};〔2答題對(duì)話框類〔用于用戶的練習(xí)classCCalculateDlg:publicCDialog{//Constructionpublic:CCalculateDlg<CWnd*pParent=NULL>;//standardconstructor…afx_msgvoidOnReturn<>;afx_msgvoidOnExit<>;//}}AFX_MSGDECLARE_MESSAGE_MAP<>};其中,OnButtonHand<>〔提交函數(shù),用于處理答案為核心函數(shù)。使用戶能有三次答題機(jī)會(huì)。在該函數(shù)里還運(yùn)用了鏈表的頭插法來(lái)存數(shù)據(jù)。在初始化函數(shù)內(nèi)運(yùn)用了生成隨機(jī)表達(dá)式的算法。具體如下:第一個(gè)數(shù)、第二個(gè)數(shù)以及運(yùn)算符都有rand〔函數(shù)隨機(jī)生成,再將這三個(gè)元素組合起來(lái),加以判斷,如果是一個(gè)小學(xué)生范圍內(nèi)的算術(shù)題,則將它作為一道題目,否則,再出一道。該類里還編寫了對(duì)話框的刷新函數(shù)RefreshDlg〔,在用戶答錯(cuò)的情況下刷新對(duì)話框?!?成績(jī)單對(duì)話框類〔用于將數(shù)據(jù)顯示出來(lái)classCRecordDlg:publicCDialog{//Constructionpublic:CRecordDlg<CWnd*pParent=NULL>;//standardconstructor…afx_msgHBRUSHOnCtlColor<CDC*pDC,CWnd*pWnd,UINTnCtlColor>;//}}AFX_MSGDECLARE_MESSAGE_MAP<>};2.5.2表達(dá)式類〔用于存題目信息classCExpression{public:intm_k1;intm_k2;charm_operator;intm_end;intm_end1;intm_end2;intm_end3;intm_count;CExpression*m_next;};2.6系統(tǒng)總體結(jié)構(gòu)系統(tǒng)對(duì)話框之間的調(diào)用關(guān)系,如圖1所示。主對(duì)話框主對(duì)話框<CDXDDlg>軟件簡(jiǎn)介對(duì)話框<CIntroductionDlg>題型設(shè)置對(duì)話框<CSettingsDlg>答題對(duì)話框<CCalculateDlg>聯(lián)系方式對(duì)話框<CLinkDlg>最佳成績(jī)對(duì)話框<CBestDlg>成績(jī)單對(duì)話框<CRecordDlg>圖1系統(tǒng)對(duì)話框調(diào)用圖答題過(guò)程主要運(yùn)算流程圖,如圖2所示。開始開始判斷級(jí)別判斷i是否大于10答題成績(jī)單B級(jí),i=1i>10i<=10i++答題判斷i是否大于10判斷i是否大于10答題成績(jī)單成績(jī)單A級(jí),i=1C級(jí),i=1i>10i>10i<=10i<=10i++i++圖2答題過(guò)程流程圖3.設(shè)計(jì)結(jié)果與分析利用微軟公司的C++開發(fā)工具M(jìn)icrosoftVisualC++6.0創(chuàng)建MFC應(yīng)用程序,添加各種對(duì)話框資源、菜單項(xiàng),編寫代碼完成軟件的各種功能,軟件經(jīng)過(guò)檢查修改無(wú)誤后運(yùn)行通過(guò)操作各個(gè)菜單項(xiàng)以及對(duì)話框按鈕,各部分的功能與菜單提示一致。〔1運(yùn)行軟件,主對(duì)話框及各功能菜單如圖3、4、5、6所示。圖3主對(duì)話框圖4"軟件說(shuō)明"子菜單圖5"評(píng)分說(shuō)明"子菜單圖6"意見反饋"子菜單〔2選擇主對(duì)話框界面的題型分級(jí),點(diǎn)擊"開始"按鈕,開始答題,滿足用戶需求,實(shí)現(xiàn)隨機(jī)出題,答題完成,單擊"下一題"或回車調(diào)用下一道題目,如圖7所示。圖7答題對(duì)話框當(dāng)答案框中輸入為空時(shí),彈出對(duì)話框提示輸入答案,如圖8所示。圖8無(wú)答案提示框當(dāng)答題答案回答錯(cuò)誤時(shí),彈出對(duì)話框提示回答錯(cuò)誤并顯示錯(cuò)誤次數(shù),每道題有3次答題的機(jī)會(huì),3次答錯(cuò)后進(jìn)入下一題,錯(cuò)誤次數(shù)不同獲得的分?jǐn)?shù)不同。如圖9所示。圖9答題錯(cuò)誤提示框答題對(duì)話框上附有操作菜單,方便用戶在答題過(guò)程中臨時(shí)變換所選題目等級(jí),以及隨時(shí)正確退出該軟件,使用戶用得方便自如。如圖10所示。圖10答題對(duì)話框菜單〔310道題目回答完畢之后系統(tǒng)自動(dòng)調(diào)用成績(jī)單對(duì)話框,成績(jī)單會(huì)將每道題的三次答案以及最終得分都顯示在列表中,一目了然,方便用戶進(jìn)行總結(jié)和糾錯(cuò)。列表的右側(cè)附有該軟件的評(píng)分標(biāo)準(zhǔn),供用戶參考,幫助用戶提高成績(jī)。下方列有對(duì)錯(cuò)題數(shù)、所用總時(shí)間、總成績(jī)以及以往用戶在所選等級(jí)段的最佳成績(jī),方便用戶進(jìn)行比較。瀏覽完成績(jī)單后點(diǎn)擊"確定"按鈕或直接關(guān)閉成績(jī)單返回主對(duì)話框界面。如圖11所示。圖11成績(jī)單對(duì)話框同時(shí)"查看成績(jī)"菜單項(xiàng)用于在用戶做完10道題后查看所得分?jǐn)?shù),也可調(diào)出成績(jī)單對(duì)話框,如果沒(méi)有答題或答題中途返回主對(duì)話框,則用于存儲(chǔ)信息的鏈表為空,不能顯示成績(jī),此時(shí)彈出對(duì)話框提示無(wú)成績(jī),如圖12所示。圖12無(wú)成績(jī)對(duì)話框〔4在主對(duì)話框的菜單欄包含三個(gè)菜單:軟件說(shuō)明、評(píng)分說(shuō)明、意見反饋。"軟件說(shuō)明"菜單包含"軟件簡(jiǎn)介"、"退出軟件"兩個(gè)子菜單。其中"軟件簡(jiǎn)介"用以調(diào)用軟件簡(jiǎn)介對(duì)話框,使新用戶對(duì)該軟件熟悉,減少用戶使用的熟悉期。軟件簡(jiǎn)介對(duì)話框如圖13所示。圖13軟件簡(jiǎn)介對(duì)話框"評(píng)分說(shuō)明"菜單包含"題型設(shè)置"、"查看成績(jī)"、"最佳成績(jī)"三個(gè)子菜單。其中"題型設(shè)置"向用戶介紹該軟件的題型、題量、等級(jí)、出題方式、方法等,方便用戶正確做出選擇,能更好的利用該軟件。題型設(shè)置對(duì)話框如圖14所示。圖14題型設(shè)置對(duì)話框"最佳成績(jī)"向現(xiàn)用戶展示以往用戶的最佳成績(jī),用于比較,可以起到激勵(lì)的作用,同時(shí),使軟件更加實(shí)用和友好。最佳成績(jī)對(duì)話框如圖15所示。圖15最佳成績(jī)對(duì)話框"意見反饋"菜單提供了軟件制作者的聯(lián)系方式,可以讓用戶和編程者進(jìn)行交流,方便編程者不斷對(duì)軟件進(jìn)行改進(jìn)。聯(lián)系方式對(duì)話框如圖16所示。圖16聯(lián)系方式對(duì)話框〔5進(jìn)行非正常操作的模擬:未作題的用戶想查看成績(jī),則彈出"無(wú)成績(jī)"的消息。因?yàn)殒湵頌榭?不能讀取數(shù)據(jù);主對(duì)話框、答題對(duì)話框、成績(jī)單里的數(shù)據(jù)都是只讀類型的,防止用戶直接進(jìn)行篡改;未做完十道題的用戶直接返回主界面后,由于無(wú)法給分,且鏈表已重新置空,不彈出成績(jī)單。4.設(shè)計(jì)體會(huì)VisualC++是Microsofe公司開發(fā)的基于C和C++語(yǔ)言的集成開發(fā)工具,同其他的可視化編程工具一樣VisualC++6.0集代碼編輯、編譯、鏈接、調(diào)試等功能于一體,并提供多種有用的輔助開發(fā)工具。學(xué)習(xí)好VC++是廣大計(jì)算機(jī)專業(yè)學(xué)生的迫切要求。經(jīng)過(guò)兩個(gè)星期的VC++課程設(shè)計(jì),我在老師和同學(xué)的共同幫助下,順利完成該課程設(shè)計(jì),收獲很大。在《VisualC++程序設(shè)計(jì)》中MFC部分很重要,是需要實(shí)踐內(nèi)容。所以在本學(xué)期程設(shè)計(jì)是很及時(shí)、很必要的。而且還及時(shí)、真正的做到了學(xué)以致用。主要是以下幾點(diǎn)?;竟σ^(guò)硬,不能馬虎經(jīng)常犯犯小錯(cuò)誤,提高自己找錯(cuò)糾錯(cuò)能力,通常錯(cuò)誤總是那幾種,多練習(xí)就熟練了。要善于查找資料提高自己的資料查詢能力,要善于利用網(wǎng)絡(luò)來(lái)獲得知識(shí),獲得幫助。開始著手程序設(shè)計(jì)時(shí),有些功能感覺(jué)無(wú)從下手,都不知道要干什么。這些問(wèn)題只要找到相關(guān)的資料就會(huì)得到提示從而理解所要解決問(wèn)題的大致方向。有了明確的目的,就可以發(fā)揮自己的頭腦來(lái)完成它了。要善于思考。程序中有些實(shí)現(xiàn)難點(diǎn)和最初完成程序時(shí)免不了的許多不足就需要自己根據(jù)代碼認(rèn)真思考來(lái)解決。只有這樣才能糾正程序的不足并使其更加人性化。這次課程設(shè)計(jì)讓我學(xué)到了很多,不僅是鞏固了先前學(xué)的MFC程序設(shè)計(jì)知識(shí),而且也培養(yǎng)了我的動(dòng)手能力,更令我的創(chuàng)造性思維得到拓展。希望今后類似這樣課程設(shè)計(jì)、類似這樣的鍛煉機(jī)會(huì)能更多些!通過(guò)這次課程設(shè)計(jì),可以明顯地感覺(jué)到它彌補(bǔ)了課堂教學(xué)和實(shí)驗(yàn)中知識(shí)的深度和廣度方面的不足,也讓我進(jìn)一步掌握了面向過(guò)程和面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法和編程技巧,同時(shí)也鞏固所學(xué)理論知識(shí),雖然花費(fèi)了不止一點(diǎn)點(diǎn)的時(shí)間和精力,不過(guò)那確實(shí)挺值得的。既讓我認(rèn)識(shí)到自己知識(shí)方面的缺陷,又培養(yǎng)了我獨(dú)立分析問(wèn)題、解決問(wèn)題的能力。希望在今后的學(xué)習(xí)中我能夠長(zhǎng)久的保持這股學(xué)習(xí)熱情,將理論知識(shí)化為實(shí)際編程能力。努力學(xué)好VC++,將所學(xué)知識(shí)與實(shí)踐充分結(jié)合起來(lái),學(xué)好計(jì)算機(jī)專業(yè)課。5.參考文獻(xiàn)[1]劉新民,蔡瓊,白康生.VisualBasic6.0程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004[2]張海榮.VisualC++實(shí)用教程〔第2版[M].北京:電子工業(yè)出版社.2004[3]劉於勛等.C++程序設(shè)計(jì)[M].北京:科學(xué)出版社,2007:24-125[4]榮欽科技.VisualC++游戲編程基礎(chǔ)[M].北京:電子工業(yè)出版社,2004:42-115[5]揣錦華.面向?qū)ο蟪绦蛟O(shè)計(jì)與VC++實(shí)踐[M].XX:電子科技大學(xué)出版社,2005:40-101[6]羅偉堅(jiān).VisualC++經(jīng)典游戲程序設(shè)計(jì)[M].北京:人民郵電出版社,2006:20-85[7]鄭莉.C++語(yǔ)言程序設(shè)計(jì)案例教程[M].北京:清華大學(xué)出版社,2005.7:30-111附錄〔1主對(duì)話框類classCDXDDlg:publicCDialog{//Constructionpublic:CDXDDlg<CWnd*pParent=NULL>; //standardconstructorCBrushm_brush;//自己加的staticDWORDtime1,time2;//自己加的staticdoubletime;staticCExpression*m_exp;staticintflag;staticintGrade;//用于記錄做題等級(jí)staticintFlag;//用于從計(jì)算對(duì)話框返回主菜單staticintBESTA,BESTB,BESTC;//分別用來(lái)存A、B、C級(jí)的最高分public:voidSaveAllData<>;//用來(lái)存最高分voidLoadAllData<>;//用來(lái)讀取最高分//DialogData//{{AFX_DATA<CDXDDlg>enum{IDD=IDD_DXD_DIALOG};int m_grade;//}}AFX_DATA//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUAL<CDXDDlg>protected:virtualvoidDoDataExchange<CDataExchange*pDX>; //DDX/DDVsupport//}}AFX_VIRTUAL//Implementationprotected:HICONm_hIcon;//Generatedmessagemapfunctions//{{AFX_MSG<CDXDDlg>virtualBOOLOnInitDialog<>;//初始化對(duì)話框afx_msgvoidOnSysCommand<UINTnID,LPARAMlParam>;afx_msgvoidOnPaint<>;afx_msgHCURSOROnQueryDragIcon<>;afx_msgHBRUSHOnCtlColor<CDC*pDC,CWnd*pWnd,UINTnCtlColor>;afx_msgvoidOnButtonTest<>;//進(jìn)入測(cè)試,調(diào)用測(cè)試對(duì)話框afx_msgvoidOnButtonSee<>;//查看成績(jī)afx_msgvoidOnIntroduction<>;//調(diào)用軟件簡(jiǎn)介對(duì)話框afx_msgvoidOnLink<>;//調(diào)用聯(lián)系方式對(duì)話框afx_msgvoidOnSetQuestions<>;//調(diào)用題型設(shè)置對(duì)話框afx_msgvoidOnSee<>;//調(diào)用成績(jī)對(duì)話框afx_msgvoidOnDestroy<>;afx_msgvoidOnBest<>;afx_msgvoidOnExitMain<>;//}}AFX_MSGDECLARE_MESSAGE_MAP<>};〔2答題對(duì)話框類〔用于用戶的練習(xí)classCCalculateDlg:publicCDialog{//Constructionpublic:CCalculateDlg<CWnd*pParent=NULL>;//standardconstructorvoidRefreshDlg<CStringexp>;//自己加的//DialogData//{{AFX_DATA<CCalculateDlg>enum{IDD=IDD_DIALOG_CALCULATE};CString m_answer;CString m_expression;CString m_order;//}}AFX_DATAprotected:intm_flag;public:intm_k,m_m,m_n;intm_k1,m_k2;voidSet_Grade<intflag>{m_flag=flag;}CFontm_editFont,m_editFont2,m_editFont3;// staticCExpression*m_pExp;staticintm_score;staticintnIndex;//nIndex表示回答的次數(shù)static intwrong1,wrong2,wrong3,answer;//Overrides//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUAL<CCalculateDlg>protected:virtualvoidDoDataExchange<CDataExchange*pDX>;//DDX/DDVsupport//}}AFX_VIRTUAL//Implementationprotected://Generatedmessagemapfunctions//{{AFX_MSG<CCalculateDlg>afx_msgvoidOnButtonHand<>;virtualBOOLOnInitDialog<>;afx_ms

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論