校運(yùn)動(dòng)會(huì)管理系統(tǒng)報(bào)告C語言含完整代碼_第1頁
校運(yùn)動(dòng)會(huì)管理系統(tǒng)報(bào)告C語言含完整代碼_第2頁
校運(yùn)動(dòng)會(huì)管理系統(tǒng)報(bào)告C語言含完整代碼_第3頁
校運(yùn)動(dòng)會(huì)管理系統(tǒng)報(bào)告C語言含完整代碼_第4頁
校運(yùn)動(dòng)會(huì)管理系統(tǒng)報(bào)告C語言含完整代碼_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、、程序分析與設(shè)計(jì)(標(biāo)題四號(hào)宋體加黑,正文五號(hào)宋體,行間距固定值18 ,首行縮進(jìn) 2字符)1題目描述初始化輸入:N-參賽院系總數(shù),M-男子競(jìng)賽項(xiàng)目數(shù),W女子競(jìng)賽項(xiàng)目數(shù);即 要求輸入一些基礎(chǔ)數(shù)據(jù),如院系名稱,每個(gè)院系參賽選手及選手編號(hào)。競(jìng)賽 項(xiàng)目名稱與代號(hào)。這些數(shù)據(jù)存儲(chǔ)在文本文件中,不需要每次都單條錄入。 各項(xiàng)目名次取法有如下幾種:取前4名:第 1名得分 6,第2名得分4,第3名得分 2,第4名得分 1; 由程序提醒用戶填寫比賽結(jié)果,輸入各項(xiàng)目獲獎(jiǎng)運(yùn)動(dòng)員的信息。所有信息記錄完畢后,用戶可以查詢各個(gè)院系或個(gè)人的比賽成績(jī),生成團(tuán)體 總分報(bào)表,查看參賽院系信息、獲獎(jiǎng)運(yùn)動(dòng)員、比賽項(xiàng)目信息等。2需求分析 根

2、據(jù)題目要求應(yīng)提供鍵盤式菜單實(shí)現(xiàn)功能選擇,還應(yīng)提供信息的輸入操作, 由于在程序中提供查詢功能所以應(yīng)有顯示、查找等操作。3總體設(shè)計(jì)根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)的設(shè)計(jì)分為 1信息輸入模塊2、比 賽結(jié)果錄入模塊 3 、查詢模塊。具體校際運(yùn)動(dòng)會(huì)管理系統(tǒng)分為 信息的輸入、 結(jié)果的輸入、學(xué)校各個(gè)項(xiàng)目的得分的查尋、總體報(bào)表的生成。4詳細(xì)設(shè)計(jì)( 1)主函數(shù) 主函數(shù)一般設(shè)計(jì)的比較簡(jiǎn)潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。其 中功能模塊用菜單方式選擇。(2)密碼登陸函數(shù)首先進(jìn)入歡迎界面, 提示用戶輸入密碼進(jìn)入系統(tǒng), 密碼輸入次數(shù)限制為三次, 三次輸入錯(cuò)誤則退出系統(tǒng),登陸成功顯示菜單欄(3)菜單函數(shù) 提醒用戶

3、根據(jù)要求選擇功能,以及多次功能選取(4)輸入函數(shù) 進(jìn)入該功能后提醒用戶輸入相應(yīng)信息,即數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體的 形式,選手結(jié)構(gòu)體成員包括選手的姓名、編號(hào)、各項(xiàng)目的成績(jī)排名、選手所 在學(xué)院等。(5)查找函數(shù) 提醒用戶輸入運(yùn)動(dòng)員的姓名或編號(hào),根據(jù)姓名或編號(hào)逐一比對(duì)信息,若條件 滿足則輸出該選手的數(shù)據(jù),若不滿足則返回你要找的運(yùn)動(dòng)員未找到'(6)排序函數(shù) 根據(jù)運(yùn)動(dòng)員的百米成績(jī)進(jìn)行冒泡排序,并輸出結(jié)果(7)修改函數(shù) 提醒用戶輸入運(yùn)動(dòng)員的姓名,根據(jù)姓名逐一比對(duì)信息,若找到則提供修改選 項(xiàng),對(duì)數(shù)據(jù)進(jìn)行覆蓋(8)得分計(jì)算函數(shù)根據(jù)用戶輸入各項(xiàng)成績(jī)排名,進(jìn)行得分運(yùn)算并得出學(xué)院排名(9)刪除函數(shù)用于輸

