c++課設(shè)總結(jié)報(bào)告(項(xiàng)目管理系統(tǒng))_第1頁(yè)
c++課設(shè)總結(jié)報(bào)告(項(xiàng)目管理系統(tǒng))_第2頁(yè)
c++課設(shè)總結(jié)報(bào)告(項(xiàng)目管理系統(tǒng))_第3頁(yè)
c++課設(shè)總結(jié)報(bào)告(項(xiàng)目管理系統(tǒng))_第4頁(yè)
c++課設(shè)總結(jié)報(bào)告(項(xiàng)目管理系統(tǒng))_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

封皮(按學(xué)校要求手工填寫(xiě))

成績(jī)?cè)u(píng)定表學(xué)生姓名:班級(jí)學(xué)號(hào):專(zhuān)業(yè):通信工程課程設(shè)計(jì)題目:項(xiàng)目管理系統(tǒng)評(píng)語(yǔ)組長(zhǎng)簽字:成績(jī)?nèi)掌谀暝氯?/p>

課程設(shè)計(jì)任務(wù)書(shū)學(xué)院信息科學(xué)與工程學(xué)院專(zhuān)業(yè)通信工程學(xué)生姓名學(xué)號(hào)設(shè)計(jì)題目項(xiàng)目管理系統(tǒng)內(nèi)容及要求:該系統(tǒng)處理項(xiàng)目的相關(guān)信息,項(xiàng)目信息主要包括:項(xiàng)目編號(hào)、項(xiàng)目名稱(chēng)、等級(jí)、負(fù)責(zé)人等內(nèi)容,要求實(shí)現(xiàn)以下功能:()建立項(xiàng)目類(lèi)。()項(xiàng)目信息初始化。()項(xiàng)目信息的添加、修改、刪除、查找。()項(xiàng)目信息的輸出。()在項(xiàng)目信息中按項(xiàng)目編號(hào)、項(xiàng)目名稱(chēng)排序。進(jìn)度安排:第周:分析題目,查閱課題相關(guān)資料,進(jìn)行類(lèi)設(shè)計(jì)、算法設(shè)計(jì);第周:程序的設(shè)計(jì)、調(diào)試與實(shí)現(xiàn);第周:程序測(cè)試與分析,撰寫(xiě)課程設(shè)計(jì)報(bào)告,進(jìn)行答辯驗(yàn)收。指導(dǎo)教師(簽字):年 月 日學(xué)院院長(zhǎng)(簽字)年 月 日TOC\o"1-5"\h\z需求分析 -1-\o"CurrentDocument"算法基本原理 -1-\o"CurrentDocument"類(lèi)設(shè)計(jì) -2-詳細(xì)設(shè)計(jì) -3-\o"CurrentDocument"類(lèi)的接口設(shè)計(jì) -3類(lèi)的實(shí)現(xiàn) -6\o"CurrentDocument"主函數(shù)設(shè)計(jì) -12DOS界面程序運(yùn)行結(jié)果及分析 -13-程序運(yùn)行結(jié)果 -13-\o"CurrentDocument"運(yùn)行結(jié)果分析 -16-\o"CurrentDocument"6基于MFC的圖形界面程序開(kāi)發(fā) -17-基于MFC的圖形界面程序設(shè)計(jì) -17程序測(cè)試 -23MFC程序編寫(xiě)總結(jié) -26-7參考文獻(xiàn) -27---#-coutvv”2.按項(xiàng)目名稱(chēng)排序:\n";coutvv”請(qǐng)輸入要進(jìn)行的操作:“vvendl;cin?choose;if(choose==l)〃冒泡排序法對(duì)項(xiàng)目按編號(hào)排序|for(j=0,j<=c;j++;)|if(b[j].getnumber()>b[i].getnumber())|temp=b[i];b[i]=b[j];b[j]=temp;for(i=0;i<=c;i++)|b[i].output();)if(choose=2)〃冒泡排序法對(duì)項(xiàng)目按名稱(chēng)排序|for(i=0;i<=c-l;i++)|for(j=j+l;j<=c;j++)|if(strcmp(b[j].getname(),b[i].getname())>=O)(temp=b[i];b[i]=b[j];b[j]=temp;)}for(i=0;i<=c;i++)8彼<<"項(xiàng)目名稱(chēng):";cout<<b[i].getname()<<endl;8a<<"項(xiàng)目編號(hào):";cout<<b[i].getnumber()<<endl;8a<<"項(xiàng)目等級(jí):";cout<<b[i].getleval()<<endl;8a<<”項(xiàng)目負(fù)責(zé)人:";cout<<b[i].getcharge()<<endl;cout<<endl;}}}voidRData::projectdate()//操作函數(shù)的定義{charchoice='1';charrname[100];//RData函數(shù)中的名稱(chēng)intprojectid;//RData函數(shù)中的編號(hào)intlev;//RData函數(shù)中的等級(jí)charcharg[100];//RData函數(shù)中的負(fù)責(zé)人project*r;while(choice!='0'){cout<<”1.添加\n”;cout<<"2.修改\n”;cout<<"3.刪除\n";cout<<"4.查找\n";cout<<"5.退出\n”;cin>>choice;switch(choice){case'1':;//執(zhí)行添加操作system("cls");cout<<"輸入項(xiàng)目編號(hào):";cin>>projectid;cout<<”輸入項(xiàng)目名稱(chēng):“;cin>>rname;cout<<”輸入項(xiàng)目等級(jí):";cin>>lev;cout<<”輸入項(xiàng)目負(fù)責(zé)人:";cin>>charg;addproject(projectid,rname,lev,charg);break;case'2':;//執(zhí)行修改操作system("cls");cout<<"輸入項(xiàng)目編號(hào):";cin>>projectid;r=equal(projectid);if(r==NULL){cout<<"該項(xiàng)目不存在";break;}8彼<<”輸入新的項(xiàng)目編號(hào):“;cin>>projectid;饃彼<<”輸入新的項(xiàng)目名稱(chēng):“;cin>>rname;饃彼^專(zhuān)輸入新的項(xiàng)目等級(jí):";cin>>lev;饃彼^專(zhuān)輸入新的項(xiàng)目負(fù)責(zé)人:";cin>>charg;r->setnum(projectid,lev);r->setname(rname,charg);break;case'3':;//執(zhí)行刪除操作system("cls");cout<<"輸入項(xiàng)目編號(hào):";cin>>projectid;

