版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、10華中科技大學(xué)c語(yǔ)言實(shí)習(xí)“校際運(yùn)動(dòng)會(huì)" 管理系統(tǒng)一題目要求設(shè)計(jì)校際運(yùn)動(dòng)會(huì)管理系統(tǒng),實(shí)現(xiàn)學(xué)校、運(yùn)動(dòng)員信息和運(yùn)動(dòng)項(xiàng)目的錄入,比賽結(jié)果的輸入,各個(gè)學(xué)校比賽結(jié)果的查詢(xún),生成團(tuán)體總分報(bào)表,查看參賽學(xué)校信息和比賽項(xiàng)目信息。要求功能選擇用菜單實(shí)現(xiàn)。二 需求分析 根據(jù)題目要求應(yīng)提供鍵盤(pán)式菜單實(shí)現(xiàn)功能選擇,還應(yīng)提供信息的輸入操作,由于在程序中提供查詢(xún)功能所以應(yīng)有顯示、查找等操作。一、總體設(shè)計(jì)根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)的設(shè)計(jì)分為1、信息輸入模塊 2、比賽結(jié)果錄入模塊 3、查詢(xún)模塊。具體校際運(yùn)動(dòng)會(huì)管理系統(tǒng)分為 信息的輸入、結(jié)果的輸入、學(xué)校各個(gè)項(xiàng)目的得分的查尋、總體報(bào)表的生成。二、詳細(xì)設(shè)計(jì) 1、
2、主函數(shù) 主函數(shù)一般設(shè)計(jì)的比較簡(jiǎn)潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。其中功能模塊用菜單方式選擇。流程圖程序main()menu();/*menu 是菜單函數(shù)*/菜單函數(shù)程序如下: menu() int o,n; do puts("tt*MENU*"); puts("nntt 1.The information to writeinn"); puts("tt 2.The race result records to writeinn"); puts("tt 3.Search the informationn");
3、 puts("tt 4.Exitn"); puts("ntt*"); puts("nnChoice you number:"); scanf("%d",&n); if(n<1|n>4)o=1;getchar(); /*對(duì)選擇的數(shù)字進(jìn)行判斷*/ else o=0; while(o=1); /*選擇功能*/ switch(n) case 1:writein();break; /*信息輸入模塊*/ case 2:resultin();break; /*比賽結(jié)果輸入模塊*/ case 3:search(
4、);break; /*查詢(xún)模塊*/ case 4:exit(0); /*退出*/ 各個(gè)模塊的設(shè)計(jì)1、 信息輸入 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體的形式,包括學(xué)校、項(xiàng)目、運(yùn)動(dòng)員三個(gè)結(jié)構(gòu)體。比如學(xué)校結(jié)構(gòu)體成員包括學(xué)校校名、競(jìng)賽項(xiàng)目、得分;項(xiàng)目結(jié)構(gòu)體成員包括項(xiàng)目名、權(quán)值。struct student char shool10; char name10; char item10; char sex; int position; int mark;stuC; /*stuN中每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)學(xué)生*/struct item char name10; char sex; int mark;itC; /*itC中
5、每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)項(xiàng)目*/struct shool char name10; char item10; int mark;shoC /* shoC每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)學(xué)校;*/ 信息輸入模塊 根據(jù)題意把與運(yùn)動(dòng)員的學(xué)校、名字、項(xiàng)目、性別、名次、分?jǐn)?shù)作為結(jié)構(gòu)體成員,如果要存放若干個(gè)運(yùn)動(dòng)員的信息就用結(jié)構(gòu)體數(shù)組。 struct student char shool10; char name10; char item10; char sex; int position; int mark;stuC; /*stuC中每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)運(yùn)動(dòng)員*/ stuC中的C為運(yùn)動(dòng)員的個(gè)數(shù),程序中采用宏定義的方式定義
6、C=100,C的值可隨時(shí)在源程序中改變。 輸入運(yùn)動(dòng)員的學(xué)校、名字、項(xiàng)目、性別輸入運(yùn)動(dòng)員的名次并進(jìn)入選擇模式if(t=2) 返回主函數(shù)圖2 輸入模塊流程圖/*輸入模塊*/writein() /*輸入模塊*/ int t,r,i=0;extern j;char F,M;y=1; printf("nPlease writein the student's name:t");scanf("%s",&); /*輸入名字*/ printf("nPlease writein the student's shool:t
7、");scanf("%s",&stui.shool); /*輸入學(xué)校*/ printf("nPlease writein the student's item:t");scanf("%s",&stui.item); /*輸入項(xiàng)目*/loop_1: printf("nPlease writein the student's sex(W or M):t");scanf("%s",&stui.sex); /*輸入性別*/ if(stui.sex!=
8、39;W'&&stui.sex!='M')goto loop_1; /*選擇函數(shù)*/ printf("nPleasewritein the student's position:t");scanf("%d",&stui.position); mark(j,i);loop_2:printf("nnDo again?t1).Yest2).Not"); scanf("%d",&t); if(t!=2&&t!=1)goto loop_2; /*
9、調(diào)用goto結(jié)構(gòu)*/ if(t=2)menu(); i+; if(t=1);f=1; printf("Success!nPress any key+enter to menu.");scanf("%d",&r); /*返回主函數(shù)*/ menu();結(jié)果錄入模塊 該模塊的功能是輸入男女運(yùn)動(dòng)員的成績(jī),并由用戶(hù)選擇或定義各名次的分?jǐn)?shù)。 流程圖 提醒用戶(hù)先輸入運(yùn)動(dòng)員信息輸入學(xué)校的代號(hào)、男女運(yùn)動(dòng)項(xiàng)目的代號(hào)用戶(hù)選擇或定義各名次的分?jǐn)?shù)輸入成績(jī)并反回主函數(shù)程序 /*結(jié)果錄入模塊*/ resultin() /*結(jié)果錄入模塊*/ int h,r; extern N,
10、M,W,y; if(y=0) printf("Please establish system first!nPress any key +enter to menu. "); scanf("%d",&r); /*提醒用戶(hù)輸入運(yùn)動(dòng)員的基本信息*/ menu(); printf("nThe number of shool attended is:"); scanf("%d",&N); printf("nThe number of men item is:"); scanf("
11、;%d",&M); printf("nThe number of women item is:"); scanf("%d",&W); /*輸入學(xué)校的代號(hào)、男女運(yùn)動(dòng)項(xiàng)目的代號(hào)*/ printf("nThere are three form of marked you can choice:"); printf("nnt1).1th-7,2th-5,3th-3,4th-2,5th-1."); printf("nnt2).1th-5,2th-3,3th-1."); print
12、f("nnt3).Define by youself."); /*用戶(hù)自定義*/loop: printf("nnChoice the number(1-3):"); scanf("%d",&h); if(h>0&&h<4) switch(h) case 1:j=1;break; case 2:j=2;break; case 3:define_mark(); /*選擇積分模式*/ else goto loop; /*輸入錯(cuò)誤重新選擇*/ printf("Success!nPress any
13、key+enter to menu.");scanf("%d",&r); menu(); /*返回主函數(shù)*/查詢(xún)模塊 該模塊的功能是所有信息記錄完畢后用戶(hù)可以查詢(xún)學(xué)校比賽成績(jī),查看參賽學(xué)校信息和比賽項(xiàng)目信息等。流程圖選擇查詢(xún)模式并選擇查詢(xún)項(xiàng)目學(xué)校查詢(xún)程序項(xiàng)目查詢(xún)程序返回主菜單程序 /*查詢(xún)模塊*/ search() int e;char c;extern f; loop:printf("nThe form of searching you want to choice:nt1).By schoolnt2).Bt itemnt3).To menut
14、"); /*選擇查詢(xún)模式*/ scanf("%d",&e); switch(e) case 1:search_school();break; case 2:search_item();break; case 3:menu(); if(e>4|e<1)goto loop; printf("Press any key+enter to menu.");scanf("%s",&c);menu();search_school() /*學(xué)校查詢(xún)程序*/ int x,sum=0,w=0; struct stu
15、dent s; printf("nPlease enter the name of the school that you want to search:"); scanf("%s",&s.shool); printf_face(); for(x=0;x<C;x+) if(strcmp(s.shool,stux.shool)=0) /*調(diào)用stu結(jié)構(gòu)體*/ sum+=stux.mark; printf_one(x);w=1; /*讀出結(jié)構(gòu)體的數(shù)據(jù)*/ printf_sum(sum); if(w=0) printf("nn*The
16、name is wrong,press again!");search_school();search_item() /*項(xiàng)目查詢(xún)程序*/ int x,sum=0,w=0; struct student s; printf("nPlease enter the name of the item that you want to search:"); scanf("%s",&s.item); printf_face(); /*數(shù)據(jù)輸入*/ for(x=0;x<C;x+) if(strcmp(s.item,stux.item)=0)
17、/ *調(diào)用stu數(shù)組*/ sum+=stux.mark; printf_one(x);w=1; printf_sum(sum); /*數(shù)據(jù)輸出*/ if(w=0) printf("nn*The name is wrong,press again!");search_item();程序中調(diào)用的函數(shù) 記分的函數(shù)即用來(lái)確定不同的名次所得的不同分?jǐn)?shù)。 mark(int j,int i) int g; extern p15,q15; if(j=1) if(stui.position=1)stui.mark=7; else if(stui.position=2)stui.mark=5;
18、 else if(stui.position=3)stui.mark=3; else if(stui.position=4)stui.mark=2; else if(stui.position=5)stui.mark=1; if(j=2) if(stui.position=1)stui.mark=5; else if(stui.position=2)stui.mark=3; else if(stui.position=3)stui.mark=1; if(j=3) for(g=0;g<15;g+)if(stui.position=pg)stui.mark=qg;define_mark() /*自定義名次分?jǐn)?shù)的子函數(shù)*/ static int p15,q15,a,b,j; for(a=0;a<15;a+) printf("nThe position(1-15):");scanf("%d",&pa); printf("nThe mark you want to define(Integral):");
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋買(mǎi)賣(mài)合同貸款的審批流程3篇
- 旅游公司導(dǎo)游領(lǐng)隊(duì)勞動(dòng)合同模板3篇
- 擺脫責(zé)任書(shū)負(fù)擔(dān)3篇
- 旅游產(chǎn)品經(jīng)理雇傭合同3篇
- 旅游巴士租用合同
- 文藝演出化妝造型協(xié)調(diào)合同3篇
- 方居間合同工作范文3篇
- 工業(yè)設(shè)備拆除合同3篇
- 城市生態(tài)修復(fù)工程合同
- 學(xué)校運(yùn)動(dòng)場(chǎng)照明施工協(xié)議
- 2023-2024學(xué)年全國(guó)小學(xué)四年級(jí)上語(yǔ)文人教版期末試卷(含答案解析)
- 2024年大學(xué)經(jīng)濟(jì)管理學(xué)院招聘考試題及答案
- 《2023版CSCO鼻咽癌診療指南》解讀課件
- 靜配中心述職報(bào)告
- 智能建造施工技術(shù) 課件全套 王春林 項(xiàng)目1-11 智能建造施工概論- 外墻保溫與建筑施工碳排放計(jì)算
- T31SAMA 005-2024 增材制造 金屬粉末床熔融制造操作安全要求
- 動(dòng)火作業(yè)管理規(guī)定
- DL∕T 248-2012 輸電線路桿塔不銹鋼復(fù)合材料耐腐蝕接地裝置
- 結(jié)構(gòu)設(shè)計(jì)原理練習(xí)題及答案
- 國(guó)標(biāo)《電化學(xué)儲(chǔ)能電站檢修試驗(yàn)規(guī)程》
- 天津市長(zhǎng)期護(hù)理保險(xiǎn)護(hù)理服務(wù)項(xiàng)目和標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論