中文字幕大香视频蕉免费_全国最大色精网站_亚洲熟妇真实自拍另类_无码人妻精品一區

歡迎來到中博奧技術有限公司官網(wǎng)

奧賽運動會管理系統(tǒng)

時間:2023-02-06 作者:老師 來源:網(wǎng)絡 點擊量:

奧賽運動會管理系統(tǒng)

安全

奧賽運動會管理系統(tǒng)

運動會控制控制系統(tǒng)按照結(jié)構(gòu)可以分為哪幾類?其特點是什么?

奧賽運動會管理系統(tǒng)

運動會管理系統(tǒng)可以這樣設計
1 數(shù)據(jù)庫文檔設計
2 數(shù)據(jù)結(jié)構(gòu)設計
3 程序 (對數(shù)據(jù)庫的管理)
1 數(shù)據(jù)庫文檔 信息 存儲格式
運動會管理系統(tǒng) 首先要有運動員,參賽單位,運動會運動項目
可以分三個庫存放(這里的庫是廣義的,可以使用數(shù)據(jù)庫軟件系統(tǒng)的庫,可以使用自己定義的庫形式,或是文本文件)
運動員庫信息:
ID (唯一標示符)
姓名,性別,出生年月,(身高,體重,籍貫 等)
本次參賽項目: 項目1{項目ID 比賽時間 名次 破紀錄} 項目2...
參賽歷史: {運動會屆 單位 項目 名次 破紀錄} ...
(如果不實現(xiàn)歷史查詢功能,可去掉參賽歷史記錄)
參賽單位:
單位ID
單位名稱
參賽運動員{ID } ...
參賽項目{項目ID }...
往屆參賽{運動員,項目及成績,}
運動項目:
項目ID
項目名稱
比賽時間
參賽運動員ID
名次1 2 3 4 5 6
運動會紀錄{運動會屆,紀錄年月日,紀錄,保持者ID}
省(地區(qū))運動會紀錄{運動會屆,紀錄年月日,紀錄,保持者}
全運會紀錄{運動會屆,紀錄年月日,紀錄,保持者ID}
亞運會紀錄...
世界紀錄...
三個庫文件最好采用固定紀錄長度存儲,方便存取管理操作,尤其是運動員信息庫
2 數(shù)據(jù)結(jié)構(gòu)設計
設計三個類分別對應三個庫,數(shù)據(jù)成員與庫字段設置相同
運動員信息類中的參賽項目可以采用鏈表形式 或數(shù)組形式
參賽歷史采用鏈表形式
Class 運動員
成員函數(shù)實現(xiàn)
構(gòu)造函數(shù)(有參 無參)
析構(gòu)函數(shù) (回收動態(tài)分配單元)
讀取數(shù)據(jù)庫(讀取當前紀錄)
讀取數(shù)據(jù)庫(讀取本運動員的歷史記錄)
保存入數(shù)據(jù)(本運動員信息創(chuàng)建保存,覆蓋保存)
本次運動會參賽項目及成績( 可設 成績?yōu)?-1 為參加項目 0 為無取得名次)
本次代表單位
往屆運動會參賽項目及成績
往屆代表單位
...
等等
Class 參賽單位
數(shù)據(jù)成員與庫字段設置相同
參賽運動員ID可以用數(shù)組或鏈表
參賽項目可以用數(shù)組或鏈表
成員函數(shù)
構(gòu)造函數(shù)(有參,無參),析構(gòu)函數(shù)
讀庫,寫庫
本屆運動會成績統(tǒng)計,項目統(tǒng)計,運動員統(tǒng)計
往屆運動會成績統(tǒng)計,
Class 項目
數(shù)據(jù)成員設置與庫對應
成員函數(shù)
構(gòu)造函數(shù)析構(gòu)函數(shù)
庫存取
項目統(tǒng)計(各單位得分統(tǒng)計)
紀錄查詢
3 主程序
聲明類對象
打開數(shù)據(jù)庫
菜單功能
參賽單位管理
添加修改參賽單位
查詢參賽單位
運動員,項目,積分統(tǒng)計
運動會項目管理
項目計劃安排
項目結(jié)果錄入
項目歷史查詢
運動員檔案管理
添加
修改
查詢
刪除
不完善,樓主清自己再根據(jù)需要和要求完善