r=equal(projectid);if(r==NULL){cout<<”該項(xiàng)目不存在"<<endl;break;}r->del();cout<<"刪除成功!”;break;case'4':;//執(zhí)行查找操作system("cls");cout<<"讀入項(xiàng)目編號(hào):";cin>>projectid;r=equal(projectid);if(r=NULL){cout<<”該項(xiàng)目不存在"<<endl;break;}r->output();break;case'5':;cout<<"退出,謝謝使用!";exit(0);default:;cout<<"退出:\n";system("cls");}}}在類(lèi)實(shí)現(xiàn)的過(guò)程中,對(duì)基類(lèi)類(lèi)和}}}在類(lèi)實(shí)現(xiàn)的過(guò)程中,對(duì)基類(lèi)類(lèi)和定義函數(shù)用于輸出項(xiàng)目信息,虛函數(shù)類(lèi)中聲明的函數(shù)做了定義,用于項(xiàng)目信息的添加多次重新定義。析構(gòu)函數(shù)定義釋放內(nèi)存,各自基類(lèi)中聲明的數(shù)據(jù)成員經(jīng)過(guò)公有派生以被保護(hù)的形式出現(xiàn),派生函數(shù)可自由進(jìn)行訪(fǎng)問(wèn)。4.3主函數(shù)設(shè)計(jì)voidmain()//主函數(shù){charchoice;〃選項(xiàng)RDataprojectdb;while(choice!='0'){cout<<"C++課程設(shè)計(jì)\n";8彼<<"項(xiàng)目管理系統(tǒng)\n";cout<<"1403060325\n";cout<<"請(qǐng)選擇操作\n";cout<<"1.項(xiàng)目操作\n";cout<<"0.退出\n”;cin>>choice;switch(choice){case'1':;system("cls");jectdate();//調(diào)用操作函數(shù)case'0':;?乂讓(0);//輸入錯(cuò)誤直接退出break;default:;cout<<"退出\n";}}}在程序的主函數(shù)部分,給出兩個(gè)選項(xiàng)直接輸入1開(kāi)始程序的調(diào)試,輸入0則被認(rèn)為是輸入錯(cuò)誤,直接結(jié)束程序。之后出現(xiàn)主界面,選擇對(duì)應(yīng)數(shù)字進(jìn)行操作,每一步操作完成后都會(huì)回到主界面等待下一個(gè)命令。直至輸入數(shù)字5執(zhí)行退出程序。

界面程序運(yùn)行結(jié)果及分析.1程序運(yùn)行結(jié)果程.序運(yùn)行結(jié)果如圖1所示。nE:\SWTt6\VisualC++6.0\123123\1\Debug\1.exe"十統(tǒng).■T-5EJJ-L殳三方2—H十統(tǒng).■T-5EJJ-L殳三方2—H郢理03置瞽目M擇目出、”目03選患C+項(xiàng)14請(qǐng)1.0.圖1程序運(yùn)行結(jié)果圖2程序運(yùn)行結(jié)果圖1為程序開(kāi)始運(yùn)行的初始界面,選擇1則進(jìn)行下一步操作,選擇0退出。圖2為選擇1后執(zhí)行操作函數(shù)的界面,選擇不同的數(shù)字執(zhí)行不同的操作。2選.擇1添.加程序運(yùn)行的結(jié)果如圖3所示年出項(xiàng)項(xiàng)項(xiàng)項(xiàng)加改一人入人人港I目年出項(xiàng)項(xiàng)項(xiàng)項(xiàng)加改一人入人人港I目圖3程序運(yùn)行結(jié)果圖為選擇添加程序之后的輸入結(jié)果,需要調(diào)用 函數(shù),添加完成后回到主界面。3.選擇2修.改程序運(yùn)行的結(jié)果如圖4所示"E:煙(雷下載\UisualC++6.0\123123\1\Debug\1.exenererashscs:5a2l?A口:2塞等負(fù)

號(hào)目目目目項(xiàng)^改聯(lián)出

人人入人人醇瞿退圖4程序運(yùn)行結(jié)果圖4為選擇修改程序之后的輸入結(jié)果,需要先查找之后進(jìn)行修改,完成修改后返回主界面。4選.擇3刪除程序運(yùn)行的結(jié)果如圖5所示圖5程序運(yùn)行結(jié)果圖5為選擇刪除程序之后的運(yùn)行結(jié)果,輸入項(xiàng)目編號(hào)后可完成對(duì)應(yīng)的項(xiàng)目刪除。完成后返回主界面。

.選擇4查找程序運(yùn)行的結(jié)果如圖6所示項(xiàng)項(xiàng)項(xiàng)項(xiàng)加改取出出出出出箱瞿退負(fù).選擇4查找程序運(yùn)行的結(jié)果如圖6所示項(xiàng)項(xiàng)項(xiàng)項(xiàng)加改取出出出出出箱瞿退負(fù):25:name:4人圖6程序運(yùn)行結(jié)果圖6為選擇查找程序之后的運(yùn)行結(jié)果,輸入項(xiàng)目編號(hào)后可完成對(duì)應(yīng)的項(xiàng)目查找并將找到的項(xiàng)目輸出。完成后返回主界面。5.運(yùn)2行結(jié)果分析整個(gè)程序中的項(xiàng)目存儲(chǔ)采用的是動(dòng)態(tài)內(nèi)存分配的方式?;?lèi)用于數(shù)據(jù)輸入提取,公有派生類(lèi) 用于項(xiàng)目信息的輸出,虛函數(shù)用于項(xiàng)目信息的添加,除了繼承基類(lèi)的基本特征之外,結(jié)合問(wèn)題的實(shí)際需要,增加按編號(hào)查找的指針 ,使基類(lèi)進(jìn)一步具體化、實(shí)用化,使項(xiàng)目信息進(jìn)行各種處理時(shí)更方便快捷。程序的訪(fǎng)問(wèn)控制也是根據(jù)問(wèn)題的需要而設(shè)計(jì)的?;?lèi) 的數(shù)據(jù)成員的存儲(chǔ)、維護(hù)著項(xiàng)目信息,這些都是在進(jìn)行查找,刪除等一系列操作所必須訪(fǎng)問(wèn)和使用的。利用保護(hù)成員特征,將基類(lèi)數(shù)據(jù)成員的訪(fǎng)問(wèn)控制屬性設(shè)置為保護(hù)型,對(duì)于其派生類(lèi)可以自由調(diào)用,而對(duì)于類(lèi)外的其余模塊,這些數(shù)據(jù)無(wú)法訪(fǎng)問(wèn)。這樣,不影響整個(gè)程序?qū)?shù)據(jù)的實(shí)用又能很好的保護(hù)項(xiàng)目的信息。在派生過(guò)程中,基類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù)無(wú)法繼承下來(lái),因此在派生類(lèi)中需要添加構(gòu)造函數(shù)、析構(gòu)函數(shù)來(lái)完成派生類(lèi)的初始化和最后清理工作。派生類(lèi)的構(gòu)造函數(shù)通過(guò)調(diào)用基類(lèi)的構(gòu)造函數(shù)來(lái)對(duì)基類(lèi)數(shù)據(jù)進(jìn)行初始化?;?的圖形界面程序開(kāi)發(fā)的圖形界面程序設(shè)計(jì)可在上述類(lèi)設(shè)計(jì)的基礎(chǔ)上進(jìn)行改造, 的圖形界面程序與 界面程序的主要不同點(diǎn)是: 圖形界面程序與 界面程序的輸入輸出方式不同, 界面程序采用字符交互式實(shí)現(xiàn)數(shù)據(jù)輸入輸出,主要通過(guò)i等 流實(shí)現(xiàn),而 的圖形程序界面采用標(biāo)準(zhǔn) 窗口和控件實(shí)現(xiàn)輸入輸出,因此必須在 類(lèi)的框架下加入上面所設(shè)計(jì)的矩陣和方程組類(lèi),并通過(guò)圖形界面的輸入輸出改造來(lái)完成?;?的圖形界面程序設(shè)計(jì)(1)界面設(shè)計(jì)首先在中建立 工程,名稱(chēng)為 界面,并在向?qū)У闹羞x擇 ,即建立基于對(duì)話(huà)框的應(yīng)用程序,如下圖、圖所示。圖建立 工程

