无码日韩精品一区二区免费_国产精品原创视频一区二区_97超视频国产免费_日本亚洲欧美在线AⅤ

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

奧賽運(yùn)動(dòng)會(huì)管理系統(tǒng)

時(shí)間:2023-02-06 作者:老師 來(lái)源:網(wǎng)絡(luò) 點(diǎn)擊量:

奧賽運(yùn)動(dòng)會(huì)管理系統(tǒng)

安全

奧賽運(yùn)動(dòng)會(huì)管理系統(tǒng)

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

奧賽運(yùn)動(dòng)會(huì)管理系統(tǒng)

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

C語(yǔ)言程序設(shè)計(jì)。。設(shè)計(jì)一個(gè)運(yùn)動(dòng)會(huì)管理系統(tǒng),用于管理比賽時(shí)體操、跳水、滑冰等賽事裁判員對(duì)賽事的評(píng)分。

這需要找一個(gè)學(xué)過(guò)編程的來(lái)設(shè)計(jì)哦

設(shè)計(jì)一個(gè)運(yùn)動(dòng)會(huì)管理系統(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*****強(qiáng)制退出(數(shù)據(jù)將不會(huì)保存到文件)\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("輸入錯(cuò)誤,請(qǐng)重新輸入:");

goto alj;

}

}

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

fprintf(fp,"運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)表\n\n\n");

fprintf(fp,"項(xiàng)目代號(hào)");

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

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

fprintf(fp," ");

fprintf(fp,"\n 學(xué)校代號(hào)\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," 注:本次運(yùn)動(dòng)會(huì)有%d個(gè)學(xué)校參賽\n\n",a);

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

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

fclose(fp);

exit(1);

}

int choose()

{

int choo;

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

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

printf(" 3*出按學(xué)校編號(hào)排序輸\n");

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

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

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

printf(" 7*按學(xué)校編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的成績(jī)\n");

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

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

printf("請(qǐng)選擇:");

scanf("%d",&choo);

return(choo-1);

}

void input()

{

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

printf("\n請(qǐng)輸入項(xiàng)目代號(hào):");

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

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

{

printf("\n此項(xiàng)目代號(hào)不存在,重新輸入\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此項(xiàng)目成績(jī)?cè)?jīng)已被錄入過(guò),是否要重新錄入(您輸入的項(xiàng)目代號(hào)可能有誤,強(qiáng)烈建議您查證后再錄入):\n");

printf(" 1++++重新錄入(若重新錄入,以前的該項(xiàng)目成績(jī)將被刪除)\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此項(xiàng)目是以前幾名為勝出者:\n\n");

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

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

scanf("%d",&ac);

if(ac==3)

{

printf("\n請(qǐng)依次輸入獲勝學(xué)校代號(hào):");

af=5;

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

{

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

if(ae>a||ae<1)

{

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

goto alq;

}

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

{

if(ae==get[b])

{

printf("同一個(gè)學(xué)校不能在同一項(xiàng)目中有兩個(gè)名次,請(qǐng)重新輸入第%d名的學(xué)校代號(hào)?。。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("請(qǐng)依次輸入獲勝學(xué)校代號(hào):");

af=7;

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

{

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

if(ae>a||ae<1)

{

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

goto alw;

}

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

{

if(ae==get[b])

{

printf("同一個(gè)學(xué)校不能在同一項(xiàng)目中有兩個(gè)名次,請(qǐng)重新輸入第%d名的學(xué)校代號(hào)?。?!\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 對(duì)應(yīng)的格式為:\n 學(xué)校代號(hào):團(tuán)體總成績(jī)\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項(xiàng)目代號(hào) ");

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

{

if(i>9)

printf("%4d ",i);

else

printf("%5d ",i);

}

printf("\n");

printf("學(xué)校代號(hào) \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 按學(xué)校編號(hào)排序輸出\n\n");

printf(" 學(xué)校代號(hào) 總分\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 按男子團(tuán)體總分排序輸出\n\n");

printf(" 學(xué)校代號(hào) 男子團(tuán)體總分\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(" 按女子團(tuán)體總分排序輸出\n\n");

printf(" 學(xué)校代號(hào) 女子團(tuán)體總分\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請(qǐng)輸入您要查詢的學(xué)校代號(hào):");

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

if(dr>a||dr<1)

{

printf("學(xué)校代號(hào)不存在,重新輸入\n");

goto aly;

}

printf("請(qǐng)輸入您要查詢的項(xiàng)目代號(hào):");

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

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

{

printf("項(xiàng)目代號(hào)不存在,重新輸入\n");

goto alo;

}

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

}

void xiangmu()

{

int ge,sedy=0;

printf("\n 請(qǐng)輸入您要查詢的項(xiàng)目代號(hào):");

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

printf("\n");

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

{

printf("沒(méi)有此項(xiàng)目代號(hào),重新輸入\n");

goto all;

}

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

{

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

sedy=1;

}

if(sedy==0)

{

printf("此項(xiàng)目沒(méi)有錄入成績(jī)\n");

return;

}

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

{

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

{

printf(" 此項(xiàng)目取前5名獲獎(jiǎng)?wù)運(yùn)n");

break;

}

}

if(i==a+1)

printf(" 此項(xiàng)目取前3名獲獎(jiǎng)?wù)運(yùn)n");

printf("\n 獲勝名單由成績(jī)高到低依次為:\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 * * * 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì) * * *\n\n\n");

printf("共有多少個(gè)學(xué)校參賽:");

scanf("%d",&a);

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

{

if(a<=0)

{

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

printf("共有多少個(gè)學(xué)校參賽:");

scanf("%d",&a);

}

if(a>20)

{

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

printf("共有多少個(gè)學(xué)校參賽:");

scanf("%d",&a);

}

}

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

scanf("%d",&c);

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

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();

}

}

標(biāo)簽

相關(guān)資訊

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

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

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

TEL:18937133779

To Top