C語言程序設計。。設計一個運動會管理系統(tǒng),用于管理比賽時體操、跳水、滑冰等賽事裁判員對賽事的評分。

這需要找一個學過編程的來設計哦

設計一個運動會管理系統(tǒng),要求如下:

這是源代碼哦,要加分的!~~~~~
#include <stdio.h>

#include <stdlib.h>

#include <ctype.h>

#include<string.h>

int a,b,c,d,i,j;

struct node

{

int num;

};

struct node *f[22];

void exit0()

{

FILE *fp;

int k;

alp:if((fp=fopen("sore.txt","w"))==NULL)

{

printf("創(chuàng)建文件失敗\n");

printf(" 1*****重試\n");

printf(" 2*****強制退出(數(shù)據(jù)將不會保存到文件)\n");

printf(" 3*****回到主菜單\n");

alj: scanf("%d",&k);

if(k==1)

goto alp;

else if(k==2)

exit(0);

else if(k==3)

return;

else

{

printf("輸入錯誤,請重新輸入:");

goto alj;

}

}

fprintf(fp,"\n\n");

fprintf(fp,"運動會分數(shù)統(tǒng)計表\n\n\n");

fprintf(fp,"項目代號");

for(i=1;i<=c+d;i++)

fprintf(fp,"%5d",i);

fprintf(fp," ");

fprintf(fp,"\n 學校代號\n");

for(i=1;i<=a;i++)

{

fprintf(fp,"%10d",i);

for(b=1;b<=c+d;b++)

{

fprintf(fp,"%5d",f[i][b].num);

}

fprintf(fp,"\n");

}

fprintf(fp,"\n\n");

fprintf(fp," 注:本次運動會有%d個學校參賽\n\n",a);

fprintf(fp," 其中1 ~ %d組是男子組,%d ~ %d組是女子組\n",c,c+1,c+d);

printf("\n比賽成績已保存到當前路徑下的sore.txt文件中\(zhòng)n\n");

fclose(fp);

exit(1);

}

int choose()

{

int choo;

printf("\n\n 1*輸入成績\n");

printf(" 2*統(tǒng)計各學校的總分\n");

printf(" 3*出按學校編號排序輸\n");

printf(" 4*按學??偡峙判蜉敵鯸n");

printf(" 5*按男團體總分排序輸出\n");

printf(" 6*按女團體總分排序輸出\n");

printf(" 7*按學校編號查詢學校某個項目的成績\n");

printf(" 8*按項目編號查詢?nèi)〉们叭蚯拔迕膶W校\n");

printf(" 9*退出\n\n");

printf("請選擇:");

scanf("%d",&choo);

return(choo-1);

}

void input()