圖8建立基于對(duì)話(huà)框的應(yīng)用程序?qū)?duì)話(huà)框資源中的默認(rèn)對(duì)話(huà)框利用工具箱改造成如下界面,如圖9所示。項(xiàng)目名稱(chēng):項(xiàng)目名稱(chēng):圖9項(xiàng)目信息操作程序界面設(shè)計(jì)圖所示的界面中包含了個(gè) 控件,個(gè) 控件,和個(gè) 控件,控件的基本信息列表如下表所示。

表1控件基本信息控件類(lèi)別控件ID控件Caption說(shuō)明StaticTextIDC_STATIC項(xiàng)目名稱(chēng)添加操作使用項(xiàng)目編號(hào)項(xiàng)目等級(jí)項(xiàng)目負(fù)責(zé)人需要輸入的項(xiàng)目編號(hào)修改操作使用項(xiàng)目名稱(chēng)項(xiàng)目編號(hào)項(xiàng)目等級(jí)項(xiàng)目負(fù)責(zé)人需要輸入的項(xiàng)目編號(hào)刪除操作使用刪除是否成功需要輸入的項(xiàng)目編號(hào)查找操作使用項(xiàng)目名稱(chēng)項(xiàng)目編號(hào)項(xiàng)目等級(jí)項(xiàng)目負(fù)責(zé)人BottonIDC_tianjia執(zhí)行添加操作IDC_xiugai執(zhí)行修改操作IDC_shanchu執(zhí)行刪除操作IDC_chazhao執(zhí)行查找操作IDC_tuichu執(zhí)行退出操作EditBoxIDC_TJname名稱(chēng)添加使用IDC_TJnumber編號(hào)IDC_TJlevel等級(jí)IDC_TJcharge負(fù)責(zé)人IDC_XGINnumber輸入編號(hào)修改使用IDC_XGname名稱(chēng)IDC_XGnumber編號(hào)IDC_XGlevel等級(jí)

