![C語言運(yùn)動(dòng)員成績(jī)管理系統(tǒng)_第1頁](http://file4.renrendoc.com/view/f5cf50a1047c342c8a1971c0c4ae6270/f5cf50a1047c342c8a1971c0c4ae62701.gif)
![C語言運(yùn)動(dòng)員成績(jī)管理系統(tǒng)_第2頁](http://file4.renrendoc.com/view/f5cf50a1047c342c8a1971c0c4ae6270/f5cf50a1047c342c8a1971c0c4ae62702.gif)
![C語言運(yùn)動(dòng)員成績(jī)管理系統(tǒng)_第3頁](http://file4.renrendoc.com/view/f5cf50a1047c342c8a1971c0c4ae6270/f5cf50a1047c342c8a1971c0c4ae62703.gif)
![C語言運(yùn)動(dòng)員成績(jī)管理系統(tǒng)_第4頁](http://file4.renrendoc.com/view/f5cf50a1047c342c8a1971c0c4ae6270/f5cf50a1047c342c8a1971c0c4ae62704.gif)
![C語言運(yùn)動(dòng)員成績(jī)管理系統(tǒng)_第5頁](http://file4.renrendoc.com/view/f5cf50a1047c342c8a1971c0c4ae6270/f5cf50a1047c342c8a1971c0c4ae62705.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精選文檔 精選文檔 可編輯可編輯目 錄前言 1需求分析 2模塊設(shè)計(jì)圖 4NS流程圖清單 5存儲(chǔ)結(jié)構(gòu)及函數(shù)說明 8課程設(shè)計(jì)結(jié)果 15實(shí)踐心得體會(huì) 19前言運(yùn)動(dòng)會(huì)是一個(gè)全民健身的活動(dòng),在運(yùn)動(dòng)會(huì)李對(duì)以提高人們的身體素質(zhì),培養(yǎng)賽成績(jī)。本系統(tǒng)使用C語言作為開發(fā)語言。實(shí)現(xiàn)了對(duì)運(yùn)動(dòng)會(huì)的結(jié)果提示以及對(duì)成績(jī)的保存和對(duì)成績(jī)的排名。最后對(duì)系統(tǒng)地完成情況進(jìn)行總結(jié)。運(yùn)動(dòng)會(huì)成績(jī)管理程序設(shè)計(jì)的開發(fā)是為了方便記錄比賽成績(jī),運(yùn)動(dòng)員的情況和成績(jī),對(duì)比賽成績(jī)進(jìn)行排名。這個(gè)系統(tǒng)以快捷,簡(jiǎn)便為原則,更加方便了運(yùn)動(dòng)會(huì)1.41.5需求分析舉行不同規(guī)模的田徑運(yùn)動(dòng)會(huì)。但是,在運(yùn)動(dòng)會(huì)舉行過程中一直存在著參賽人數(shù)多,項(xiàng)目設(shè)置復(fù)雜,時(shí)間安排緊湊等問題,而且這些問題能否解決直接關(guān)系著運(yùn)動(dòng)會(huì)的成功與否。另一方面,人們對(duì)于比賽結(jié)果的實(shí)時(shí)性、準(zhǔn)確性、安全性、可靠性的要求也越來越高,而這些要求是人工操作很難實(shí)現(xiàn)的。同時(shí)競(jìng)賽組織者要盡量減少人為因素的干擾,減少賽場(chǎng)作弊行為的發(fā)生,還要為參賽的教練員和運(yùn)動(dòng)員及時(shí)準(zhǔn)確地提供競(jìng)賽的相關(guān)信息,輔助進(jìn)行競(jìng)賽的決策指導(dǎo)。因此,計(jì)算機(jī)技術(shù)的融入就成為一種必然,而且逐漸成為運(yùn)動(dòng)會(huì)信息管理的核心所在。我們小組根據(jù)當(dāng)前學(xué)校運(yùn)動(dòng)會(huì)的開展組織情況,結(jié)合運(yùn)動(dòng)會(huì)的組適合學(xué)校運(yùn)動(dòng)會(huì)的運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)。入以及其后的運(yùn)行中學(xué)生數(shù)據(jù)的追加功能;入進(jìn)行刪除;更改數(shù)據(jù)函數(shù):可以實(shí)現(xiàn)對(duì)運(yùn)動(dòng)員的各項(xiàng)信息進(jìn)行修改;顯示函數(shù);實(shí)現(xiàn)的是顯示目前所有的有效運(yùn)動(dòng)員記錄信息。除了門成績(jī),在程序當(dāng)中,將運(yùn)動(dòng)員記錄類型定義為結(jié)構(gòu)類型。模塊設(shè)計(jì)圖運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)添加運(yùn)動(dòng)員數(shù)據(jù)顯示運(yùn)動(dòng)員數(shù)據(jù)刪除運(yùn)動(dòng)員數(shù)據(jù)查詢運(yùn)動(dòng)員數(shù)據(jù)更改運(yùn)動(dòng)員數(shù)據(jù)百米賽跑排序跳遠(yuǎn)成績(jī)排序圖3---1排列數(shù)據(jù)函數(shù):該函數(shù)的核心內(nèi)容是排序算法。該文件執(zhí)行時(shí),首先調(diào)用函數(shù)將數(shù)據(jù)中的運(yùn)動(dòng)員信息傳遞到排序函數(shù)當(dāng)中顯示相應(yīng)成績(jī)的運(yùn)動(dòng)員排名情況。刪除數(shù)據(jù)函數(shù):該函數(shù)的核心是應(yīng)用刪除算法。該函數(shù)執(zhí)行時(shí),首先調(diào)用函數(shù)將數(shù)據(jù)中的除運(yùn)動(dòng)員信息后,還要將更改后的信息重新寫會(huì)文件當(dāng)中,以保證數(shù)據(jù)的一致性。NSNS當(dāng)當(dāng)1假輸入值n=1?假真輸入運(yùn)動(dòng)n=2?員信息n=3?Input假顯示運(yùn)動(dòng) 員信息函n=4?假數(shù)真DisplayDisplay 刪除運(yùn)動(dòng)n=5?假()員信息函真查詢運(yùn)動(dòng)數(shù)n=6?假員信息函Delete-a真數(shù)Query 修改運(yùn)動(dòng)--record百米成績(jī)n=7?假-- 員信息函()排序函數(shù) 跳遠(yuǎn)成績(jī)排a--recor 數(shù)abc() 序函數(shù)退出d()changebcd()()圖4—1總分排序函數(shù)n=reads()循環(huán)變量I=0當(dāng)時(shí)J<n-1n=reads()循環(huán)變量I=0當(dāng)時(shí)J<n-1J=0當(dāng)J<n-1時(shí)當(dāng)J<n-1時(shí)JJ+1真假交換兩個(gè)運(yùn)動(dòng)員信息j++J++i++i=0i<n輸出運(yùn)動(dòng)員信息和排名情況i++圖4 2對(duì)于某項(xiàng)的排序方法采用是冒泡法排序,整個(gè)排序過程在結(jié)構(gòu)數(shù)組per中實(shí)現(xiàn),由于運(yùn)動(dòng)員排序名次的確定,僅在結(jié)果輸出時(shí)予以顯示,并未將名次與信息寫入源文件。存儲(chǔ)結(jié)構(gòu)及函數(shù)說明本系統(tǒng)中用到了結(jié)構(gòu)體數(shù)組和數(shù)據(jù)的存儲(chǔ)。該結(jié)構(gòu)體數(shù)組中包含字符串,系統(tǒng)的設(shè)計(jì):方案如下:(1)數(shù)據(jù)結(jié)構(gòu)typedefstruct//結(jié)構(gòu)體{charscore[10];charname[10];charsex[10];//性別//編號(hào)//姓名floatbaimi;floatjump;charage[8];charadds[20];//百米//跳遠(yuǎn)//年齡//院系}Person;菜單設(shè)計(jì)一個(gè)總菜單,添加運(yùn)動(dòng)員數(shù)據(jù)顯示運(yùn)動(dòng)員數(shù)據(jù)刪除運(yùn)動(dòng)員數(shù)據(jù)查詢運(yùn)動(dòng)員數(shù)據(jù)修改成績(jī)排序百米成績(jī)排序;跳遠(yuǎn)成績(jī)排序0.退出程序基本功能的實(shí)現(xiàn)將體現(xiàn)在這幾個(gè)菜單選項(xiàng)中(3)函數(shù)添加運(yùn)動(dòng)員信息的函數(shù)intInput(Personper[],intn){inti=0;charsign='a',x[10];while(sign!='n'&&sign!='N'){printf("\t編號(hào):");scanf("\t%d",&per[n+i].score);printf("\t姓名:");scanf("\t%s",per[n+i].name);printf("\t年齡:");scanf("\t%s",per[n+i].age);printf("\t院系:");scanf("\t%s",per[n+i].adds);printf("\t百米:");scanf("\t%s",per[n+i].baimi);printf("\t跳遠(yuǎn):");scanf("\t%s",per[n+i].jump);gets(x);printf("\n\t是否繼續(xù)添加?(Y/N)");scanf("\t%c",&sign);i++;}return(n+i);}顯示運(yùn)動(dòng)員信息函數(shù)voidDisplay(Personper[],intn){inti;printf("----------------------------------------------------------------------\n"); /*格式*/printf("編號(hào) 姓名 年齡 院系 百米 跳遠(yuǎn)\n");--\n");for(i=1;i<n+1;i++){printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].adds,per[i-1].baimi,per[i-1].jump);if(i>1&&i%10==0){printf("\t \n");printf("\t");system("pause");printf("\t \n");}}printf("----------------------------------------------------------------------\n");system("pause");}刪除函數(shù)intDelete_a_record(Personper[],intn){chars[20];inti=0,j;printf("\t請(qǐng)輸入想刪除記錄中的名字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t記錄中沒有此人!\n");return(n);}for(j=i;j<n-1;j++){strcpy(per[j].baimi,per[j+1].baimi);strcpy(per[j].name,per[j+1].name);strcpy(per[j].age,per[j+1].age);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].jump,per[j+1].jump);per[j].score=per[j+1].score;}printf("\t\t\t已經(jīng)成功刪除!\n");return(n-1);}查詢函數(shù)voidQuery_a_record(Personper[],intn){intm;printf("\t\n請(qǐng)選擇查詢方式:\n");printf("\t┌──────┐\n");printf("\t│1------姓名│\n");printf("\t│2--百米成績(jī)│\n");printf("\t│3------編號(hào)│\n");printf("\t│4------返回│\n");printf("\t└──────┘\n");printf("請(qǐng)選擇:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf("輸入錯(cuò)誤,請(qǐng)重新選擇:");scanf("%d",&m);}排序函數(shù)Personper[80],temp;;voidabc(Personper[],intn){ inti,j,index;for(i=0;i<n-1;i++){index=i; //for(j=i+1;j<n;j++)if(per[j].baimi<per[index].baimi)index=j;per[i]=temp;}/*for(i=1;i<n;i++) //forj=0;j<n-i;j++)if(per[j].num>per[j+1].num){temp=per[j];per[j]=per[j+1];per[j+1]=temp;}*/printf(" \n");printf("編號(hào) 姓名 年齡 院系 百米 \n");printf(" \n");for(i=1;i<n+1;i++)printf("%-5d%-8s%-6s%-13s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].adds,per[i-1].baimi);}課程設(shè)計(jì)結(jié)果顯示主界面6--1添加運(yùn)動(dòng)員記錄的界面6---2顯示運(yùn)動(dòng)員記錄界面6--3刪除運(yùn)動(dòng)員記錄界面6--4查詢運(yùn)動(dòng)員記錄界面6--86--96---10退出程序界面1--11實(shí)踐心得體會(huì)C負(fù)有心人,一番努力后,最終還是克服了它。力顯著的提高了。而且夯實(shí)了CC的熬夜奮斗,換來今日之成果,可喜可賀。愿在以后的C語言學(xué)習(xí)道路上,和大家相互合作,迎接挑戰(zhàn),共同提高!鑄就輝煌!附錄:#include<stdio.h>#include<stdlib.h>#include<string.h>typedefstruct{charscore[10];charname[10];charsex[10];floatbaimi;floatjump;charage[8];charadds[20];}Person;Personper[80],temp;voidabc(Personper[],intn){ inti,j,index;for(i=0;i<n-1;i++){index=i;
//結(jié)構(gòu)體//編號(hào)//姓名//性別//百米//跳遠(yuǎn)//年齡//院系//百米排序for(j=i+1;j<n;j++)if(per[j].baimi<per[index].baimi)index=j;temp=per[index];per[index]=per[i];per[i]=temp;}/*for(i=1;i<n;i++) //forj=0;j<n-i;j++)if(per[j].num>per[j+1].num){temp=per[j];per[j]=per[j+1];per[j+1]=temp;}*/printf(" \n");printf("編號(hào)姓名性別年齡院系百米\n");printf(" for(i=1;i<n+1;i++)printf("%-8s%-8s%-14s%-10s%-9s%-15f\n",per[i-1].score,per[i-1].name,per[i-1].sex,per[i-1].age,per[i-1].adds,per[i-1].baimi);}voidbcd(Personper[],intn) //跳遠(yuǎn)排序{ inti,j;for(i=1;i<n;i++)for(j=0;j<n-i;j++)if(per[j].jump<per[j+1].jump){temp=per[j];per[j]=per[j+1];per[j+1]=temp;}printf(" \n");printf("編號(hào)姓名性別年齡院系跳遠(yuǎn)\n");printf(" for(i=1;i<n+1;i++)printf("%-8s%-8s%-14s%-10s%-9s%-15f\n",per[i-1].score,per[i-1].name,per[i-1].sex,per[i-1].age,per[i-1].adds,per[i-1].jump);}intmenu_select() //主菜單{charc;do{system("cls");printf("\t\t **********\n");printf("\t\t\t┌───────┐\n");printf("\t\t\t│1.添加記錄 printf("\t\t\t│2.顯示記錄 printf("\t\t\t│3.刪除記錄 printf("\t\t\t│4.查詢記錄 printf("\t\t\t│5.修改記錄 printf("\t\t\t│6.百米排名 printf("\t\t\t│7.跳遠(yuǎn)排名 printf("\t\t\t│0.退出程序 printf("\t\t\t└───────┘\n");printf("\t\t請(qǐng)您選擇(0-7):");c=getchar();}while(c<'0'||c>'7');return(c-'0');}intInput(Personper[],intn){inti=0;charsign='a',x[10];while(sign!='n'&&sign!='N'){printf("\t編號(hào):");scanf("\t%s",per[n+i].score);printf("\t姓名:");scanf("\t%s",per[n+i].name);printf("\t性別:");scanf("\t%s",per[n+i].sex);printf("\t年齡:");scanf("\t%s",per[n+i].age);printf("\t院系:");scanf("\t%s",per[n+i].adds);printf("\t百米:");scanf("\t%f",&per[n+i].baimi);printf("\t跳遠(yuǎn):");scanf("\t%f",&per[n+i].jump);gets(x);printf("\n\t是否繼續(xù)添加?(Y/N)");scanf("\t%c",&sign);i++;}return(n+i);}voidDisplay(Personper[],intn){inti;printf(" \n");/*格式*/printf("編號(hào)姓名性別年齡院系百米跳遠(yuǎn)\n");printf(" for(i=1;i<n+1;i++){printf("%-5s%-8s%-6s%-6s%-13s%-15f%-15f\n",per[i-1].score,per[i-1].name,per[i-1].sex,per[i-1].age,per[i-1].adds,per[i-1].baimi,per[i-1].jump);if(i>1&&i%10==0){printf("\t \n");printf("\t");system("pause");printf("\t \n");}}printf(" \n");system("pause");}intDelete_a_record(Personper[],intn){chars[20];inti=0,j;printf("\t請(qǐng)輸入想刪除記錄中的名字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t記錄中沒有此人!\n");return(n);}for(j=i;j<n-1;j++){per[j].baimi=per[j+1].baimi;strcpy(per[j].name,per[j+1].name);strcpy(per[j].age,per[j+1].age);strcpy(per[j].sex,per[j+1].sex);strcpy(per[j].adds,per[j+1].adds);per[j].jump=per[j+1].jump;strcpy(per[j].score,per[j+1].score);}printf("\t\t\t已經(jīng)成功刪除!\n");return(n-1);}voidQuery_a_record(Personper[],intn){intm;printf("\t\n請(qǐng)選擇查詢方式:\n");printf("\t┌──────┐\n");printf("\t│1------姓名│\n");printf("\t│2--百米成績(jī)│\n");printf("\t│3------編號(hào)│\n");printf("\t│4------返回│\n");printf("\t└──────┘\n");printf("請(qǐng)選擇:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf("輸入錯(cuò)誤,請(qǐng)重新選擇:");scanf("%d",&m);}if(m==1){chars[20];inti=0;printf("\t請(qǐng)輸入想查詢的姓名:");scanf("\t%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t通訊錄中沒有此人!\n");return;}printf("\t此人編號(hào):%d\n",per[i].score);printf("\t此人年齡:%s\n",per[i].age);printf("\t此人性別:%s\n",per[i].sex);printf("\t院系:%s\n",per[i].adds);printf("\t跳高成績(jī):%.2\n",per[i].jump);printf("\t百米成績(jī):%.2f\n",per[i].baimi);};if(m==2){floats;intprintf("\t{printf("\t記錄中沒有此人!\n");return;}printf("\t此人編號(hào):%d\n",per[i].score);printf("\t此人姓名:%s\n",per[i].name);printf("\t此人性別:%s\n",per[i].sex);printf("\t此人年齡:%s\n",per[i].age);printf("\t院系:%s\n",per[i].adds);printf("\t跳遠(yuǎn)成績(jī):%.2f\n",per[i].jump);};if(m==3){chars[20];inti=0;printf("\t請(qǐng)輸入想查詢的編號(hào):");scanf("\t%s",s);while(strcmp(per[i].score,s)!=0&&i<n)i++;if(i==n){printf("\t記錄中沒有此人!\n");return;}printf("\t此人院系:%s\n",per[i].adds);printf("\t此人姓名:%s\n",per[i].name);printf("\t此人性別:%s\n",per[i].sex);printf("\t此人年齡:%s\n",per[i].age);printf("\t百米成績(jī):%.2f\n",per[i].baimi);printf("\t跳遠(yuǎn)成績(jī):%.2f\n",per[i].jump);};}voidChange(Personper[],intn){chars[20];inti=0;printf("\t請(qǐng)輸入想修改的記錄中的名字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t記錄中沒有此人!\n");return;}printf("
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)批發(fā)和零售業(yè)行業(yè)分析報(bào)告
- 電子商務(wù)視角下的網(wǎng)播與短視頻行業(yè)的用戶粘性及商業(yè)模式分析報(bào)告
- 2025年中國(guó)運(yùn)動(dòng)服制造行業(yè)市場(chǎng)深度分析及投資規(guī)劃建議報(bào)告
- 電車公司內(nèi)部培訓(xùn)師的角色與責(zé)任
- 施工企業(yè)節(jié)能減排報(bào)告
- 部編版:2022年七年級(jí)《道德與法治》上冊(cè)第三單元試卷與答案
- 煤礦開工令申請(qǐng)報(bào)告
- 入團(tuán)申請(qǐng)書咋寫
- 現(xiàn)代企業(yè)品牌建設(shè)與管理策略
- 現(xiàn)代辦公樓宇中的智能物流設(shè)施
- 智能制造行業(yè)市場(chǎng)競(jìng)爭(zhēng)力分析
- 輕鋼別墅-建筑流程
- 2023云南公務(wù)員考試《行測(cè)》真題(含答案及解析)【可編輯】
- 脾破裂護(hù)理查房
- 部編版五年級(jí)語文下課文四字詞語解釋
- 人教版高中物理必修一全套課件【精品】
- 酒店住宿水單模板1
- 一種仿生蛇形機(jī)器人的結(jié)構(gòu)設(shè)計(jì)
- 《世界遺產(chǎn)背景下的影響評(píng)估指南和工具包》
- 采購(gòu)項(xiàng)目需求論證報(bào)告模板
- 四川省中小流域暴雨洪水計(jì)算表格(尾礦庫(kù)洪水計(jì)算)
評(píng)論
0/150
提交評(píng)論