運動會標(biāo)準(zhǔn)管理系統(tǒng)專業(yè)課程設(shè)計方案報告_第1頁
運動會標(biāo)準(zhǔn)管理系統(tǒng)專業(yè)課程設(shè)計方案報告_第2頁
運動會標(biāo)準(zhǔn)管理系統(tǒng)專業(yè)課程設(shè)計方案報告_第3頁
運動會標(biāo)準(zhǔn)管理系統(tǒng)專業(yè)課程設(shè)計方案報告_第4頁
運動會標(biāo)準(zhǔn)管理系統(tǒng)專業(yè)課程設(shè)計方案報告_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄一課程設(shè)計目標(biāo).....................................1二課程設(shè)計任務(wù)和內(nèi)容..............................1三系統(tǒng)設(shè)計方案....................................23.1系統(tǒng)具體描述..................................23.1.1系統(tǒng)設(shè)計背景.............................23.1.2系統(tǒng)設(shè)計具體信息.........................23.2功效模塊劃分..................................23.2.1功效模塊描述.............................23.2.2輸入項...................................43.2.3輸出項...................................4四系統(tǒng)實現(xiàn)和測試...................................44.1主菜單實現(xiàn)....................................54.1.1步驟圖...................................54.1.2代碼.....................................64.1.3主菜單測試...............................74.2查詢模塊實現(xiàn)..................................74.2.1步驟圖...................................74.2.2代碼.....................................84.2.3模塊測試.................................114.3顯示數(shù)據(jù)模塊實現(xiàn)..............................124.3.1步驟圖...................................124.3.2代碼.....................................134.3.3模塊測試.................................154.4文件輸出模塊..................................164.4.1代碼.....................................164.4.2模塊測試.................................174.5顯示排名模塊..................................174.5.1步驟圖...................................174.5.2代碼.....................................184.5.3模塊測試.................................19五程序調(diào)試及錯誤....................................19六參考文件..........................................20七附錄..............................................20