4、入信息的刪除(10)插入函數(shù)用于輸入新的信息(11)保存函數(shù) 將用戶輸入的信息保存到文本文件中(12)顯示函數(shù)顯示用戶保存的信息二、流程圖三、源程序清單(此部分采用小五號(hào)宋體,行間距固定值14)#include<>#include<>#include<>#include<>#include <>#define load sizeof(student)#define N 7void read();void save();int size=3;struct studentchar num10;char name20;int scorem,

5、scoreq,scoreg,scorey;char ximing20;stuN,temp;void input() um,&,&stui.scorem,&stui.scoreq,&stui.scoreg,&stui.scorey,&stui.ximing)Jprintf(" 輸出運(yùn)動(dòng)員號(hào)碼 , 姓名 ,100 成績(jī) , 鉛球成績(jī) , 跳高成績(jī) , 跳遠(yuǎn)成績(jī) , 系名 :n"); for(i=0;i<size;i+)printf("%st%st%dt%dt%dt%dt%sn",stui

6、.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);void find() um,fs)=0)printf(" 你要找的運(yùn)動(dòng)員已找到 :n");printf(" 該生的號(hào)碼 , 姓名 ,100 米成績(jī) , 鉛球成績(jī) , 跳高成績(jī) , 跳遠(yuǎn)成績(jī) , 系名 :n");printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,

7、stui.scorey,stui.ximing);break;else if(strcmp(,fs)=0)printf(" 你要找的運(yùn)動(dòng)員已找到 :n");printf(" 該生的號(hào)碼 , 姓名 ,100 米成績(jī) , 鉛球成績(jī) , 跳高成績(jī) , 跳遠(yuǎn)成績(jī) , 系名 :n");printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);break;elsep

8、rintf(" 你要找的運(yùn)動(dòng)員未找到 :n");printf(" 該運(yùn)動(dòng)員缺賽或不存在 !");break;void paixu() corem<stuj.scorem)temp=stui;stui=stuj;stuj=temp;printf(" 排序后 :n");for(i=0;i<size;i+)printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui

9、.ximing);void xiugai()um,,stui.scorem,stui.scoreq,stui.scoreg,stui.scorey,stui.ximing);*/read();printf(" 輸入你要修改運(yùn)動(dòng)員的姓名 :");scanf("%s",ch2);for(i=0;i<size;i+)if(strcmp(,ch2)=0)printf("1. 修改號(hào)碼 n2. 修改姓名 n3. 修改100米成績(jī) n4. 修改鉛球成績(jī) n5. 修改跳高成 績(jī) n6. 修改跳遠(yuǎn)成績(jī) n7. 修改系名

10、 n");scanf("%d",&c);switch(c)case 1:printf(" 請(qǐng)輸入你修改的運(yùn)動(dòng)員號(hào)碼 :");scanf("%s",&num);strcpy(stui.num,num);break;case 2:printf(" 輸入你修改的運(yùn)動(dòng)員姓名 :n");scanf("%s",&name);strcpy(,name);break;case 3:printf(" 輸入你修改的運(yùn)動(dòng)員 100米成績(jī) :");

11、 scanf("%d",&scorem); stui.scorem=scorem;break;case 4:printf(" 輸入你修改運(yùn)動(dòng)員鉛球成績(jī) :"); scanf("%d",&scoreq); stui.scoreq=scoreq;break;case 5:printf(" 輸入你修改運(yùn)動(dòng)員跳高成績(jī) :"); scanf("%d",&scoreg); stui.scoreq=scoreq;break;case 6:printf(" 輸入你修改運(yùn)動(dòng)員跳遠(yuǎn)

12、成績(jī) :"); scanf("%d",&scorey); stui.scorey=scorey;break;case 7:printf(" 輸入你修改運(yùn)動(dòng)員系名 :"); scanf("%s",&ximing);strcpy(stui.ximing,ximing); break;default:printf(" 你的輸入有誤 :n");printf(" 修改后的運(yùn)動(dòng)員數(shù)據(jù) :n"); for(int i=0;i<size;i+)printf("%st%s

13、t%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);save();void defen()um,,stui.scorem,stui.scoreq,stui.scoreg,stui.scorey,stui.ximing); */read();printf(" 各系的得分總分排序 :n");for(i=0;i<size;i+)if(stui.scorem=1) x=3;else if(stui.sco

14、rem=2) x=2;else if(stui.scorem=3) x=1;else x=0;if(stui.scoreq=1) y=3;else if(stui.scoreq=2) y=2;else if(stui.scoreq=3) y=1;else y=0;if(stui.scoreg=1) z=3;else if(stui.scoreg=2) z=2;else if(stui.scoreg=3) z=1;else z=0;if(stui.scorey=1) w=3;else if(stui.scorey=2) w=2;else if(stui.scorey=3) w=1;else w=

