版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
集合類的設(shè)計(jì)與實(shí)現(xiàn)(MFC)集合類的設(shè)計(jì)與實(shí)現(xiàn)(MFC)集合類的設(shè)計(jì)與實(shí)現(xiàn)(MFC)集合類的設(shè)計(jì)與實(shí)現(xiàn)(MFC)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:封皮(按學(xué)校要求手工填寫)課程設(shè)計(jì)任務(wù)書學(xué)院專業(yè)學(xué)生姓名學(xué)號(hào)設(shè)計(jì)題目集合類的設(shè)計(jì)與實(shí)現(xiàn)內(nèi)容及要求:1.了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)計(jì)能力;初步掌握程序設(shè)計(jì)過程中的結(jié)構(gòu)化程序設(shè)計(jì)的一般方法,及數(shù)據(jù)類型在設(shè)計(jì)中的應(yīng)用。3.能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的程序設(shè)計(jì)問題;通過類與對(duì)象的設(shè)計(jì),編制一個(gè)能演示執(zhí)行集合的并、交和差運(yùn)算的程序,要求如下:(1)集合的元素限定為小寫字母字符[‘a(chǎn)’,…,’z’]。(2)演示程序以用戶和計(jì)算機(jī)的對(duì)話方式執(zhí)行。(3)以有序鏈表表示集合。(4)可進(jìn)一步實(shí)現(xiàn)集合的元素判定和子集判定運(yùn)算。進(jìn)度安排:第17周:分析題目,查閱課題相關(guān)資料,進(jìn)行類設(shè)計(jì)、算法設(shè)計(jì);第18周:程序的設(shè)計(jì)、調(diào)試與實(shí)現(xiàn);第19周:程序測(cè)試與分析,撰寫課程設(shè)計(jì)報(bào)告,進(jìn)行答辯驗(yàn)收。指導(dǎo)教師(簽字):年月日學(xué)院院長(zhǎng)(簽字)年月日目錄1需求分析 -1-2算法基本原理 -1-3類設(shè)計(jì) -1-4詳細(xì)設(shè)計(jì) -2-類的接口設(shè)計(jì) -2-類的實(shí)現(xiàn) -2-主函數(shù)設(shè)計(jì) -4-5DOS界面程序運(yùn)行結(jié)果及分析 -5-程序運(yùn)行結(jié)果 -5-運(yùn)行結(jié)果分析 -5-6基于MFC的圖形界面程序開發(fā) -6-基于MFC的圖形界面程序設(shè)計(jì) -6-程序測(cè)試 -17-MFC程序編寫總結(jié) -19-7參考文獻(xiàn) -19-1需求分析1問題描述:用有序單鏈表表示集合,實(shí)現(xiàn)集合的交、并、差運(yùn)算,且空間復(fù)雜度為O(1)2基本功能:可快速的分別求出兩個(gè)字符集合的交、并、差。3輸入和輸出:(1)輸入:在C++環(huán)境下編寫的程序,其輸入是簡(jiǎn)單、方便的,即按提示分別輸入兩集合的元素。輸入字符的范圍:小寫字母a,b,...,y,z,大寫字母A,B,...Y,Z,和數(shù)字0,1,...8,9;輸入形式:字符集合,按順序大小排序輸入,允許出現(xiàn)重復(fù)字符,程序能自動(dòng)濾去;(2)輸出:程序采用單鏈表的存儲(chǔ)結(jié)構(gòu),使得運(yùn)算快捷簡(jiǎn)便,顯示的結(jié)果也明了。輸出結(jié)果不含重復(fù)或非法字符;2算法基本原理Setl={a,b,x,w},Set2={a,b,y,z},
Setl∪Set2={a,b,,x,y,z,w}
Setl∩Set2={a,b}
Setl-Set2={x,w}3類設(shè)計(jì)從上面的算法分析可以看到,本設(shè)計(jì)關(guān)鍵是集合的并,交,差運(yùn)算。可以定義一個(gè)類int_set,然后由該類定義出私有和公有成員函數(shù),為主函數(shù)的執(zhí)行做好鋪墊4詳細(xì)設(shè)計(jì)整個(gè)程序分為三大塊,先是類的接口,定義出基類后再在類中定義出相關(guān)成員函數(shù):接著是累的實(shí)現(xiàn)部分,寫出具體的函數(shù)代碼,用以執(zhí)行相關(guān)功能;最后則是主函數(shù),用一天調(diào)用各個(gè)函數(shù)并執(zhí)行相應(yīng)的輸入輸出功能類的接口設(shè)計(jì)#include<>classint_set{ private: intmax_size; intcur_size; char*p; public: int_set(constint_set&a) {."menuitemtosystemmenu. ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX<0xF000); CMenu*pSysMenu=GetSystemMenu(FALSE); if(pSysMenu!=NULL) { CStringstrAboutMenu; (IDS_ABOUTBOX); if(!()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu); } } Theframeworkdoesthisautomatically ForMFCapplicationsusingthedocument/viewmodel,voidCJIHEDlg::OnPaint(){ if(IsIconic()) { CPaintDCdc(this);HCURSORCJIHEDlg::OnQueryDragIcon(){ return(HCURSOR)m_hIcon;}intCJIHEDlg::panduanCF(){ UpdateData(1); (); CStringm,n;for(inti=0;i<=()/2;i++) { AfxExtractSubString(m,(LPCTSTR)m_1,i,''); for(intj=i+1;j<=()/2;j++) {AfxExtractSubString(n,(LPCTSTR)m_1,j,''); if(m==n){AfxMessageBox("重復(fù)輸入!");m_1="\0";m_2="\0";UpdateData(0);return1;} } } for(i=0;i<=()/2;i++) { AfxExtractSubString(m,(LPCTSTR)m_2,i,''); for(intj=i+1;j<=()/2;j++) {AfxExtractSubString(n,(LPCTSTR)m_2,j,''); if(m==n){AfxMessageBox("重復(fù)輸入!");m_1="\0";m_2="\0";UpdateData(0);return1;} } }return0;}5求相應(yīng)集合的運(yùn)算代碼voidCJIHEDlg::Onjiao(){UpdateData(1); (); if(panduanCF())return;CStringtem,dem; if(m_1=="\0"&&m_2=="\0"){AfxMessageBox("交集為空,請(qǐng)輸入元素");m_3="\0";return;} else{if(m_1=="\0"||m_2=="\0")m_3="空集"; else for(inti=0;i<=()/2;i++) { for(intj=0;j<=()/2;j++) {AfxExtractSubString(tem,(LPCTSTR)m_1,i,''); AfxExtractSubString(dem,(LPCTSTR)m_2,j,''); if(tem==dem) { if()==0) m_3=tem; elsem_3=m_3+""+tem; } } } } if(m_3=="\0")m_3="空集";UpdateData(0); }voidCJIHEDlg::Onbing(){ UpdateData(1);();UpdateData(0);if(m_1=="\0"&&m_2=="\0"){AfxMessageBox("并集為空,請(qǐng)輸入元素");return;}if(panduanCF())return;if(m_1=="\0"||m_2=="\0"){m_3=m_1+m_2;UpdateData(0);return;} m_3=m_1;CStringtem;CStringdem; for(inti=0;i<();i++) {AfxExtractSubString(tem,(LPCTSTR)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人事行政績(jī)效激勵(lì)與獎(jiǎng)懲制度培訓(xùn)考核試卷
- 人臉識(shí)別技術(shù)在智能交通檢測(cè)中的數(shù)字創(chuàng)新考核試卷
- 計(jì)劃部工作總結(jié)
- 城市軌道交通系統(tǒng)運(yùn)營管理考核試卷
- 蘇州科技大學(xué)天平學(xué)院《國際貿(mào)易實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 光學(xué)儀器的設(shè)計(jì)與制造考核試卷
- 化學(xué)礦的供應(yīng)鏈管理和物流優(yōu)化考核試卷
- 智能時(shí)代下的專業(yè)知識(shí)更新與拓展考核試卷
- 固體飲料行業(yè)品質(zhì)管理與食品安全問題考核試卷
- 服裝行業(yè)創(chuàng)新技術(shù)與數(shù)字化轉(zhuǎn)型考核試卷
- 個(gè)人開車與單位免責(zé)協(xié)議書
- 《護(hù)理文書書寫》課件
- 廣東省廣州市海珠區(qū)2024-2025學(xué)年三年級(jí)上學(xué)期月考英語試卷
- 2023年北京市重點(diǎn)校初三(上)期末歷史試題匯編:第一次工業(yè)革命
- 《最后一片葉子》課件
- 2024年小轎車買賣合同標(biāo)準(zhǔn)版本(三篇)
- 八年級(jí)生物中考備考計(jì)劃
- 2024-2030年全球及中國濕巾和衛(wèi)生紙行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 公務(wù)員2019年國考《申論》真題及答案(省級(jí))
- 2024年會(huì)計(jì)專業(yè)考試初級(jí)會(huì)計(jì)實(shí)務(wù)試卷與參考答案
- 職業(yè)技術(shù)學(xué)院材料工程技術(shù)專業(yè)調(diào)研報(bào)告
評(píng)論
0/150
提交評(píng)論