學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)_第1頁(yè)
學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)_第2頁(yè)
學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)_第3頁(yè)
學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)_第4頁(yè)
學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(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)介

/*問(wèn)題描述已知某學(xué)校運(yùn)動(dòng)會(huì)上有5個(gè)系部(編號(hào)、名稱(chēng))和10個(gè)運(yùn)動(dòng)項(xiàng)目,各項(xiàng)目名次取法有如下幾種:取前5名:第1名得分7,第2名得分5,第3名得分3,第4名得分2,第5名得分1;編寫(xiě)一程序,完成以下功能:從鍵盤(pán)輸入系部編號(hào)、運(yùn)動(dòng)員姓名、運(yùn)動(dòng)項(xiàng)目編號(hào)、獲取名次。需要判斷系部編號(hào)是否存在、參賽項(xiàng)目是否存在、獲取名次是否合法,同一系部的同一個(gè)人,不能在同一個(gè)項(xiàng)目中出現(xiàn)兩次。按照比賽成績(jī)從高到底輸出系部和其比賽成績(jī)查詢(xún)指定系部編號(hào)的獲獎(jiǎng)記錄查詢(xún)指定運(yùn)動(dòng)項(xiàng)目的獲獎(jiǎng)記錄所有數(shù)據(jù)符合實(shí)際應(yīng)用要求提示:定義一個(gè)結(jié)構(gòu)體數(shù)組,保存5個(gè)系部的信息,具體為:編號(hào)、名稱(chēng),比賽成績(jī)(最開(kāi)始為0)定義一個(gè)結(jié)構(gòu)體數(shù)組,保存10個(gè)運(yùn)動(dòng)項(xiàng)目的信息,具體為:編號(hào)、名稱(chēng)定義一個(gè)獲獎(jiǎng)鏈表,保存運(yùn)動(dòng)員的獲獎(jiǎng)信息,具體為:系部編號(hào)、運(yùn)動(dòng)員姓名、運(yùn)動(dòng)項(xiàng)目編號(hào)、獲取名次,得分,查詢(xún)系部數(shù)組和運(yùn)動(dòng)項(xiàng)目數(shù)組,如果存在,查詢(xún)獲獎(jiǎng)鏈表,是否存在該系部、該姓名、該項(xiàng)目的記錄,如果不存在,根據(jù)獲取的名次,計(jì)算獲獎(jiǎng)的得分,插入獲獎(jiǎng)鏈表,并將得分累加到系部的比賽成績(jī)。對(duì)系部數(shù)組按照比賽成績(jī)排序*/#include<stdio.h>#include<time.h>#include<string.h>#include<malloc.h>#include<stdlib.h>#include<conio.h>#include<windows.h>#defineLENsizeof(structstudent)typedefstructxibu{intnum;charname[20];intchengji;typedefstructxiangmu{intnum;charname[20];}MU;structstudent{intxinum;charname[30];intmunum;intMC;intscore;structstudent*next;};XIxi⑸={{1,"電信學(xué)院",0}, {2,1汽車(chē)學(xué)院",0},{3,"材工學(xué)院",0}, {4,"機(jī)械學(xué)院",0},{5,"英語(yǔ)學(xué)院",0}};MUmu[10]={{1,"100米"}, {2,"200米"},{3,"400米"},{4,"800米"},{5,"1500米"},{6,"跳高"},{7,"跳遠(yuǎn)"}, {8,"鉛球"}, {9,"三級(jí)跳"},{10,"4x100接力"}};intn=0;voidwelcome();voidprinttimu();intmenu_select();voidshuru();voidshuchu();voidxibu();voidxiangmu();voidTiShi();voiddaoruxi();intpanduan();voidexit0();//歡迎界面////本題題目要求////主菜單////輸入獲獎(jiǎng)運(yùn)動(dòng)員信息////按照比賽成績(jī)從高到底輸出系部和其比賽成績(jī)////查詢(xún)系部獲獎(jiǎng)情況////查詢(xún)項(xiàng)目獲獎(jiǎng)情況////提示題目所需數(shù)據(jù)////導(dǎo)入獲獎(jiǎng)運(yùn)動(dòng)員成績(jī)到系部////判斷所輸入信息是否有錯(cuò)誤////退出//structstudent*head=NULL,*p1,*p2,*p3;/*定義結(jié)構(gòu)體指針head為頭指針pl為輸入數(shù)據(jù)緩存空間指針p2為尾指針p3*//*運(yùn)動(dòng)員記錄保存標(biāo)志全局變量*/intwriteinfo_flag=0;/*主函數(shù)*/intmain(){system("colorF2");welcome();TiShi();for(;;){switch(menu_select()){case1:system("cls");printtimu();break;case2:system("cls");shuru();break;case3:system("cls");shuchu();break;case4:system("cls");xibu();break;case5:system("cls");xiangmu();break;case0:system("cls");exit0();return0;default:{getchar();printf("\n選擇錯(cuò)誤,請(qǐng)正確輸入你的選擇(0~5),:\n");printf("\n按任意鍵返回 \n");getchar();getchar();system("cls"); /*清屏*/}}}return0;}//定義數(shù)據(jù)//voidTiShi(){inti=0,m=0;printf("\n\n\t請(qǐng)按學(xué)校院系及獎(jiǎng)項(xiàng)設(shè)置輸入獲獎(jiǎng)人員,院系及獎(jiǎng)項(xiàng)設(shè)置如下\n\n");printf("\n\t\t\t編號(hào) 系部\n");while(i<5){