一、課程設(shè)計目標(biāo)學(xué)習(xí)綜合利用C高級語言課程和其它先修課程知識,提升分析和處理實際問題能力,深入鞏固、加深和拓寬所學(xué)知識;深入加強結(jié)構(gòu)化程序設(shè)計思想,加深對高級語言基礎(chǔ)語言要素和控制結(jié)構(gòu)了解。全方面系統(tǒng)學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)概念、基礎(chǔ)語法和編程方法;獨立完成有一定工作量程序設(shè)計任務(wù),同時強調(diào)好程序設(shè)計風(fēng)格。掌握程序設(shè)計中常見算法和C語言編程技巧和上機調(diào)試程序方法。在參與一系列子項目標(biāo)實踐過程中,提升怎樣綜合利用所學(xué)知識處理實際問題能力,和取得相關(guān)項目管理和團體合作等眾多方面具體經(jīng)驗。二、課程設(shè)計任務(wù)和內(nèi)容根據(jù)以下要求,利用C++語言,編寫一套可用較為完善校際運動會管理系統(tǒng)軟件(兩人分模塊合作)要求:初始化輸入:學(xué)??倲?shù)及名字,運動員總數(shù)及運動員基礎(chǔ)信息,運動會項目(為方便測試暫定為男女分別為4項,以項目一,項目二,項目三,項目四代表)各項目名次取法有以下多個:取前五名:第一名7分,第二名5分,第三名3分,第四名2分,第五名1分;取前三名:第一名5分,第二名3分,第三名2分;用戶自定義。功效要求:(1)由程序提醒用戶填寫比賽接結(jié)果,輸入各項目參賽運動員運動員信息;(2)信息錄入完成后由系統(tǒng)為運動員、各個學(xué)校進(jìn)行排名;(3)全部信息統(tǒng)計完成后,用戶能夠查詢各個學(xué)校比賽成成績和排名,運動員比賽成績和排名;(4)最終還能對比賽信息輸出。注:我和網(wǎng)絡(luò)工程10班黃科榮同學(xué)合作,共同完成此次有相關(guān)校際運動會管理系統(tǒng)程序設(shè)計。我負(fù)責(zé)完成查詢模塊、數(shù)據(jù)顯示模塊、文件輸出模塊實現(xiàn)和顯示排名模塊。系統(tǒng)設(shè)計方案3.1系統(tǒng)具體描述3.1.1系統(tǒng)設(shè)計背景伴隨中國教育改革不停深入和大學(xué)生普及,大學(xué)里每十二個月全部會舉行運動會,首先是為了激勵大學(xué)生主動參與體育運動,其次也是培養(yǎng)國家體育人才。在各個學(xué)校之間比賽時,需要對運動會信息進(jìn)行整理,它包含到數(shù)據(jù)量之大,用單純手寫統(tǒng)計已經(jīng)不能滿足用戶需求,利用運動會管理系統(tǒng)立即了解各個步驟中信息變更,有利于提升管理效率。本項目作為《c++課程設(shè)計》課程訓(xùn)練項目提出,目標(biāo)是為了提升同學(xué)們系統(tǒng)開發(fā),則提升大家實踐能力。所以開發(fā)一個符合本身運動會實際情況工作平臺是十分必需。3.1.2系統(tǒng)設(shè)計具體信息系統(tǒng)使用對象定為由太原科技大學(xué),太原理工大學(xué),山西大學(xué),中北大學(xué)聯(lián)合舉行校際運動會。系統(tǒng)需要建立兩個結(jié)構(gòu)體學(xué)校和運動員。學(xué)校應(yīng)該包含學(xué)校名,學(xué)校代碼,學(xué)校總分和學(xué)校排名等信息;運動員則要包含姓名,性別,學(xué)校,比賽成績,比賽名次和比賽成績等信息。系統(tǒng)就是要實現(xiàn)學(xué)校和運動員基礎(chǔ)信息輸入和輸出,還有查詢,最終再生成報表。3.2功效模塊劃分3.2.1功效模塊描述依據(jù)題目標(biāo)要求及系統(tǒng)功效能夠?qū)⑾到y(tǒng)分為學(xué)校信息錄入,學(xué)生信息錄入,成績錄入,查詢,顯示數(shù)據(jù),輸出文件,顯示排名七個模塊。各個模塊基礎(chǔ)介紹以下:學(xué)校信息錄入模塊:輸入學(xué)??倲?shù),對學(xué)校名字,代碼,成績,排名等信息進(jìn)行初始化。學(xué)生信息錄入模塊:輸入學(xué)生總數(shù),對運動員姓名,性別,學(xué)校,成績,排名,得分等信息進(jìn)行計算。成績錄入模塊:錄入運動員比賽成績由系統(tǒng)對運動員進(jìn)行排名和積分。查詢模塊:用戶能夠選擇運動員,學(xué)校,項目三種查詢方法。顯示數(shù)據(jù)模塊:顯示學(xué)校信息,運動員信息和得分規(guī)則。輸出文件模塊:將文件存放。顯示排名模塊:顯示學(xué)校排名和運動員排名。注:我關(guān)鍵負(fù)責(zé)查詢,顯示數(shù)據(jù),輸出文件,顯示排名四個模塊相關(guān)內(nèi)容,黃科榮同學(xué)負(fù)責(zé)編寫學(xué)校信息錄入,學(xué)生信息錄入,成績錄入三個模塊相關(guān)內(nèi)容,最終整體代碼由兩個人組合完成。校際運動會管理系統(tǒng)輸出文件顯示數(shù)據(jù)信息查詢輸出文件顯示數(shù)據(jù)信息查詢顯示排名運動員成績錄入學(xué)生信息錄入學(xué)校信息錄入運動員排名運動員排名學(xué)校信息運動員信息得分規(guī)則學(xué)校排名學(xué)校查詢項目查詢學(xué)生查詢學(xué)校信息運動員信息得分規(guī)則學(xué)校排名學(xué)校查詢項目查詢學(xué)生查詢圖3.1校際運動會管理系統(tǒng)功效模塊圖3.2.2輸入輸以下輸入項均為鍵盤輸入:得分規(guī)則選擇inta(1、2、3)選擇主菜單選項intn(1、2、3、4、5、6、7、8)學(xué)校個數(shù)intXN學(xué)校校名stringmingzi學(xué)校代號stringdaihao學(xué)生數(shù)量intSN學(xué)生姓名stringxingming學(xué)生性別boolxingbie參賽項目boolxiangmu[4]成績floatchengji選擇查詢方法inta(1、2、3、4)選擇顯示信息intl(1、2、3、4)選擇現(xiàn)實排名inta(1、2、3)3.2.3輸出項學(xué)校名次intmingci[4];學(xué)校校名stringmingzi學(xué)生姓名stringxingming學(xué)生性別boolxingbie參賽項目boolxiangmu[4]成績floatchengji單項得分intdefen[4]總分intzongfen四、系統(tǒng)實現(xiàn)和測試4.1主菜單模塊實現(xiàn)4.1.1主菜單步驟開開始顯示主菜單輸入選擇是否合理 提醒錯誤信息提醒錯誤信息Y Y N 是否為"1"是否為"1"是否為"3" N N N是否為"3"是否為"2" 是否為"2"是否為"4" Y 是否為"4" Y YY N調(diào)用輸入函數(shù)調(diào)用顯示函數(shù)調(diào)用查找函數(shù)調(diào)用排序函數(shù) 調(diào)用輸入函數(shù)調(diào)用顯示函數(shù)調(diào)用查找函數(shù)調(diào)用排序函數(shù)是否為"5"是否為"5"是否為"7"是否為"6" N是否為"7"是否為"6" N Y調(diào)用顯示函數(shù)YY調(diào)用顯示函數(shù)調(diào)用顯示函數(shù)調(diào)用顯示函數(shù)N調(diào)用顯示函數(shù)調(diào)用顯示函數(shù)結(jié)束 結(jié)束4.1主菜單步驟圖4.1.2主菜單代碼voidmenu() //菜單{ intw1,n; system("cls"); cout<<"\t\t--------------------------------------------"<<endl <<"\t\t*************welcometoload****************"<<endl <<"\t\t--------------------------------------------"<<endl <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"<<endl <<"\t\t※歡迎使用校運動會計分系統(tǒng)※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※1.學(xué)校信息錄入※"<<endl <<"\t\t※2.學(xué)生信息錄入※"<<endl <<"\t\t※3.成績錄入※"<<endl <<"\t\t※4.查詢※"<<endl <<"\t\t※5.顯示數(shù)據(jù)※"<<endl <<"\t\t※6.輸出文件※"<<endl <<"\t\t※7.顯示排名※"<<endl <<"\t\t※8.退出※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※制作人※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"<<endl; do { cout<<"請輸入你想操作代號(1-8):"<<endl; cin>>n; if(n<1||n>8) { w1=1; cout<<"您輸入有誤,請重新輸入!"<<endl; } elsew1=0; }while(w1==1); switch(n) { case1:xuexiaoluru(); case2:xueshengluru(); case3:chengjiluru(); case4:chaxun();case5:xianshi();case6:wenjian();case7:paimingxianshi(); }}4.1.3主菜單測試主菜單運行結(jié)果圖4.2圖4.2主菜單界面4.2查詢模塊實現(xiàn)4.2.1查詢步驟圖開始開始輸出提醒信息輸出提醒信息N是否為4Y是否為4輸入數(shù)字a輸入數(shù)字a是否為"2"是否為是否為"2"是否為"3"NN是否為"1"NNN是否為"1"YYYYY調(diào)用學(xué)校查詢函數(shù)調(diào)用項目查詢函數(shù)調(diào)用學(xué)生查詢函數(shù)調(diào)用學(xué)校查詢函數(shù)調(diào)用項目查詢函數(shù)調(diào)用學(xué)生查詢函數(shù) 結(jié)束結(jié)束圖4.3查詢模塊步驟圖4.2.2查詢模塊代碼voidchaxun()//查詢{voidxscx();voidxmcx();voidxxcx();inta;do{cout<<"選擇查詢方法:"<<endl<<"1按姓名查詢:"<<endl<<"2按項目查詢:"<<endl<<"3按學(xué)校查詢:"<<endl<<"4退出"<<endl<<"請選擇:";cin>>a;switch(a){case1:xscx();break;case2:xmcx();break;case3:xxcx();break;case4:break;}}while(a<1&&a>4);system("pause");menu();}voidxscx(){inti,sb=0;stringx;cout<<"請輸入要查詢名字:";cin>>x;for(i=0;i<SN;i++){ if(xs[i].xingming==x) { sb++; cout<<"姓名"<<xs[i].xingming<<"學(xué)校"; for(intk=0;;k++) if(xs[i].xue==xx[k].daihao) { cout<<setw(15)<<xx[k].mingzi; break; } cout<<"性別"; if(xs[i].xingbie) cout<<setw(4)<<"男"; else cout<<setw(4)<<"女"; cout<<"號碼"<<xs[i].haoma<<endl; }}if(sb==0){ cout<<"沒找到該名字學(xué)生"<<endl;}}voidxmcx(){inti,sb=0;intj;cout<<"請輸入要查詢項目名:";cin>>j;for(i=0;i<SN;i++){ if(xs[i].xiangmu[j-1]) { sb++; cout<<"姓名"<<xs[i].xingming<<"學(xué)校"; for(intk=0;;k++) if(xs[i].xue==xx[k].daihao) { cout<<setw(15)<<xx[k].mingzi; break; } cout<<"性別"; if(xs[i].xingbie) cout<<setw(4)<<"男"; else cout<<setw(4)<<"女"; cout<<"號碼"<<xs[i].haoma<<endl; }}if(sb==0){ cout<<"未找該項目標(biāo)學(xué)生"<<endl;}}voidxxcx(){inti,sb=0;cout<<"學(xué)校信息為:"<<endl<<setw(15)<<"學(xué)校名稱"<<"學(xué)校代號"<<endl;for(i=0;i<XN;i++)cout<<setw(15)<<xx[i].mingzi<<""<<xx[i].daihao<<endl;stringl;cout<<"請輸入要查詢學(xué)校代號:";cin>>l;for(i=0;i<SN;i++){ if(xs[i].xue==l) { sb++; cout<<"姓名"<<xs[i].xingming<<"學(xué)校"<<l<<"性別"; if(xs[i].xingbie) cout<<setw(6)<<"男"; else cout<<setw(6)<<"女"; cout<<"號碼"<<xs[i].haoma; } }if(sb==0){ cout<<"沒找到該學(xué)校學(xué)生"<<endl;}}4.2.3查詢模塊測試查詢模塊測試分為姓名查詢圖4.4,項目查詢圖4.5,學(xué)校查詢圖4.6:圖4.4姓名查詢界面當(dāng)選擇數(shù)字1時界面圖4.4,輸出學(xué)生姓名,學(xué)校,性別,號碼.圖4.5項目查詢 界面當(dāng)選擇數(shù)字2時界面圖4.5,輸出參與要查詢項目標(biāo)運動員姓名,學(xué)校,性別,號碼.圖4.6學(xué)校查詢界面當(dāng)選擇數(shù)字3時界面圖4.6,輸出代表要查詢學(xué)校參賽運動員姓名,學(xué)校,性別,號碼.4.3顯示模塊查詢開始4.3.1顯示模塊步驟圖 開始N是否為"4"輸出提醒信息N是否為"4"輸出提醒信息YY輸入l輸入lN是否為"3"是否為"2" N是否為"3"是否為"2"NN是否為"1"NN是否為"1"YY YY調(diào)用顯示得分規(guī)則函數(shù)調(diào)用顯示運動員信息函數(shù)Y調(diào)用顯示得分規(guī)則函數(shù)調(diào)用顯示運動員信息函數(shù)調(diào)用顯示學(xué)校信息函數(shù) 調(diào)用顯示學(xué)校信息函數(shù)結(jié)束結(jié)束圖4.7顯示模塊步驟圖4.3.2顯示模塊代碼voidxianshi() //顯示全部信息{voidxsxxxx();voidxsxsxx();voidxsdfgz();intl;do{ cout<<" 顯示全部學(xué)校信息 輸入1"<<endl <<" 顯示全部學(xué)生信息 輸入2"<<endl <<" 顯示得分規(guī)則 輸入3"<<endl <<" 退出 輸入4"<<endl <<"請選擇:"; cin>>l; switch(l){ case1:xsxxxx();break; case2:xsxsxx();break; case3:xsdfgz();break; }}while(l>4&&l<1);system("pause");menu();}voidxsxxxx(){ cout<<"學(xué)校信息為:"<<endl<<setw(15)<<"學(xué)校名稱"<<"學(xué)校代號"<<setw(8)<<"學(xué)校得分"<<setw(8)<<"學(xué)校排名"<<endl; for(inti=0;i<XN;i++) cout<<setw(15)<<xx[i].mingzi<<""<<xx[i].daihao<<setw(8)<<xx[i].chengji<<setw(8)<<xx[i].mingci<<endl;}voidxsxsxx(){ cout<<setw(6)<<"姓名"<<setw(15)<<"學(xué)校"<<setw(6)<<"性別" <<setw(12)<<"項目1成績"<<setw(12)<<"項目2成績" <<setw(12)<<"項目3成績"<<setw(12)<<"項目4成績"<<endl; for(intj=0;j<SN;j++) { cout<<setw(6)<<xs[j].xingming; for(intk=0;;k++) if(xs[j].xue==xx[k].daihao) { cout<<setw(15)<<xx[k].mingzi; break; } if(xs[j].xingbie) cout<<setw(6)<<"男"; else cout<<setw(6)<<"女"; for(intx=0;x<4;x++) cout<<setw(6)<<xs[j].xiangmu[x]<<setw(6)<<xs[j].chengji[x]; cout<<endl; } cout<<setw(18)<<"項目1得分排名"<<setw(18)<<"項目2得分排名" <<setw(18)<<"項目3得分排名"<<setw(18)<<"項目4得分排名"<<setw(7)<<"總分"<<endl; for(j=0;j<SN;j++) { for(intx=0;x<4;x++) cout<<setw(9)<<xs[j].defen[x]<<setw(9)<<xs[j].mingci[x]<<setw(7); cout<<xs[j].zongfen<<endl; }}voidxsdfgz(){ for(intz=0;;z++) { if(df[z]!=0) { cout<<"第"<<z+1<<"名得"<<df[z]<<"分"<<endl; continue; } else { cout<<"其后全部些人得分為0"<<endl; break; } }}4.3.3顯示模塊測試顯示模塊測試分為學(xué)校顯示圖4.8,全部學(xué)生顯示圖4.9和得分顯示圖4.10圖4.8學(xué)校信息顯示界面圖4.8選擇1時參賽學(xué)校名稱,代號,得分和排名顯示.圖4.9學(xué)生信息顯示界面圖4.9為選擇2時全部參賽學(xué)生學(xué)校,性別,參賽項目,成績,得分和排名信息顯示.圖4.10得分規(guī)則顯示界面圖4.10為選擇號碼3時比賽采取積分規(guī)則顯示.4.4輸出文件模塊4.4.1輸出模塊代碼voidwenjian()//輸出到文件{ fstreams1("輸出文件.txt",ios::out); if(!s1) cout<<"打開失敗!"; s1<<"學(xué)校名字學(xué)校代碼學(xué)校名次學(xué)??偡?<<'\n'; for(inti=0;i<XN;i++) { s1<<xx[i].mingzi<<""<<xx[i].daihao<<""<<xx[i].mingci<<""<<int(xx[i].chengji)<<'\n'; } s1<<'\n'<<'\n'<<"姓名學(xué)校代碼性別號碼項目1成績名次項目2成績名次項目3成績名次項目4成績名次總分"<<'\n'; for(i=0;i<SN;i++) { s1<<xs[i].xingming<<""<<xs[i].xue<<""<<xs[i].xingbie<<""<<xs[i].haoma<<"" <<xs[i].xiangmu[0]<<""<<xs[i].chengji[0]<<""<<xs[i].mingci[0]<<"" <<xs[i].xiangmu[1]<<""<<xs[i].chengji[1]<<""<<xs[i].mingci[1]<<"" <<xs[i].xiangmu[2]<<""<<xs[i].chengji[2]<<""<<xs[i].mingci[2]<<"" <<xs[i].xiangmu[3]<<""<<xs[i].chengji[3]<<""<<xs[i].mingci[3]<<"" <<xs[i].zongfen<<'\n'; } s1.close(); cout<<"輸出成功!"<<endl; system("pause");menu();}4.4.2輸出模塊測試圖4.11輸出文件4.5顯示排名開始4.5.1排名模塊步驟圖開始輸出提醒信息輸出提醒信息NN輸入a輸入aNN是否為"3"是否為"2"是否為"1"N是否為"3"是否為"2"是否為"1"NYYYYYY調(diào)用運動員排名函數(shù)調(diào)用學(xué)校排名函數(shù)調(diào)用運動員排名函數(shù)調(diào)用學(xué)校排名函數(shù)結(jié)束結(jié)束圖4.12排名模塊步驟圖4.5.2顯示排名模塊代碼voidpaimingxianshi()//顯示排名{voidxxpm();voidydypm();cout<<"請選擇:"<<endl<<"1學(xué)校排名"<<endl<<"2運動員總分排名"<<endl<<"3退出"<<endl<<"請選擇:";inta;cin>>a;switch(a){case1:xxpm();break;case2:ydypm();break;case3:break;}system("pause");menu();}voidxxpm(){ stringdd[50]; for(inti=0;i<XN;i++) dd[xx[i].mingci-1]=xx[i].mingzi; for(i=0;i<XN;i++) cout<<"第"<<i+1<<"名為 "<<setw(6)<<dd[i]<<endl;}voidydypm(){ stringdd[200],te; intss[200],mp,p,q; for(inti=0;i<SN;i++) { dd[i]=xs[i].xingming; ss[i]=xs[i].zongfen; } for(p=0;p<SN;p++) { for(q=p+1;q<SN-1;q++) { if(ss[p]<ss[q]) { te=dd[q]; dd[q]=dd[p]; dd[p]=te; mp=ss[q]; ss[q]=ss[p]; ss[p]=mp; } } } for(i=0;i<SN;i++) cout<<"第"<<i+1<<"名為 "<<setw(6)<<dd[i]<<endl; }4.5.3顯示排名模塊測試顯示排名測試分為學(xué)校排名圖4.13,運動員排名圖4.13圖4.13學(xué)校排名界面圖4.14運動員排名界面五、調(diào)試錯誤及處理方法在調(diào)試過程中碰到了多種多樣錯誤,但總結(jié)起來也就是馬虎造成,現(xiàn)列舉一二。如在調(diào)用函數(shù)時出現(xiàn)函數(shù)未申明錯誤,只要在函數(shù)開頭進(jìn)行申明就行了;還有如“D:\測試.cpp(579):errorC:unknowncharacter'0xa3'”,這類型錯誤關(guān)鍵是在輸入字符時使用是漢字輸入,只要改成英文輸入就行了;注意“{}”使用要完整等等。不過在我編寫程序時碰到最大困難還是在輸入文件模塊,因為對這個知識點掌握不好,以后經(jīng)過查閱資料最終搞清楚了。六、參考文件[1]譚浩強.C++程序設(shè)計.清華大學(xué)出版社.[2]鄭莉.C++程序設(shè)計(第三版).清華大學(xué)出版社.[3]錢能.C++程序設(shè)計教程.清華大學(xué)出版社.[4]武俊亮.visualc++課程設(shè)計和系統(tǒng)開發(fā)案例.清華出版社[5]黃維通.VisualC++程序設(shè)計教程.清華大學(xué)出版社.七、附錄源代碼#include<iostream>#include<fstream>#include<iomanip>#include<string>usingnamespacestd;intdf[100]={0};structxuexiao{ stringmingzi; //學(xué)校名字 stringdaihao; //學(xué)校代號 intmingci; //學(xué)校名次 floatchengji; //學(xué)校成績}xx[20];structxuesheng{ stringxue; //學(xué)校 stringxingming; //姓名 inthaoma; //運動員號碼 boolxiangmu[4]; //項目 boolxingbie; //性別 floatchengji[4]; //成績 intmingci[4]; //名次 intdefen[4]; //單項得分 intzongfen; //總分}xs[100];intXN; //學(xué)校個數(shù)intSN; //學(xué)生總數(shù)voidxuexiaoluru();voidxueshengluru();voidchengjiluru();voidchaxun();voidxianshi();voidwenjian();voidpaimingxianshi();voidpaiming(inta,boolb);voidmenu() //菜單{ intw1,n; system("cls"); cout<<"\t\t--------------------------------------------"<<endl <<"\t\t*************welcometoload****************"<<endl <<"\t\t--------------------------------------------"<<endl <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"<<endl <<"\t\t※歡迎使用校運動會計分系統(tǒng)※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※1.學(xué)校信息錄入※"<<endl <<"\t\t※2.學(xué)生信息錄入※"<<endl <<"\t\t※3.成績錄入※"<<endl <<"\t\t※4.查詢※"<<endl <<"\t\t※5.顯示數(shù)據(jù)※"<<endl <<"\t\t※6.輸出文件※"<<endl <<"\t\t※7.顯示排名※"<<endl <<"\t\t※8.退出※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※制作人※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"<<endl; do { cout<<"請輸入你想操作代號(1-8):"<<endl; cin>>n; if(n<1||n>8) { w1=1; cout<<"您輸入有誤,請重新輸入!"<<endl; } elsew1=0; }while(w1==1); switch(n) { case1:xuexiaoluru(); case2:xueshengluru(); case3:chengjiluru(); case4:chaxun(); case5:xianshi(); case6:wenjian(); case7:paimingxianshi(); }}voidxuexiaoluru() //學(xué)校信息錄入{ cout<<"請輸入學(xué)校個數(shù):"; cin>>XN; for(inti=0;i<XN;i++) { cout<<"請輸入第"<<i+1<<"個學(xué)校名字:"; cin>>xx[i].mingzi; cout<<"請輸入第"<<i+1<<"個學(xué)校代碼:"; cin>>xx[i].daihao; xx[i].chengji=xx[i].mingci=0; } cout<<"學(xué)校信息為:"<<endl<<setw(15)<<"學(xué)校名稱"<<"學(xué)校代號"<<endl; for(i=0;i<XN;i++) cout<<setw(15)<<xx[i].mingzi<<""<<xx[i].daihao<<endl; system("pause"); menu();}voidxueshengluru() //學(xué)生信息錄入{ cout<<"請輸入學(xué)生數(shù)量:"; cin>>SN; intk; for(inti=0;i<SN;i++) { cout<<"請輸入第"<<i+1<<"個學(xué)生信息:"<<endl<<setw(15)<<"學(xué)校名稱"<<"學(xué)校代號"<<endl; for(intj=0;j<XN;j++) cout<<setw(15)<<xx[j].mingzi<<""<<xx[j].daihao<<endl; cout<<"請輸入學(xué)生所在學(xué)校代碼:"; cin>>xs[i].xue; cout<<"請輸入學(xué)生姓名:"; cin>>xs[i].xingming; cout<<"請輸入學(xué)生性別(男輸入1/女輸入0):"; cin>>xs[i].xingbie; for(k=0;k<4;k++) { xs[i].chengji[k]=xs[i].defen[k]=xs[i].mingci[k]=0; xs[i].xiangmu[k]=0; } xs[i].haoma=i+1; } menu();}voidxianshi() //顯示全部信息{voidxsxxxx();voidxsxsxx();voidxsdfgz();intl;do{ cout<<" 顯示全部學(xué)校信息 輸入1"<<endl <<" 顯示全部學(xué)生信息 輸入2"<<endl <<" 顯示得分規(guī)則 輸入3"<<endl <<" 退出 輸入4"<<endl <<"請選擇:"; cin>>l; switch(l) { case1:xsxxxx();break; case2:xsxsxx();break; case3:xsdfgz();break; }}while(l>4&&l<1);system("pause");menu();}voidxsxxxx(){ cout<<"學(xué)校信息為:"<<endl<<setw(15)<<"學(xué)校名稱"<<"學(xué)校代號"<<setw(8)<<"學(xué)校得分"<<setw(8)<<"學(xué)校排名"<<endl; for(inti=0;i<XN;i++) cout<<setw(15)<<xx[i].mingzi<<""<<xx[i].daihao<<setw(8)<<xx[i].chengji<<setw(8)<<xx[i].mingci<<endl;}voidxsxsxx(){ cout<<setw(6)<<"姓名"<<setw(15)<<"學(xué)校"<<setw(6)<<"性別" <<setw(12)<<"項目1成績"<<setw(12)<<"項目2成績" <<setw(12)<<"項目3成績"<<setw(12)<<"項目4成績"<<endl; for(intj=0;j<SN;j++) { cout<<setw(6)<<xs[j].xingming; for(intk=0;;k++) if(xs[j].xue==xx[k].daihao) { cout<<setw(15)<<xx[k].mingzi; break; } if(xs[j].xingbie) cout<<setw(6)<<"男"; else cout<<setw(6)<<"女"; for(intx=0;x<4;x++) cout<<setw(6)<<xs[j].xiangmu[x]<<setw(6)<<xs[j].chengji[x]; cout<<endl; } cout<<setw(18)<<"項目1得分排名"<<setw(18)<<"項目2得分排名" <<setw(18)<<"項目3得分排名"<<setw(18)<<"項目4得分排名"<<setw(7)<<"總分"<<endl; for(j=0;j<SN;j++) { for(intx=0;x<4;x++) cout<<setw(9)<<xs[j].defen[x]<<setw(9)<<xs[j].mingci[x]<<setw(7); cout<<xs[j].zongfen<<endl; }}voidxsdfgz(){ for(intz=0;;z++) { if(df[z]!=0) { cout<<"第"<<z+1<<"名得"<<df[z]<<"分"<<endl; continue; } else { cout<<"其后全部些人得分為0"<<endl; break; } }}voidjisuangeren()//計算個人總分{ for(inti=0;i<SN;i++) xs[i].zongfen=xs[i].defen[0]+xs[i].defen[1]+xs[i].defen[2]+xs[i].defen[3];}voidjisuanxuexiao()//計算學(xué)校總分并排名{ for(inti=0;i<SN;i++) { for(intk=0;;k++) if(xs[i].xue==xx[k].daihao) { xx[k].chengji+=xs[i].zongfen; break; } } xuexiao*dd[50],*temp; intk=0,p,q; for(i=0;i<XN;i++) dd[k++]=&xx[i]; for(p=0;p<k;p++) { for(q=p+1;q<k-1;q++) { if(dd[p]->chengji<dd[q]->chengji) { temp=dd[p]; dd[p]=dd[q]; dd[q]=temp; } } } for(i=0;i<k;i++) { dd[i]->mingci=i+1; }}voidchengjiluru() //成績錄入{ boola; intb,i,k[100],t=0,s=0; cout<<"男女各有四個項目:"<<endl <<"男子項目1項目2項目3項目4"<<endl <<"女子項目1項目2項目3項目4"<<endl; cout<<"請選擇性別(男輸入1/女輸入0):"; cin>>a; if(a) { cout<<"輸入錄入成績項目"; cin>>b; cout<<"該項目未錄入有:"; for(i=0;i<SN;i++) if(xs[i].xingbie) if(xs[i].xiangmu[b-1]) ; else cout<<xs[i].haoma<<"號"; cout<<endl<<"請輸入要錄入號碼:"<<"格式23330最終一個以0結(jié)束"<<endl; t=0; do { cin>>k[t]; t++; }while(k[t-1]!=0); for(s=0;s<t-1;s++) { xs[k[s]-1].xiangmu[b-1]=1; cout<<"請輸入"<<k[s]<<"號成績:"; cin>>xs[k[s]-1].chengji[b-1]; } } else { cout<<"輸入錄入成績項目"; cin>>b; cout<<"該項目未錄入有:"; for(i=0;i<SN;i++) if(!xs[i].xingbie) if(xs[i].xiangmu[b-1]) ; else cout<<xs[i].haoma<<"號"; cout<<endl<<"請輸入要錄入號碼:"<<"格式23330最終一個以0結(jié)束"<<endl; t=0; do { cin>>k[t]; t++; }while(k[t-1]!=0); for(s=0;s<t-1;s++) { xs[k[s]-1].xiangmu[b-1]=1; cout<<"請輸入"<<k[s]<<"號成績:"; cin>>xs[k[s]-1].chengji[b-1]; } } paiming(b,a); jisuangeren(); jisuanxuexiao(); menu();}voiddefenguize()//得分規(guī)則{ cout<<"請輸入前十名得分規(guī)則"<<endl; for(inti=0;i<10;i++) { cout<<"請輸入第"<<i+1<<"得分:"; cin>>df[i]; } cout<<"建立得分規(guī)則為"<<endl; for(i=0;i<10;i++) cout<<"第"<<i+1<<"名得"<<df[i]<<"分"<<endl;}voidxuexiaopaiming(){ intk[30],s=0,x[30],p,q,t; for(inti=0;i<XN;i++) { x[s]=i; k[s++]=xx[i].chengji; } for(p=0;p<s-1;p++) for(q=p+1;q<s-2;q++) { if(k[p]<k[q]) { t=k[q]; k[q]=k[p]; k[p]=t; t=x[q]; x[q]=x[p]; x[p]=t; } } for(i=0;i<s-1;i++) { xx[x[i]].mingci=i; }}voidpaiming(inta,boolb)//排名后算分{ xuesheng*dd[50],*temp; intk=0; ints; for(inti=0;i<SN;i++) { if(xs[i].xingbie==b) { if(xs[i].xiangmu[a-1]) { dd[k++]=&xs[i]; } } } intp,q; for(p=0;p<k;p++) { for(q=p+1;q<k-1;q++) { if(dd[p]->chengji[a-1]<dd[q]->chengji[a-1]) { temp=dd[p]; dd[p]=dd[q]; dd[q]=temp; } } } for(i=0;i<k;i++) { dd[i]->mingci[a-1]=i+1; dd[i]->defen[a-1]=df[i]; }}voidchaxun()//查詢{voidxscx();voidxmcx();voidxxcx();inta;do{cout<<"選擇查詢方法:"<<endl<<"1按姓名查詢:"<<endl<<"2按項目查詢:"<<endl<<"3按學(xué)校查詢:"<<endl<<"4退出"<<endl<<"請選擇:";cin>>a;switch(a){case1:xscx();break;case2:xmcx();break;case3:xxcx();break;case4:break;}}while(a<1&&a>4);cout<<endl;system("pause");menu();}voidxscx(){inti,sb=0;stringx;cout<<"請輸入要查詢名字:";cin>>x;for(i=0;i<SN;i++){ if(xs[i].xingming==x) { sb++; cout<<"姓名"<<xs[i].xingming<<"學(xué)校"; for(intk=0;;k++) if(xs[i].xue==xx[k].daihao) { cout<<setw(15)<<xx[k].mingzi; break; } cout<<"性別"; if(xs[i].xingbie) cout<<setw(4)<<"男"; else cout<<setw(4)<<"女"; cout<<"號碼"<<xs[i].haoma; }}if(sb==0){ cout<<"沒找到該名字學(xué)生"<<endl;}}voidxmcx(){inti,sb=0;intj;cout<<"請輸入要查詢項目名:";cin>>j;for(i=0;i<SN;i++){ if(xs[i].xiangmu[j-1]) { sb++; cout<<"姓名"<<xs[i].xingming<<"學(xué)校"; for(intk=0;;k++) if(xs[i].xue==xx[k].daihao) { cout<<setw(15)<<xx[k].mingzi; break; } cout<<"性別"; if(xs[i].xingbie) cout<<setw(4)<<"男"; else cout<<setw(4)<<"女"; cout<<"號碼"<<xs[i].haoma<<endl; }}if(sb==0){ cout<<"未找該項目標(biāo)學(xué)生"<<endl;}}voidxxcx(){inti,sb=0;cout<<"學(xué)校信息為:"<<endl<<setw(15)<<"學(xué)校名稱"<<"學(xué)校代號"<<endl;for(i=0;i<XN;i++)c

溫馨提示

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

評論

0/150

提交評論