版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《校際運動會管理系統(tǒng)》程序設計根底課程設計報告二OO八年七月二十九日目錄TOC\o"1-2"\h\z1.課程設計目的22.課程設計題目描述和要求23.課程設計報告內容33.1sport類(lei)43.2主類及其子類44.算法描述45.運算結果46.源程序及流程圖57.課程設計總結201:課程設計的目的本程序主要學習類的使用,以及子類的調用,了解函數體的調用case語句使用,for循環(huán),函數的調用,進一步加深對語言程序設計的了解,解決一些簡單的程序應用,綜合實現(xiàn)程序的利用。2:校際運動會管理系統(tǒng)2:問題描述〔1〕初始化輸入:N-參賽學校總數,M-男子競賽工程數,W-女子競賽工程數;各工程名次取法有如下幾種:取前5名:第1名得7分,第2名得5分,第3名得3分,第4名得2分,第5名得1分;取前三名:第一名得5分,第二名得3分,第三名得2分;用戶自定義:各名次權值有用戶定義?!?〕由程序提醒用戶填寫比賽結果,輸入各工程獲獎運發(fā)動的信息?!?〕所有信息記錄完畢后,用戶可以查詢各個學校的比賽成績,生成團體總分報表,查看參賽學校信息和比賽工程信息等。3:課程設計的根本要求:根據規(guī)定的題目,編寫程序設計的說明〔程序設計文當〕,程序設計說明包括以下內容:設計簡要說明程序運行的軟硬件環(huán)境程序的組成模塊及每個模塊的根本功能每個模塊的流程圖程序的使用方法源程序的清單總結與體會3.課程設計報告內容3.1第一個程序有一個Point類,該類共有12個函數3.2第一個程序的類中各個函數作用分別為:voidMenu();//顯示選單voidSet1();//設置競賽工程總數voidSet2();//設置某工程名次的取法及每一名次的分值voidFind();//查詢功能voidSet3();//設置競賽工程信息voidPut();//打印競賽工程信息voidSet4();//為某個競賽工程設定比賽結果信息voidList();//按學校打印成績voidGetReport();//生成報表voidQuit();//退出功能4.算法描述該程序主要采用類的結構,及其應用,公有10函數,在函數中實現(xiàn)嵌套,連接,指針的傳遞,數組等簡單的程序結構。5.運算結果該程序運行結果及其程序逐步實現(xiàn)為以下列圖片顯示6.源程序#include<iostream>#include<string>usingnamespacestd;classSport//{public:voidMenu();//顯示選單voidSet1();//設置競賽工程總數voidSet2();//設置某工程名次的取法及每一名次的分值voidFind();//查詢功能voidSet3();//設置競賽工程信息voidPut();//打印競賽工程信息voidSet4();//為某個競賽工程設定比賽結果信息voidList();//按學校打印成績voidGetReport();//生成報表voidQuit();//退出功能private: stringname;//學校名稱stringsnumber;//學校編號 stringmtname;//男子競賽工程類型 stringmtnumber;//男子競賽工程編號 stringftname;//女子競賽工程類型 stringftnumber;//女子競賽工程編號 intnumber;//得分};strings;//定義字符型全局變量intn;//定義整型全局變量Sportt[100],tt[100];//定義結構體數組intt1[100];intn1,n2,n3;voidSport::Menu()//顯示選單{ cout<<"\n**********"<<"選單"<<"**********"<<endl; cout<<"\n" <<"設置競賽工程總數<1>\t" <<"設置競賽工程名次<2>\n" <<"設置競賽工程信息<3>\t" <<"設定比賽結果信息<4>\n" <<"查詢<5>\t" <<"按學校打印成績<6>\n" <<"打印競賽工程信息<7>\t" <<"生成報表<8>\n" <<"退出<Q>\n"; cout<<endl; cout<<"******************************"<<endl; cout<<endl; cout<<"請您輸入相應的字母:";}voidSport::Set1()//設置競賽工程總數{cout<<"請輸入男子競賽工程總數(0<總工程數<8):";cin>>n1; cout<<endl; cout<<"請輸入女子競賽工程總數(0<總工程數<8):";cin>>n2; cout<<endl; cout<<"請輸入參加運動會的學??倲?0<學校總數<8):"; cin>>n3; for(inti=0;i<n3;i++) { t[i].snumber=i+1;cout<<"\n請輸入編號為"<<i+1<<"的學校名稱:";cin>>tt[i].name; } cout<<endl; cout<<"**********輸入完畢!***********"<<endl;Sportsport; sport.Menu();//調用Menu函數,顯示選單}voidSport::Set2()//設置某工程名次的取法及每一名次的分值{charch; inti,p; for(inti1=0;i1<10;i1++) { cout<<endl; stringover;//定義字符串變量,用于退出 cout<<"退出請輸入over,繼續(xù)請輸入c,然后按相應的字母查詢!"<<endl; cin>>over; if(over=="over")break; cout<<"\n請選擇編號為"<<i1+1<<"的競賽工程取名次類型\n(0:取前5名;1:取前3名;2:用戶自定義):"; cin>>ch; cout<<endl; switch(ch) { case'0':/*取前5名*/ { t1[0]=7; t1[1]=5; t1[2]=3; t1[3]=2; t1[4]=1; break; } case'1':/*取前3名*/ { for(inti=0;i<3;i++) { t1[0]=5; t1[1]=3; t1[2]=2; } break; } case'2':/*用戶自定義類型*/ { cout<<"退出請輸入over,繼續(xù)請輸入c,然后按相應的字母查詢!"<<endl; for(i=0;i<10;i++) { cout<<endl; stringover;//定義字符串變量,用于退出 cin>>over; if(over=="over")break; cout<<"\n請輸入該工程第"<<i+1<<"名的分值:"<<endl; cin>>p; if(p<=0) { cout<<"\n輸入有誤,分值應大于0!"<<endl; } } }break; default:/*錯誤的輸入*/ { cout<<"\n錯誤的選擇!"; break; } } }/*Sportsport; sport.Menu();//調用Menu函數,顯示選單*/}voidSport::Find()//查詢功能{ cout<<"退出請輸入over,繼續(xù)請輸入c,然后按相應的字母查詢!"<<endl; for(inti=0;i<10;i++) { cout<<endl; stringover;//定義字符串變量,用于退出 cin>>over; if(over=="over")break; cout<<"請輸入你的選擇(參賽學校信息<n>,比賽工程信息<h>,學校比賽成績<t>):"; chars; cin>>s; switch(s) { case'n': { cout<<"請輸入學校的名稱:"; stringfname; cin>>fname; for(inti=0;i<n3;i++) { if(fname==tt[i].name) { cout<<"\n學校編號:"<<t[i].snumber<<endl; cout<<"學校名稱:"<<tt[i].name<<endl; cout<<"男子工程編號:"<<t[i].mtnumber<<endl;/*工程號*/ cout<<"男子工程名稱:"<<t[i].mtname<<endl;/*工程名稱*/ cout<<"女子工程編號:"<<t[i].ftnumber<<endl;/*工程號*/ cout<<"女子工程名稱:"<<t[i].ftname<<endl;/*工程名稱*/ break; } } if(i==n3)cout<<"\n本次查詢完畢,沒有查詢到此人的相關信息!!!"<<endl; }break; case'h': { cout<<"請選擇:(1-男2-女)"<<endl; if(i==1) { cout<<"請輸入比賽工程的名稱:"; stringfname; cin>>fname; for(inti=0;i<n1;i++) { if(fname==t[i].mtname) { cout<<"男子工程編號:"<<t[i].mtnumber<<endl;/*工程號*/ cout<<"男子工程名稱:"<<t[i].mtname<<endl;/*工程名稱*/ cout<<endl; break; } } if(i==n1)cout<<"\n本次查詢完畢,沒有查詢到此人的相關信息!!!"<<endl; } if(i==2) { cout<<"請輸入比賽工程的名稱:"; stringffname; cin>>ffname; for(inti=0;i<n2;i++) { if(ffname==t[i].ftname) { cout<<"女子工程編號:"<<t[i].ftnumber<<endl;/*工程號*/ cout<<"女子工程名稱:"<<t[i].ftname<<endl;/*工程名稱*/ cout<<endl; break; } } if(i==n2)cout<<"\n本次查詢完畢,沒有查詢到此人的相關信息!!!"<<endl; } }break; case't': { cout<<"請輸入學校的名稱:"; stringfname; cin>>fname; for(inti=0;i<n3;i++) { if(fname==tt[i].name) { cout<<endl; break; } } if(i==n3)cout<<"\n本次查詢完畢,沒有查詢到此人的相關信息!!!"<<endl; }break; default: { cout<<"\n輸入字母錯誤,請重新輸入!!!"<<endl;//錯誤提示 break; }break; } } Sportsport; sport.Menu();//調用Menu函數,顯示選單 */}voidSport::Set3()//設置競賽工程信息{inti=0; for(i=0;i<10;i++) { cout<<endl; stringover;//定義字符串變量,用于退出 cout<<"退出請輸入over,繼續(xù)請輸入c,然后按相應的字母查詢!"<<endl; cin>>over; if(over=="over")break;cout<<"\n請選擇男子或女子工程編號(1:男2:女):";/*工程類型:男子或女子工程*/ charch; cin>>ch; cout<<endl; switch(ch) { case'1': { for(inti=0;i<n1;i++) {t[i].mtnumber=i+1;cout<<"\n請輸入男子工程編號為"<<i+1<<"的競賽工程名稱:";/*工程名稱*/ cin>>t[i].mtname; } }break; case'2': { for(inti=0;i<n2;i++) {t[i].ftnumber=i+1;cout<<"\n請輸入女子工程編號為"<<i+1<<"的競賽工程名稱:";/*工程名稱*/ cin>>t[i].ftname; } }break; default: {cout<<"\n輸入字母錯誤,請重新輸入!!!";/*工程名稱*/ }break; } }Sportsport; sport.Menu();//調用Menu函數,顯示選單*/}voidSport::Put()//打印競賽工程信息{ inti; cout<<"\n共有"<<n3<<"個學校參賽"<<endl; for(i=0;i<n3;i++) { cout<<"\n學校編號:"<<t[i].snumber<<endl; cout<<"學校名稱:"<<tt[i].name<<endl; } cout<<"\n您輸入的比賽工程信息如下:"<<endl; for(i=0;i<n1;i++) { cout<<"\n男子工程編號:"<<t[i].mtnumber<<endl; cout<<"男子工程名稱:"<<t[i].mtname<<endl; } for(i=0;i<n2;i++) { cout<<"\n女子工程編號:"<<t[i].ftnumber<<endl; cout<<"女子工程名稱:"<<t[i].ftname<<endl; }Sportsport; sport.Menu();//調用Menu函數,顯示選單*/}voidSport::Set4()//為某個競賽工程設定比賽結果信息{inti=0,j=0; cout<<"\n請選擇男子或女子工程(1:男2:女):"; intch; cin>>ch; cout<<endl; switch(ch) { case1: { for(i=0;i<n2;i++) { cout<<"\n填寫男子工程"<<t[i].mtname<<"的比賽結果:"<<endl; Sportsport; sport.Set2(); cout<<"\n輸入獲得第"<<i+1<<"名的學生信息:"<<endl;/*工程編號*/ t[i].number=t1[i];//得分 cout<<"\n姓名:"<<endl;/*姓名*/ cin>>t[i].name; cout<<"\n學校編號:";/*學校編號檢查編號合法性*/ cin>>t[i].snumber; } }break; case2: { for(i=0;i<n3;i++) { cout<<"\n填寫女子工程"<<t[i].ftname<<"的比賽結果:"<<endl Sportsport; sport.Set2(); cout<<"\n輸入獲得第"<<i+1<<"名的學生信息:"<<endl;/*工程編號*/ t[i].number=t1[i];//得分 cout<<"\n姓名:"<<endl;/*姓名*/ cin>>t[i].name; cout<<"\n學校編號:";/*學校編號檢查編號合法性*/ cin>>t[i].snumber; } }break; default: {cout<<"\n輸入字母錯誤,請重新輸入!!!"; break; } }Sportsport; sport.Menu();//調用Menu函數,顯示選單}voidSport::List()//按學校打印成績{ if(n1<=0)cout<<"\n沒有學校參加比賽!"<<endl; for(inti=0;i<n1;i++) { cout<<"\n學校編號:"<<t[i].snumber<<endl; cout<<"學校名稱:"<<t[i].name<<endl; cout<<"男子團體成績:"<<t[i].number<<endl;/*工程號*/ cout<<"女子團體成績:"<<t[i].number<<endl;/*工程號*/ } cout<<"**********輸出完畢!***********"<<endl;Sportsport; sport.Menu();//調用Menu函數,顯示選單}voidSport::GetReport()//生成報表{inti,manTotal=0,womTotal=0,Total=0;//男子團體總分,女子團體總分,團體總分 cout<<"\n團體總分報表:"<<endl; for(i=0;i<n3;i++) { if(t[i].name==tt[i].name)//同一學校 { manTotal=manTotal+t1[i];womTotal=womTotal+t1[i]; } } Total+=manTotal+womTotal; cout<<"男子團體總分:"<<manTotal<<endl; cout<<"女子團體總分:"<<womTotal<<endl; cout<<"團體總分:"<<Total<<endl;}voidSport::Quit()//退出功能{cout<<"*********操作完畢,謝謝使用!***********"<<endl;}intmain()//根據選單的選項調用各函數,并完成相應的功能{ cout<<"\n" <<"******************************\n" <<"*歡送您使用這個校際運動會管理系統(tǒng)!*\n" <<"*這是一個簡單的校際運動會管理程序!*\n" <<"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度門臉房屋租賃與物業(yè)管理一體化合同4篇
- 2025年度廠區(qū)綠化景觀照明系統(tǒng)設計施工合同4篇
- 二零二五版內燃機燃油噴射系統(tǒng)升級改造合同
- 2025年度美團外賣外賣配送服務質量評價體系合同3篇
- 2025版美甲店員工招聘與選拔合同4篇
- 2025年度個人健康體檢借款合同范本及體檢服務內容4篇
- 2025年度車輛租賃合同風險評估與管理8篇
- 二零二五年度倉儲物流中心打蠟與清潔合同4篇
- 二零二五年度南匯工商行政管理志編纂與行業(yè)發(fā)展合同3篇
- 個人借款合同范本2024版版B版
- 圖像識別領域自適應技術-洞察分析
- 個體戶店鋪租賃合同
- 禮盒業(yè)務銷售方案
- 二十屆三中全會精神學習試題及答案(100題)
- 小學五年級英語閱讀理解(帶答案)
- 仁愛版初中英語單詞(按字母順序排版)
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項目可行性研究報告編制標準
- 新概念英語第二冊考評試卷含答案(第49-56課)
- 【奧運會獎牌榜預測建模實證探析12000字(論文)】
- 多層工業(yè)廠房主體結構施工方案鋼筋混凝土結構
- 救生艇筏、救助艇基本知識課件
評論
0/150
提交評論