{

int ab,ac,ae,af,g=1,get[5]={0,0,0,0,0};

printf("\n請輸入項目代號:");

ale:scanf("%d",&ab);

if(ab>c+d||ab<1)

{

printf("\n此項目代號不存在,重新輸入\n");

goto ale;

}

ae=0;

for(i=0;i<=a;i++)

{

if(f[i][ab].num!=0)

{

ae=1;

break;

}

}

if(ae==1)

{

al2: printf("\n此項目成績曾經(jīng)已被錄入過,是否要重新錄入(您輸入的項目代號可能有誤,強烈建議您查證后再錄入):\n");

printf(" 1++++重新錄入(若重新錄入,以前的該項目成績將被刪除)\n");

printf(" 2++++不要,待查證后再錄入\n\n");

scanf("%d",&af);

if(af==2)

{

printf("您已取消錄入?。。。?!\n");

return;

}

else if(af==1)

{

for(i=1;i<=a;i++)

{

if(f[i][ab].num!=0)

{

f[i][0].num=f[i][0].num-f[i][ab].num;

if(ab<=c)

f[i][c+d+1].num=f[i][c+d+1].num-f[i][ab].num;

else

f[i][c+d+2].num=f[i][c+d+2].num-f[i][ab].num;

}

f[i][ab].num=0;

}

}

else

goto al2;

}

al: printf("\n此項目是以前幾名為勝出者:\n\n");

printf(" 3-------以前三名\n");

printf(" 5-------以前五名\n\n");

scanf("%d",&ac);

if(ac==3)

{

printf("\n請依次輸入獲勝學校代號:");

af=5;

for(i=0;i<3;i++)

{

alq: scanf("%d",&ae);

if(ae>a||ae<1)

{

printf("%d學校代號不存在,重新輸入第%d名的學校代號\n",ae,g);

goto alq;

}

for(b=0;b<5;b++)

{

if(ae==get[b])

{

printf("同一個學校不能在同一項目中有兩個名次,請重新輸入第%d名的學校代號!??!\n",g);

goto alq;

}

else

get[b]=ae;

}

f[ae][0].num=f[ae][0].num+af;

f[ae][ab].num=af;

if(ab<=c)

f[ae][c+d+1].num=f[ae][c+d+1].num+af;

else

f[ae][c+d+2].num=f[ae][c+d+2].num+af;

if(af>3)

af=af-2;

else

af--;

g++;

}

}

else if(ac==5)

{

printf("請依次輸入獲勝學校代號:");

af=7;

for(i=0;i<5;i++)

{

alw: scanf("%d",&ae);

if(ae>a||ae<1)

{

printf("%d學校代號不存在,重新輸入第%d名的學校代號\n",ae,g);

goto alw;

}

for(b=0;b<5;b++)

{

if(ae==get[b])

{

printf("同一個學校不能在同一項目中有兩個名次,請重新輸入第%d名的學校代號?。?!\n",g);

goto alw;

}

else

get[b]=ae;

}

f[ae][0].num=f[ae][0].num+af;

f[ae][ab].num=af;

if(ab<=c)

f[ae][c+d+1].num=f[ae][c+d+1].num+af;

else

f[ae][c+d+2].num=f[ae][c+d+2].num+af;

if(af>3)

af=af-2;

else

af--;

g++;

}

}

else

goto al;

printf("\n\n 輸入完成 ! ! ! ! \n");

}

void each()

{

printf("\n 對應的格式為:\n 學校代號:團體總成績\n\n ");

for(i=1;i<=a;i++)

{

printf("%2d:%3d ",i,f[i][0].num);

if(i%3==0)

printf("\n ");

}

}

void biaohao()

{

printf("\n項目代號 ");

for(i=1;i<=c+d;i++)

{

if(i>9)

printf("%4d ",i);

else

printf("%5d ",i);

}

printf("\n");

printf("學校代號 \n");

for(i=1;i<=a;i++)

{

printf(" %d ",i);

for(b=1;b<=c+d;b++)

{

if(f[i][b].num>9)

printf("%4d",f[i][b].num);

else

printf("%5d",f[i][b].num);

}

printf("\n");

}

}

void zongfen()

{

struct nod

{

int ke;

int num;

};

int ha;

struct nod *de;

de=(struct nod *)malloc(sizeof(struct nod)*a+1);

printf("\n 按學校編號排序輸出\n\n");

printf(" 學校代號 總分\n\n");

for(i=1;i<=a;i++)

{

de[i].ke=i;

de[i].num=f[i][0].num;

}

for(i=1;i<=a;i++)

{

for(b=i;b<=a;b++)

{

if(de[b].num>de[i].num)

{

ha=de[b].ke;

de[b].ke=de[i].ke;

de[i].ke=ha;

ha=de[b].num;

de[b].num=de[i].num;

de[i].num=ha;

}

}

}

for(i=1;i<=a;i++)

{

printf("%13d%8d\n",de[i].ke,de[i].num);

}

}

void nanzong()

{

struct nod

{

int ke;

int num;

};

int ha;

struct nod *de;

de=(struct nod *)malloc(sizeof(struct nod)*a+1);

printf("\n 按男子團體總分排序輸出\n\n");

printf(" 學校代號 男子團體總分\n\n");

for(i=1;i<=a;i++)

{

de[i].ke=i;

de[i].num=f[i][c+d+1].num;

}

for(i=1;i<=a;i++)

{

for(b=i;b<=a;b++)

{

if(de[b].num>de[i].num)

{

ha=de[b].ke;

de[b].ke=de[i].ke;

de[i].ke=ha;

ha=de[b].num;

de[b].num=de[i].num;

de[i].num=ha;

}

}

}

for(i=1;i<=a;i++)

{

printf("%13d%12d\n",de[i].ke,de[i].num);

}

}