IDC_XGcharge負(fù)責(zé)人IDC_SCINnumber輸入編號(hào)刪除使用IDC_SCYON是否成功IDC_CZINnumber出入編號(hào)查找使用IDC_CZname名稱(chēng)IDC_CZnumber編號(hào)IDC_CZlevel等級(jí)IDC_CZcharge負(fù)責(zé)人(2)代碼設(shè)計(jì)為了能夠?qū)?duì)話(huà)框界面上的控件能夠與代碼聯(lián)系起來(lái),需要為個(gè)控件建立 ,按 鍵進(jìn)入 界面,選擇選項(xiàng)卡,可顯示成員變量設(shè)置界面,如圖、圖所示。圖10成員變量設(shè)置界面

圖11成員變量設(shè)置界面通過(guò)該界面設(shè)置與1個(gè)控件對(duì)應(yīng)的成員變量,具體如表2所示。表控件基本信息控件ID成員變量類(lèi)型成員變量名稱(chēng)IDC_TJnameCStringm_TJnameIDC_TJnumberIntm_TJnumberIDC_TJlevelintIDC_TJlevelIDC_TJchargeCStringm_TJchargeIDC_XGINnumberIntm_XGINnumberIDC_XGnameCStringm_XGnameIDC_XGnumbeIntm_XGnumbeIDC_XGlevelIntm_XGlevelIDC_XGchargeCStringm_XGchargeIDC_SCINnumberIntm_SCINnumberIDC_SCYONCStringm_SCYONIDC_CZINnumberIntm_CZINnumberIDC_CZnameCStringm_CZnameIDC_CZnumberIntm_CZnumberIDC_CZlevelIntm_CZlevelIDC_CZchargeCStringm_CZcharge下面是編寫(xiě)代碼的重要階段,由于自身水平所限,無(wú)法應(yīng)用類(lèi)。所以選擇直接通過(guò)按鈕實(shí)施各項(xiàng)操作,下面是各個(gè)按鈕的編寫(xiě)代碼。voidCMy2020Dlg::Ontianjia()//添加函數(shù)按鈕代碼{UpdateData(true);m_TJname=m_TJname;m_TJnumber=m_TJnumber;m_TJlevel=m_TJlevel;m_TJcharge=m_TJcharge;UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}voidCMy2020Dlg::Onxiugai()//修改函數(shù)按鈕代碼{UpdateData(true);if(m_XGINnumber=m_TJnumber){m_TJname=m_XGname;m_TJlevel=m_XGlevel;m_TJcharge=m_XGcharge;}else{m_XGname='a';m_XGlevel=0;m_XGcharge='b';}UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}voidCMy2020Dlg::Onshanchu()//刪除按鈕的代碼{UpdateData(true);if(m_SCINnumber=m_TJnumber)〃判斷是否刪除成功m_SCYON='Y';elsem_SCYON='N';UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}voidCMy2020Dlg::Onchazhao()//查找函數(shù)的代碼{UpdateData(true);if(m_CZINnumber=m_TJnumber){m_CZnumber=m_TJnumber;m_CZname=m_TJname;m_CZlevel=m_TJlevel;m_CZcharge=m_TJcharge;}else{m_CZnumber=0;m_CZname='c';m_CZlevel=0;m_CZcharge='d';}UpdateData(false);//TODO:Addyourcontrolnotificationhandlercodehere}2程序測(cè)試運(yùn)行程序后,首先出現(xiàn)的界面如圖12所示。

圖12程序初始運(yùn)行界面在添加一行中輸入相應(yīng)的項(xiàng)目信息,點(diǎn)擊添加按鈕后如圖13所示。圖13添加數(shù)據(jù)后的界面在修改一行中輸入需要修改的項(xiàng)目編號(hào),之后輸入修改后的結(jié)果點(diǎn)擊修改按鈕。如圖14

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論