*/printf("\t\t\t%di++;}printf("\n\n\t\t\t編號(hào)while(m<10){printf("\t\t\t%d*/printf("\t\t\t%di++;}printf("\n\n\t\t\t編號(hào)while(m<10){printf("\t\t\t%d%s\n",xi[i].num,xi[i].name);項(xiàng)目\n");%s\n",mu[m].num,mu[m].name);m++;}printf("\n\n數(shù)據(jù)已輸出,按任意鍵進(jìn)入系統(tǒng)...");/*清屏\t\t\t\t\t\t**\n");\t\t\t\t\t\t**\n");\t歡迎使用學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)!\t\t\t\t\t\t**\n");\t\t\t\t\t\t**\n");\t歡迎使用學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)!\t**\n");\t\t\t\t\t\t**\n");\t\t\t\t\t\t**\n");\t\t指導(dǎo)老師:老師\t\t**\n");\t\t\t\t\t\t**\n");\t\t制作人:* *\t\t\t**\n");\t\t\t\t\t\t**\n");\t\t短號(hào):619444\t\t**\n");\t\t\t\t\t\t**\n");\t\tQQ號(hào):961358207\t\t**\n");\t\t\t\t\t\t**\n");voidwelcome(){printf("\n\n\n\n\t\t***************************************************\n");printf("\t\t**************************\n");printf("\t\t**************************\n");printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**printf("\t\t**************************\n");printf("\t\t******請(qǐng)按任意鍵進(jìn)入系統(tǒng)******\n");printf("\t\t***************************************************\n");getch();system("cls");

rewind(stdin);//本題題目要求//voidprinttimu(){printf("\n題目描述\n");printf("\t已知某學(xué)校運(yùn)動(dòng)會(huì)上有5個(gè)系部(編號(hào)、名稱(chēng))和10個(gè)運(yùn)動(dòng)項(xiàng)目,各項(xiàng)目\t\t名次取法有如下幾種\n\n");printf("\t取前5名:第1名得分7,第2名得分5,第3名得分3,第4名得分2,第5名\t\t得分1;\n");printf("\n\t\t\t 編寫(xiě)一程序,完成以下功能\n\n");printf("(1)從鍵盤(pán)輸入系部編號(hào)、運(yùn)動(dòng)員姓名、運(yùn)動(dòng)項(xiàng)目編號(hào)、獲取名次。需要判斷\t\t系部編號(hào)是否存在、參賽項(xiàng)目是否存在、獲取名次是否合法,同一系部的同一個(gè)\t\t人,不能在同一個(gè)項(xiàng)目中出現(xiàn)兩次。\n");printf("(2)按照比賽成績(jī)從高到底輸出系部和其比賽成績(jī)\?");printf("(3)查詢(xún)指定系部編號(hào)的獲獎(jiǎng)記錄\n");printf("(4)查詢(xún)指定運(yùn)動(dòng)項(xiàng)目的獲獎(jiǎng)記錄\n");printf("(5)所有數(shù)據(jù)符合實(shí)際應(yīng)用要求\n");printf("(6) 系統(tǒng)以菜單方式工作(用鍵盤(pán)輸入1~5之間的數(shù)來(lái)選擇功能,其中6為退出)\n");rewind(stdin);printf("\n\n\t\t\t題目已輸出,按任意鍵進(jìn)入系統(tǒng)..."); /*清屏*/getch();system("cls");}//主菜單//intmenu_select(){intc;printf("\n\n\n\n");菜單l\n");菜單l\n");|\n");printf("\t\t\t|printf("\t\t\t| 1.查看本題題目|\n");printf("\t\t\t| 2.輸入獲獎(jiǎng)運(yùn)動(dòng)員信息|\n");printf("\t\t\t|3.按順序輸出系部和其比賽成績(jī)|\n");printf("\t\t\t|4.查詢(xún)指定系部編號(hào)的獲獎(jiǎng)記錄|\n");printf("\t\t\t| 5.查詢(xún)指定運(yùn)動(dòng)項(xiàng)目的獲獎(jiǎng)記錄|\n");printf("\t\t\t| 0?退出(任何情況下按Ctrl+C退出程序|\n");printf("\t\t\t|請(qǐng)輸入你的選擇(0~4): |\n"););printf("\t\t\tprintf("\n\t\t\t我選擇:");scanf("%d",&c););returnc;}//輸入獲獎(jiǎng)運(yùn)動(dòng)員信息//voidshuru(){inti=0;chara;if(writeinfo_flag==1){getchar();printf("\n\n\n\n\n\n\n\n\t\t運(yùn)動(dòng)員信息數(shù)據(jù)已經(jīng)輸入完成不能再輸入,按任意鍵將返回:\n");getch();system("cls"); /*清屏*/return;}head=(structstudent*)malloc(LEN); /*開(kāi)辟一個(gè)新單元*/head->next=NULL;p1=head;do{n++;do{system("cls");printf("\n\n\n\n\n\n\n\t請(qǐng)輸入第%4個(gè)獲獎(jiǎng)運(yùn)動(dòng)員的系部編號(hào)、運(yùn)動(dòng)員姓名、運(yùn)動(dòng)項(xiàng)目編號(hào)、獲取名次\n",n);fflush(stdin);scanf("%d%s%d%d",&p1->xinum,p1->name,&p1->munum,&p1->MC);while(p1->xinum>5||p1->xinum<1||p1->munum>10||p1->munum<1||p1->MC<1||p1->MC>5){printf("您輸入的信息不合法或者項(xiàng)目不存在,請(qǐng)檢查后按任意鍵返回重新輸入\n");getchar();getchar();system("cls");printf("\n\n\n\n\n\n\n\t請(qǐng)輸入第%4個(gè)獲獎(jiǎng)學(xué)生的系部編號(hào)、運(yùn)動(dòng)員姓名、運(yùn)動(dòng)項(xiàng)目編號(hào)、獲取名次\n",n);fflush(stdin);scanf("%d%s%d%d",&p1->xinum,p1->name,&p1->munum,&p1->MC);}switch(p1->MC){case1:p1->score=7;break;case2:p1->score=5;break;case3:p1->score=3;break;case4:p1->score=2;break;case5:p1->score=1;break;}if(writeinfo_flag==1)i=panduan();writeinfo_flag=1; /*設(shè)置保存記錄標(biāo)志*/}while(i==1);printf("\n\n\t\t請(qǐng)問(wèn)您是否輸入完畢,是(Y),否(N),請(qǐng)給出您的選擇\n\n");fflush(stdin);scanf("%c",&a);fflush(stdin);if(a=='N'||a=='n'){system("cls");p2=(structstudent*)malloc(LEN); /*開(kāi)辟一個(gè)新單元*/p1->next=p2;p3=p1;p1=p2;p1->next=NULL;}}while(a=='N'||a=='n');system("cls");printf("\n\n\n\n\n\n\t\t%d項(xiàng)信息輸入完畢,按任意鍵返回......\n",n);getch();system("cls"); /*清屏*/}//判斷輸入數(shù)據(jù)是否符合題意//intpanduan(){intd=0,m=1;p2=head;for(;m<n;p2=p2->next){if(p1->xinum==p2->xinum&&p1->munum==p2->munum&&strcmp(p1->name,p2->name)==0)d=1;if(d==1){printf("\n\n\n\t您輸入的數(shù)據(jù)中存在同一個(gè)人在同一個(gè)項(xiàng)目中有兩種信息的情況,請(qǐng)任意鍵返回并重新輸入");getchar();getchar();system("cls"); /*清屏*/}m++;}returnd;}//導(dǎo)入獲獎(jiǎng)運(yùn)動(dòng)員成績(jī)到系部//voiddaoruxi(){inti,m=0;p2=head;while(p2!=NULL){for(i=1;i<6;i++){if(i==p2->xinum)xi[i-1].chengji+=p2->score;}p2=p2->next;}}//按照比賽成績(jī)從高到底輸出系部和其比賽成績(jī)//voidshuchu(){inti,j,m=0,temp;chara[20];if(writeinfo_flag==0){getchar();printf("\n\n\n\n\n\n\n\n\t\t運(yùn)動(dòng)員信息數(shù)據(jù)庫(kù)為空,不能顯示 ,按任意鍵將返回:\n");getchar();system("cls"); /*清屏*/return;}daoruxi();for(i=0;i<4;i++){for(j=0;j<5;j++)if(xi[j].chengji<xi[j+1].chengji){temp=xi[j].chengji;strcpy(a,xi[j].name);xi[j].chengji=xi[j+1].chengji;strcpy(xi[j].name,xi[j+1].name);xi[j+1].chengji=temp;strcpy(xi[j+1].name,a);}}printf("\n\n\n\n\n\n\t\t\t按照比賽成績(jī)從高到底輸出系部和其比賽成^\n\n");printf("\t\t\t\t系部 成績(jī)\n");while(m<5){printf("\t\t\t\t%s%d\n",xi[m].name,xi[m].chengji);m++;}printf("\n\n\n\n\n\t\t\t各系部得分從高到低展示完畢,按任意鍵返回……\n");getchar();getch();system("cls"); /*清屏*/}//查詢(xún)系部獲獎(jiǎng)情況//voidxibu(){inti=0,d=0;if(writeinfo_flag==0){getchar();printf("\n\n\n\n\n\n\n\n\t\t運(yùn)動(dòng)員信息數(shù)據(jù)庫(kù)為空,不能顯示,按任意鍵將返回:\n");getch();system("cls"); /*清屏*/return;}printf("\n\n\n\n\n\n\t\t\t請(qǐng)輸入要查詢(xún)的系部編號(hào)\n\n");printf("\t\t\t我選擇:");fflush(stdin);scanf("%d",&d);if(d<0||d>5){system("cls");printf("\n\n\n\n\n\n\t\t\t編號(hào)為%d的項(xiàng)系部不存在,按任意鍵將返回:\n",d);getch();system("cls"); /*清屏*/return;}p2=head;printf("\n\n\n\n\t\t\t\t%s獲獎(jiǎng)記錄為\n\n",xi[d-1].name);printf("\t\t\t運(yùn)動(dòng)員姓名參加項(xiàng)目 名次\n");while(p2!=NULL){if(d==p2->xinum){printf("\t\t\t%s %s%d\n",p2->name,mu[p2->munum-1].name,p2->MC);i++;}p2=p2->next;}printf("%d",i);if(i==1)printf("\n\n\n\n\t\t\t%s獲獎(jiǎng)情況展示完畢,按任意鍵返回 \n",xi[d-1].name);elseprintf("\n\n\n\n\t\t\t%s沒(méi)有運(yùn)動(dòng)員參賽,按任意鍵返回 \n",xi[d-1].name);getch();system("cls"); /*清屏*/}//查詢(xún)項(xiàng)目獲獎(jiǎng)情況//voidxiangmu(

溫馨提示

  • 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)論