void nvzong()

{

struct nod

{

int ke;

int num;

};

int ha;

struct nod *de;

de=(struct nod *)malloc(sizeof(struct nod)*a+1);

printf(" 按女子團體總分排序輸出\n\n");

printf(" 學校代號 女子團體總分\n\n");

for(i=1;i<=a;i++)

{

de[i].ke=i;

de[i].num=f[i][c+d+2].num;

}

for(i=1;i<=a;i++)

{

for(b=i;b<=a;b++)

{

if(de[b].num>de[i].num)

{

ha=de[b].ke;

de[b].ke=de[i].ke;

de[i].ke=ha;

ha=de[b].num;

de[b].num=de[i].num;

de[i].num=ha;

}

}

}

for(i=1;i<=a;i++)

{

printf("%15d%13d\n",de[i].ke,de[i].num);

}

}

void xuexiao()

{

int dr,dt;

printf("\n請輸入您要查詢的學校代號:");

aly:scanf("%d",&dr);

if(dr>a||dr<1)

{

printf("學校代號不存在,重新輸入\n");

goto aly;

}

printf("請輸入您要查詢的項目代號:");

alo:scanf("%d",&dt);

if(dt>c+d||dt<1)

{

printf("項目代號不存在,重新輸入\n");

goto alo;

}

printf("\n\n %3d 學校的%3d 項目成績?yōu)?3d\n",dr,dt,f[dr][dt].num);

}

void xiangmu()

{

int ge,sedy=0;

printf("\n 請輸入您要查詢的項目代號:");

all:scanf("%d",&ge);

printf("\n");

if(ge>c+d||ge<1)

{

printf("沒有此項目代號,重新輸入\n");

goto all;

}

for(i=1;i<=a;i++)

{

if(f[b][ge].num==2)

sedy=1;

}

if(sedy==0)

{

printf("此項目沒有錄入成績\n");

return;

}

for(i=1;i<=a;i++)

{

if(f[i][ge].num==7)

{

printf(" 此項目取前5名獲獎者\n");

break;

}

}

if(i==a+1)

printf(" 此項目取前3名獲獎者\n");

printf("\n 獲勝名單由成績高到低依次為:\n\n ");

for(i=7;i>0;i--)

{

for(b=1;b<=a;b++)

{

if(f[b][ge].num==i)

printf("%5d",b);

}

}

}

void(*g[])()={input,each,biaohao,zongfen,nanzong,nvzong,xuexiao,xiangmu,exit0};

void main()

{

int choos;

printf("\n\n * * * 運動會分數(shù)統(tǒng)計 * * *\n\n\n");

printf("共有多少個學校參賽:");

scanf("%d",&a);

while(a<=0||a>20)

{

if(a<=0)

{

printf("\n 參賽學校個數(shù)不能是負數(shù)或零\n\n");

printf("共有多少個學校參賽:");

scanf("%d",&a);

}

if(a>20)

{

printf("\n 參賽學校個數(shù)不能大于20\n\n");

printf("共有多少個學校參賽:");

scanf("%d",&a);

}

}

printf("有幾個男子組:");

scanf("%d",&c);

printf("有幾個女子組:");

scanf("%d",&d);

for(i=0;i<=a;i++)

{

f[i]=(struct node *)malloc(sizeof(struct node)*(c+d+3));

for(j=0;j<=c+d+2;j++)

f[i][j].num=0;

}

choos=choose();

while(1)

{

while(choos<0||choos>8)

choos=choose();

(*g[choos])();

printf("\n");

choos=choose();

}

}

標簽

相關資訊

我是中博奧客服:小奧
中博奧技術有限公司& 版權(quán)所有工信部備案號:豫ICP備11015869號-8 Copyright ? 2023-2024

檔案整理檔案數(shù)字化

檔案掃描檔案管理軟件系統(tǒng)

TEL:18937133779

To Top