版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課程設計報告目錄設計任務 TOC\o"1-5"\h\z設計要求 4設計方案 4設計內(nèi)容 44. 1.1軟件達到的目的 44. 1.2軟件功能說明 41.2.1各項功能說明 5軟件設計環(huán)境與原理 55.1設計環(huán)境與模塊的劃分 55.1.1軟件設計環(huán)境 55.1.2軟件模塊的劃分 55.2軟件設計主要原理 65.2.1采用的主要數(shù)據(jù)結(jié)構(gòu)類型 65.2.2各個模塊之間的調(diào)用關(guān)系和數(shù)據(jù)儲存格式說明 7軟件的設計過程 86.1各軟件模塊之間的調(diào)用方式 86.2軟件中實現(xiàn)各項功能的函數(shù)與程序代碼 8設計結(jié)果與分析 14總結(jié) 19設計任務運用面向?qū)ο笳Z言描述成績類,學院類,項目等類,每一個類應包含數(shù)據(jù)成員和成員函數(shù)。設計基類和派生類,并運用多態(tài)性和虛函數(shù)的知識。注重面向?qū)ο蟪绦蛟O計理論知識的理解與實際的動手編程能力,要求學生源文件用多文件的工程結(jié)構(gòu),數(shù)據(jù)存儲用文件形式,標準的C++輸入輸出,功能完善,適當?shù)淖⑨尩戎R。本課程設計要實現(xiàn)的主要功能如下:1) 建立成績類,學院類,項目等類2) 學校運動會信息的初始化4) 學校運動會成績信息的輸入、排序、添加、查找、保存5) 學校運動會信息的輸出設計要求【基本要求】1、 使用繼承減少重復代碼;2、 使用多態(tài)性統(tǒng)一通訊協(xié)議,使程序易于維護;3、 體現(xiàn)數(shù)據(jù)抽象和封裝;4、 體現(xiàn)數(shù)據(jù)訪問屬性和繼承屬性。設計方案學校運動會成績統(tǒng)計設計內(nèi)容4.1軟件達到的目的該軟件主要是實現(xiàn)對學校運動會成績進行系統(tǒng)化的管理,首先可以對學校運動會成績基本信息進行輸入和存取,其次可以讀取顯示學校運動會成績統(tǒng)的相關(guān)信息,然后可以刪除和修改學校運動會成績相關(guān)信息,還有就是可按編號查詢此學校運動會成績的相關(guān)信息。由此來系統(tǒng)化管理學校運動會成績,并達到簡易操作的目的。4.2軟件功能說明對學校運動會成績的信息進行整理,輸入、輸出、保存、排序、查找等功能4.2.1各項功能說明(1) 學校運動會成績基本信息的錄入和保存:這部分的功能主要包括信息的錄入和保存,首先按程序提示分別輸入有關(guān)學校運動會成績的相關(guān)信息包括學院編號、項目編號、運動員性別、各個項目的成績等。錄入完畢后系統(tǒng)將顯示全部學校運動會成績,信息中已包含對學校運動會成績基本信息??梢赃x擇是否保存,選擇存盤后,系統(tǒng)則自動將學生信息存入電腦中的文件123.txt中。(2) 學校運動會成績的排序:這部分的功能主要包括學校運動會成績的排序,首先按程序提示分別輸入有關(guān)學校運動會成績的相關(guān)信息包括學院編號、項目編號、運動員性別來給團體總分和男子和女子總分排序。(3) 學校運動會成績的輸出:這部分的功能主要是首先按程序提示分別輸入有關(guān)學校運動會成績的相關(guān)信息包括學院編號、項目編號、運動員性別來輸出學院團體總分和男子和女子總分。(4) 按編號查找學校運動會成績信息:此項功能可以根據(jù)用戶輸入的學校編號和項目編號查出該學校運動會成績的所有信息。(5) 對需要保存的學生信息進行保存。這部分的功能主要是對輸入的運動會的成績進行保存放在123.txt的文件中。(6) 讀取學校運動會成績信息:這部分的主要功能是對保存在123.txt文件中的信息讀取出來并且輸出來。(7) 退出系統(tǒng),結(jié)束任務。軟件設計環(huán)境與原理5.1設計環(huán)境與模塊的劃分5.1.1軟件設計環(huán)境MicrosoftVisualC++6.05.1.2軟件模塊的劃分該軟件主要組成模塊和各個模塊之間的調(diào)用關(guān)系如下圖:退出學校運動會成績管理保存學校運動會成績信息查找學校運動會成績信息讀取學校運動會成績信息排序?qū)W校運動會成績信息輸入學校運動會成績信息進入學校運動統(tǒng)成績系統(tǒng)退出學校運動會成績管理保存學校運動會成績信息查找學校運動會成績信息讀取學校運動會成績信息排序?qū)W校運動會成績信息輸入學校運動會成績信息進入學校運動統(tǒng)成績系統(tǒng)保存到123.txt文檔5.2軟件設計主要原理5.2.1采用的主要數(shù)據(jù)結(jié)構(gòu)類型該程序采用的是結(jié)構(gòu)體類型來處理學生的所有基本信息,如下所述。包含的庫函數(shù)有:#include"stdafx.h”#include<stdlib.h>#include"fstream.h”#include<iostream.h>#include<conio.h>包含的函數(shù)有:int&ReturnSchool(){returnschool;}int&ReturnScore(){returnscore;}int&ReturnMark(){returnmark;}voidSetRecord_3(inti);voidSetRecord_5(inti);voidoutput();School();voidInnput();intSumScoreSchool(intnumber);intMSumScoreSchool(intnumber);intFSumScoreSchool(intnumber);voidOutPut(void);voidSumOutPut(void);voidMSumOutPut(void);voidsave_to_file();voidFSumOutPut(void);voidget(char*c);voidpaixuWhole(void);voidpaixuWholeM(void);voidpaixuWholeF(void);voidItemSearch(intSchoolNumber,intItemNumber);voidSchoolSearch(intItemNumber);voidqd();voidexit();voidmenu();voidmain();5.2.2各個模塊之間的調(diào)用關(guān)系和數(shù)據(jù)儲存格式說明各函數(shù)模塊之間的調(diào)用關(guān)系主要是主函數(shù)調(diào)用所有其它功能函數(shù)和菜單函數(shù),并利用循環(huán)使各個功能函數(shù)運行完畢后都會回到菜單。該程序的數(shù)據(jù)以txt文件儲存。軟件的設計過程6.1各軟件模塊之間的調(diào)用方式程序中各個模塊之間的調(diào)用方式主要是通過文件的包含和函數(shù)的調(diào)用實現(xiàn)的,用文件的形式把各個函數(shù)分開,再用頭文件把它們包含進來,使用主函數(shù)進行調(diào)用。6.2軟件中實現(xiàn)各項功能的函數(shù)與程序代碼//000.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include<stdlib.h>//控制顏色#include"fstream.h"#include<iostream.h>#include<conio.h>classRecordZ/最小的類,用來記錄得獎者的信息{friendclassSubject;friendclassRankList;private:intschool;intscore;intmark;public:Record(ints=-1,intsc=0,intm=0):school(s),score(sc),mark(m){}int&ReturnSchool(){returnschool;}int&ReturnScore(){returnscore;}int&ReturnMark(){returnmark;}};classSubject//它嵌套Record類,正好組成一個項目{friendclassRankList;public:RecordRec[5];voidSetRecord_3(inti);voidSetRecord_5(inti);};classSchool//主要為了輸出的方便{friendclassRankList;intWholeScoreM,WholeScoreF,WholeScore;voidoutput(){cout<<WholeScoreM<<"\t"<<WholeScoreF<<"\t"<<WholeScore<<endl;}School(){WholeScoreM=0;WholeScoreF=0;WholeScore=0;}};classRankList{//他嵌套Subject類,正好組成所有的項目private:SubjectSubject[5];public:Schoolschool[5];voidInput();intSumScoreSchool(intnumber);//.按照學院代碼查找學院總分intMSumScoreSchool(intnumber);//按照學院代碼查找學院男子團體總分intFSumScoreSchool(intnumber);//按照學院代碼查找學院女子團體總分voidOutPut(void);//按學院代碼輸出所有的總分voidSumOutPut(void);//輸出所有學院總分排名voidMSumOutPut(void);//輸出學院男子總分排名voidsave_to_file();//存入文件voidFSumOutPut(void);//輸出學院女子總分排名voidget(char*c);//從文件中讀取數(shù)據(jù)voidpaixuWhole(void);voidpaixuWholeM(void);voidpaixuWholeF(void);voidItemSearch(intSchoolNumber,intItemNumber);//按學院編號查詢學院某個項目的情況voidSchoolSearch(intItemNumber);//可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W院voidRankList::get(char*c){fstreamfin(c,ios::in|ios::out);if(!fin){cerr<<"open"<<c<<"error!"<<endl;exit(1);}for(intk=0;k<3;k++)for(intj=0;j<5;j++){fin>>Subject[k].Rec[j].ReturnSchool();fin>>Subject[k].Rec[j].ReturnScore();fin>>Subject[k].Rec[j].ReturnMark();}for(k=3;k<5;k++)for(intj=0;j<3;j++){fin>>Subject[k].Rec[j].ReturnSchool();fin>>Subject[k].Rec[j].ReturnScore();fin>>Subject[k].Rec[j].ReturnMark();}_getch();}voidRankList::save_to_file(){ofstreamoutfile("123.txt”,ios::out);if(!outfile){cerr<<"openerror!"<<endl;exit(1);}for(intk=0;k<3;k++)for(intj=0;j<5;j++){outfile<<Subject[k].Rec[j].ReturnSchool()<<”"<<Subject[k].Rec[j].ReturnScore()<<""<<Subject[k].Rec[j].ReturnMark()<<endl;for(k=3;k<5;k++)for(intj=0;j<3;j++){outfile<<Subject[k].Rec[j].ReturnSchool()<<”"<<Subject[k].Rec[j].ReturnScore()<<""<<Subject[k].Rec[j].ReturnMark()<<endl;}outfile.close();_getch();}voidRankList::ItemSearch(intSchoolNumber,intItemNumber){inttemp=0;if(ItemNumber<3){for(inti=0;i<5;i++){if(Subject[ItemNumber].Rec[i].ReturnSchool()==SchoolNumber){cout<<"第"<<SchoolNumber<<”學院在男子項目"<<ItemNumber<<”取得"<<i+1<<"名"<<endl;temp++;}}}else{for(inti=0;i<3;i++){if(Subject[ItemNumber].Rec[i].ReturnSchool()==SchoolNumber){cout<<"第"<<SchoolNumber<<”學院在女子項目"<<ItemNumber<<”取得"<<i+1<<"名"<<endl;temp++;}}}if(temp==0)cout<<"第"<<SchoolNumber<<”學院在項目”<<ItemNumber<<”沒有取得名次"<<endl;_getch();voidRankList::SchoolSearch(intItemNumber){if(ItemNumber<3){for(inti=0;i<5;i++){cout<<"取得男子項目第"<<i+1<<"名的學院是"<<Subject[ItemNumber].Rec[i].ReturnSchool()<<endl;}}else{for(inti=0;i<3;i++){cout<<"取得女子項目第"<<i+1<<"名的學院是"<<Subject[ItemNumber].Rec[i].ReturnSchool()<<endl;}}_getch();voidSubject::SetRecord_3(inti)//為取前三名的項目建立記錄{inta,j;cout<<"請輸入第"<<i+1<<"名的學院,成績"<<endl;cout<<"學院:";cin>>a;boolTag=true;while(Tag){if(a>5){cout<<"輸入錯誤!只有5個學院!"<<endl;cout<<"學院:";cin>>a;}elseTag=false;}Rec[i].school=a;cout<<"成績:”;cin>>a;Rec[i].score=a;boolflag=true;if(i>0){while(flag){for(j=0;j<i;j++){if(Rec[i].score>Rec[j].score){cout<<"輸入錯誤!重新輸入!"<<endl;cin>>a;Rec[i].score=a;}elseflag=false;}}}switch(i){case0:Rec[i].mark=10;break;case1:Rec[i].mark=5;break;case2:Rec[i].mark=2;break;}_getch();}voidSubject::SetRecord_5(inti)//為取前五名的項目建立記錄{inta;cout<<"請輸入第"<<i+1<<"名的學院,成績"<<endl;cout<<"學院:";cin>>a;boolTag=true;while(Tag){if(a>5){cout<<"輸入錯誤!只有5個學院!"<<endl;cout<<"學院:";cin>>a;elseTag=false;}Rec[i].school=a;cout<<"成績:";cin>>a;Rec[i].score=a;boolflag=true;if(i>0){while(flag){for(intj=0;j<i;j++){if(Rec[i].score>Rec[j].score){cout<<"輸入錯誤!重新輸入!"<<endl;cout<<"成績:";cin>>a;Rec[i].score=a;}elseflag=false;}}}switch(i){case0:Rec[i].mark=10;break;case1:Rec[i].mark=5;break;case2:Rec[i].mark=2;break;case3:Rec[i].mark=0;break;case4:Rec[i].mark=0;break;}_getch();}voidRankList::Input(){inti,j;for(i=0;i<3;i++){cout<<"項目"<<i+1<<"(男子,取前五名)"<<endl;for(j=0;j<5;j++){Subject[i].SetRecord_5(j);}}for(i=3;i<5;i++){cout<<"項目"<<i+1<<"(女子,取前三名)"<<endl;for(j=0;j<3;j++){Subject[i].SetRecord_3(j);}}_getch();}intRankList::SumScoreSchool(intnumber)//查找學院總分{intgole=MSumScoreSchool(number)+FSumScoreSchool(number);school[number].WholeScore=gole;returngole;}intRankList::MSumScoreSchool(intnumber)intWholeScore=0,i,j;for(i=0;i<3;i++){for(j=0;j<5;j++)if(Subject[i].Rec[j].ReturnSchool()==number){WholeScore=WholeScore+Subject[i].Rec[j].ReturnMark();}}school[number].WholeScoreM=WholeScore;returnWholeScore;_getch();}intRankList::FSumScoreSchool(intnumber){intWholeScore=0,i,j;for(i=3;i<5;i++){if(Subject[i].Rec[j].ReturnSchool()==number){WholeScore=WholeScore+Subject[i].Rec[j].ReturnMark();}}school[number].WholeScoreF=WholeScore;returnWholeScore;_getch();}voidRankList::paixuWhole(){intbound,j,t;Schoolo;bound=4;while(bound!=0){t=0;for(j=0;j<=bound;j++)if(school[j].WholeScore<school[j+1].WholeScore){o=school[j];school[j]=school[j+1];school[j+1]=o;t=j;}bound=t;}_getch();}voidRankList::paixuWholeM(){intbound,j,t;Schoolo;bound=4;while(bound!=0){t=0;for(j=0;j<=bound;j++)if(school[j].WholeScoreM<school[j+1].WholeScoreM){o=school[j];school[j]=school[j+1];school[j+1]=o;t=j;}bound=t;}_getch();}voidRankList::paixuWholeF(){intbound,j,t;Schoolo;bound=4;while(bound!=0){t=0;for(j=0;j<=bound;j++)if(school[j].WholeScoreF<school[j+1].WholeScoreF){o=school[j];school[j]=school[j+1];school[j+1]=o;t=j;}bound=t;}_getch();}voidRankList::OutPut(void){for(inti=0;i<5;i++){SumScoreSchool(i);MSumScoreSchool(i);FSumScoreSchool(i);cout<<"學院"<<""<<"男團總分"<<""<<"女團總分"<<""<<"總分"<<endl;for(i=0;i<5;i++){cout<<i<<"\t";school[i].output();}_getch();}voidRankList::SumOutPut(void){inti,k;for(i=0;i<5;i++){SumScoreSchool(i);MSumScoreSchool(i);FSumScoreSchool(i);}paixuWhole();cout<<"學院總分排名為(根據(jù)學院代碼)"<<endl;cout<<"學院"<<""<<"男團總分"<<""<<"女團總分"<<""<<"總分"<<endl;for(k=0;k<5;k++){cout<<k<<"\t";school[k].output();}_getch();}voidRankList::MSumOutPut(void){inti,k;for(i=0;i<5;i++){SumScoreSchool(i);MSumScoreSchool(i);FSumScoreSchool(i);}paixuWholeM();cout<<"學院男子團體總分排名為(根據(jù)學院代碼)"<<endl;for(k=0;k<5;k++){cout<<k<<"\t";school[k].output();}_getch();}voidRankList::FSumOutPut(void){inti,k;for(i=0;i<5;i++){SumScoreSchool(i);MSumScoreSchool(i);FSumScoreSchool(i);}paixuWholeF();cout<<"學院女子團體總分排名為(根據(jù)學院代碼)"<<endl;for(k=0;k<5;k++){cout<<k<<"\t";school[k].output();}_getch();voidexit()system("CLS");inti,b;for(i=0;iv=2;i++){system("COLORB");system("CLS");cout?"\n\n"?endl?endl;cout?"\t\tl"?endl;cout?"\t\t☆☆☆☆ 1 ☆☆☆☆"?endl;cout?"\t\t☆歡迎 1 下次☆"?endl;cout?"\t\t☆再使用 1 本系統(tǒng)☆"vvendl;cout?"\t\t☆ 1 A"?endl;cout?"\t\t☆ 南昌航空大學軟件學院 ☆"vvendl;cout?"\t\t☆ 設計者:許譜龍 ☆"?endl;cout?"\t\t☆ 2011年 ☆"vvendl;cout?"\t\t☆ 02月 ☆"vvendl;
cout?"\t\t ☆28日 ☆"vvendl;cout?"\t\t ☆☆"vvendl;cout?"\t\t☆ ☆"vvendl;cout?"\t\t☆☆"vvendl;cout?"\t\t☆"vvendl;for(b=l;b<=20000000;b++){}system("CLS");system("COLORA");cout?"\n\n"?endl?endl;cout?"\t\tl"?endl;cout?"\t\t★★★★★ 1 ★★★★★"?endl;cout?"\t\t★歡迎1 下次★"?endl;cout?"\t\t★再使用1 本系統(tǒng)★"?endl;cout?"\t\t★1★"?endl;cout?"\t\t★南昌航空大學軟件學院★"?endl;cout?"\t\t ★設計者:許譜龍★"?endl;cout?"\t\t ★2011年★"?endl;cout?"\t\t ★02月 -★n?endl;cout?"\t\t28日★"?endl;cout?"\t\t ★ ★"?endl;cout?"\t\t ★ ★"?endl:cout?"\t\tcout?"\t\tcout?"\t\tcout?"\t\tfor(b=l;b<=20000000;b++){}cout?"\n\n\t\t\t\t版權(quán)所有,}exit(O);}voidmenu(){system("CLS");system(HCOLORBH);inti;for(i=0;i<=10;i++)cout?endl;★ ★"?endl;★★"?endl;★★"?endl;★"?endl;盜版必究!"?endl;cout<<"\t1.按學院編號查詢學院某個項目的情況:"<<endl;cout<<"\t2.可以按項目編號查詢?nèi)〉那拔迕娜耍?<<endl;cout<<"\t3.鍵盤輸入:"<<endl;cout<<"\t4.學院總分排名:"<<endl;cout<<"\t5.男子總分排名:"<<endl;cout<<"\t6.女子總分排名:"<<endl;cout<<"\t7.按學院代碼輸出所有的部分:"<<endl;cout<<"\t8.存入文件:"<<endl;cout<<"\t9.從文件中讀取數(shù)據(jù):"<<endl;cout<<"\t10.退出系統(tǒng) :"<<endl<<endl<<endl;cout<<"\t請選擇要實現(xiàn)的功能:";}voidmain(){intSN,IN;Subjecta;RankListb;while(1)system("cls");intsel;menu();cin>>sel;switch(sel){case1:cout<<"請輸入學院和項目編號:"<<endl;cin>>SN>>IN;b.ItemSearch(SN,IN);break;case2:cout<<"請輸入項目編號:"<<endl;cin>>IN;b.SchoolSearch(IN);break;case3:b.Input();break;case4:b.paixuWhole();b.SumOutPut();break;case5:b.paixuWholeM();b.MSumOutPut();break;case6:b.paixuWholeF();b.FSumOutPut();break;case7:b.OutPut();break;case8:b.save_to_file();break;case9:charc[20];cout<<"請輸入文件名:"<<endl;cin>>c;b.get(c);break;case10:exit();break;default:cout<<"無效的命令!"<<endl;_getch();break;}}設計結(jié)果與分析在此,我們將把軟件使用過程寫出,并對此程序的一些細節(jié)和具體的操作方法加以說明,說明如下:1、將軟件進行初始化。2進入程序,界面如圖:o—o?oo?00Qif cfcpGGG。。。申巾 $GGGOOG# #學生運動會成績統(tǒng)計##GO?OOG$ $ GGGOOG GOGO O*O—★☆t *O ? 學生運動會成績統(tǒng)計 的名目五R的名目五R項前簌某取^窘一珊娜詢號 鮑物■[查編父務名名
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度搬家搬運服務合同范本2篇
- 二零二五版導游人員旅游活動組織聘用合同3篇
- 二零二五年月子中心產(chǎn)后康復與營養(yǎng)支持服務合同3篇
- 二零二五版建筑工程施工監(jiān)理簡易合同規(guī)范6篇
- 二零二五年環(huán)衛(wèi)設施投資與管理服務合同樣本3篇
- 二零二五版股東股權(quán)退出合同范本:權(quán)益分配與風險控制3篇
- 二零二五版互聯(lián)網(wǎng)金融借款合同規(guī)范模板3篇
- 二零二五版政府機關(guān)辦公用品批量采購合同3篇
- 二零二五年度高端房地產(chǎn)項目轉(zhuǎn)讓合同書3篇
- 2024石材家裝工程承包合同-高端定制家居服務協(xié)議3篇
- 深圳2024-2025學年度四年級第一學期期末數(shù)學試題
- 中考語文復習說話要得體
- 《工商業(yè)儲能柜技術(shù)規(guī)范》
- 罌粟湯_朱氏集驗方卷十_方劑加減變化匯總
- 《我相信---楊培安》歌詞-勵志歌曲
- 做一個幸福班主任
- 初中班主任案例分析4篇
- 公司7s管理組織實施方案
- Q∕GDW 12147-2021 電網(wǎng)智能業(yè)務終端接入規(guī)范
- 仁愛英語單詞默寫本(全六冊)英譯漢
- 公園廣場綠地文化設施維修改造工程施工部署及進度計劃
評論
0/150
提交評論