15、0;for(i=0;i<size;i+)if(strcmp(stui.ximing,ch1)=0)o=x+y+z+w;printf(" 軟件系總得分 :%dn",o);else if(strcmp(stui.ximing,ch2)=0)p=x+y+z+w;printf(" 數(shù)媒系總得分 :%dn",p);else if(strcmp(stui.ximing,ch3)=0)q=x+y+z+w;printf(" 光電系總得分 :%dn",q);voidshancchu()um,,stui.scorem,stui.s

16、coreq,stui.scoreg,stui.scorey,stui.xim ing);*/read();printf(" 輸入你要?jiǎng)h除的運(yùn)動(dòng)員的姓名 :n");scanf("%s",&ch1);for(i=0;i<size;i+)if(strcmp(,ch1)=0)for(int j=i;j<size-1;j+) stuj=stuj+1;printf(" 刪除后的運(yùn)動(dòng)員數(shù)據(jù) :n");for(i=0;i<size-1;i+)printf("%st%st%dt%dt%dt%dt%s

17、n",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);size-;save();void charu() um);printf(" 姓名 :");scanf("%s",&);printf("100 米成績(jī) :");scanf("%d",&stusize.scorem);printf(" 鉛球成績(jī) :");scanf("%d&

18、quot;,&stusize.scoreq);printf(" 跳高成績(jī) :");scanf("%d",&stusize.scoreg);printf(" 跳遠(yuǎn)成績(jī) :");scanf("%d",&stusize.scorey);printf(" 系名 :");scanf("%s",&stusize.ximing);for(int i=0;i<size+1;i+)for(int j=i+1;j<size+1;j+)if(stui.s

19、corem<stuj.scorem)temp=stui;stui=stuj;stuj=temp;size+;printf(" 插入后運(yùn)動(dòng)員數(shù)據(jù) :n");for(int i=0;i<size;i+)printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);save();void save() .Saving the filen");um,,stui.s

20、corem,stui.scoreq,stui.scoreg,stui.scorey,stui.ximing);fclose(fp); successfully!n"); void read() FILE.Save the file*fp;um,&,&stui.scorem,&stui.scoreq,&stui.scoreg,&stui.scorey,&stui.xim ing);printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem

21、,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing); fclose(fp);入2. 查找n");printf("3.排序4. 修改n");printf("5.得分6. 刪除n");printf("7.插入8. 保存n");printf("9. 顯示0.退出 n");printf("=printf("請(qǐng)選擇功能<1-8>: bb");um,&,&stui.scorem,&st

22、ui.scoreq,&stui.scoreg,&stui.scorey,&stui.ximing);printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scoreq,stui.scoreg,stui.scorey,stui.ximing);fclose(fp); / 關(guān)閉文件做菜單功能多次選擇時(shí),令用戶輸入字符進(jìn)行選擇,然而程序總是退出,后來才知道也被算入用戶輸入的字符內(nèi),要在字符輸入后添加 getchar ()才能避免菜單失效做顯示函數(shù),屏幕顯示異常,總是反復(fù)顯示相同數(shù)據(jù)和亂碼,原來是結(jié)構(gòu)體初始化,當(dāng)中

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論