




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C程序設(shè)計實習報告 校際運動會管理系統(tǒng)一、題目要求(1)信息初始化 輸入:N參賽學校總數(shù),M男子競賽項目數(shù), W女子競賽項目數(shù); 各項目名次取法有如下幾種:錯誤!未找到引用源。 取前5名:第一名得分 7,第二名得分5,第三名得分3,第四名得分2,第五名得分1; 取前3名:第一名得分5,第二名得分3,第三名得分2; 用戶自定義:各名次權(quán)值由用戶指定。(2)提醒用戶填寫比賽結(jié)果,輸入各項目獲獎運動員信息。(3)所有信息記錄完畢后,用戶可以查詢各個學校的比賽成績,生成團體總分報表,察看參賽學校信息和比賽項目信息等。二.總體設(shè)計分析整個系統(tǒng),根據(jù)以上的需求分析及題目要求,可將整個系統(tǒng)的設(shè)計分為以下五個
2、模塊:信息輸入、錄入比賽結(jié)果、查詢信息、退出.Saveathele ()保存運動員信息1 總的模塊圖 Saveschool ()保存學校信息InformationSaveprogram ()保存項目信息Savescore() 比賽結(jié)果錄入Main Ttzf () 查詢團體總分Csxx ()查詢參賽學校信息Search ( )Bsxm ()查詢團體總分Exi t(0)圖1 整體模塊圖 三、 詳細設(shè)計 主函數(shù)主函數(shù)一般設(shè)計的較為簡潔,只提供輸入、功能處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。另外菜單部分也可以寫成函數(shù)。流程圖顯示一系列功能選項輸入,判斷是否是4根據(jù)的值調(diào)用各功能模塊函
3、數(shù)圖主函數(shù)流程圖 Y程序void main()menu(); void menu()int n,w1;do puts("tt*_ Welcome to load sports system! _*n"); puts("tt*MENU*n"); puts("tt* 1.Enter the information *n"); puts("tt* 2.Score 比賽結(jié)果錄入 *n"); puts("tt* 3.Search *n"); puts("tt* 4.Exit *n");
4、 puts("tt*n"); printf("Choice your number(1-4): bb"); scanf("%d",&n); if (n<1|n>4) w1=1; getchar(); else w1=0; while (w1=1); switch(n) case 1:Information();break; /輸入信息 case 2:savescore();break;/比賽結(jié)果錄入 case 3:Search();break;/查詢模塊 case 4:exit(0); 2. 各功能模塊設(shè)計(1)
5、信息輸入模塊一是參賽學校信息,二是參賽運動員信息,三是比賽項目信息,分別輸入并保存信息輸入讀入、顯示參賽學校讀入、顯示運動員讀入比賽項目圖信息輸入模塊流程圖void Information() int n,w ; do puts("nnn"); puts("tt*_ Welcome to load 信息錄入 system! _*n"); puts("tt*MENU*n"); puts("tt* 1.saveathlete *n"); puts("tt* 2.saveschool *n"); pu
6、ts("tt* 3.saveprogram() *n"); puts("tt* 4.back *n"); puts("tt*n"); printf("Choic your number(1-4): bb"); scanf("%d",&n); if (n<1|n>4) w=1;getchar(); else w=0; while (w=1); switch(n) case 1 : saveathlete(); break;/ 保存運動員信息子函數(shù) case 2 : savesc
7、hool(); break;/保存學校信息子函數(shù) case 3 : saveprogram();break;/保存項目比賽信息子函數(shù) case 4 : exit(0); (2) 結(jié)果錄入模塊錄入運動員比賽得分圖4比賽結(jié)果錄入模塊流程圖分析計算各學??偡?3)查詢信息模塊分析查詢信息模塊提供按不同方式查詢各種信息機返回功能,其中各功能模塊用菜單方式選擇。菜單部分也可寫成函數(shù)。查詢信息模塊查詢學校查詢運動員查詢項目返回主菜單圖6查詢信息模塊流程圖定義結(jié)構(gòu)體指針UNI*next輸入學校名字判斷輸入名字與結(jié)構(gòu)體中學校名是否相同指針變量值向下一組數(shù)據(jù)調(diào)用輸出函數(shù)圖8 查詢學校名流程圖 結(jié)果各模塊界面圖如
8、圖:() 主菜單函數(shù)() 信息錄入模塊() 查詢子菜單() 按學校名字查詢信息(5) 按項目查詢項目信息() 查詢團體總分程序代碼:#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>#define SIZE 9#define N 3#define WM 3void bsxm();void csxx();void Information();int main();void menu();void printf_back();void saveathlete()
9、;void saveprogram();void saveschool();void savescore();void Search();void ttzf();int i;FILE *fp1,*fp2,*fp3,*fp4;struct athlete/定義運動員信息char univ5;char name8;char prog15; char mingci5;int score;atSIZE;struct xuexiao/定義學校信息char univ5;char prog15;int num_athlete;xxN;struct program/定義項目信息char prog5;int q
10、uming; char ath15;char ath25;char univ15;char univ25;proWM;struct zongfen /定義學校得分信息char univ5;char prog15;char prog25;char prog35;int score1;int score2;int score3;int total_score;zfN;void Information() int n,w ; do puts("nnn"); puts("tt*_ 歡迎進入信息錄入系統(tǒng) _*n"); puts("tt*菜單*n"
11、;); puts("tt* 1.運動員 *n"); puts("tt* 2.學校 *n"); puts("tt* 3.項目信息 *n"); puts("tt* 4.返回 *n"); puts("tt*n"); printf("請選擇(1-4): bb"); scanf("%d",&n); if (n<1|n>4) w=1;getchar(); else w=0; while (w=1); switch(n) case 1 : savea
12、thlete(); break;/ 保存運動員信息子函數(shù) case 2 : saveschool(); break;/保存學校信息子函數(shù) case 3 : saveprogram();break;/保存項目比賽信息子函數(shù) case 4 : exit(0); void saveathlete()/保存運動員信息子函數(shù) printf("n請輸入各項目獲獎運動員的信息:");for(i=0;i<SIZE;i+) printf("n請輸入第%d個運動員的信息:n",i+1);printf("姓名:"); scanf("%s&q
13、uot;,); printf("學校:"); scanf("%s",ati.univ); printf("參賽項目:"); scanf("%s",g);printf("名次:");scanf("%s",ati.mingci); printf("得分:"); scanf("%d",&ati.score);fp1=fopen("ath","w");for(i=0;
14、i<SIZE;i+)if(fwrite(&ati,sizeof(struct athlete),1,fp1)!=1)printf("File write error!n");fclose(fp1);fp1=fopen("運動員","r"); printf("n現(xiàn)在各運動員的信息如下:nn"); printf("姓名 學校 項目 名次 得分n");for(i=0;i<SIZE;i+)fread(&ati,sizeof(struct athlete),1,fp1); pr
15、intf("%-10s%-10s%-18s%-10s%dn",,ati.univ,g,ati.mingci,ati.score);fclose(fp1);printf_back();void saveschool()/保存學校信息子函數(shù)printf("n請輸入各參賽學校的信息:");for(i=0;i<N;i+)printf("n請輸入第%d個學校的信息:n",i+1);printf("學校:");scanf("%s",xxi.univ);printf(&qu
16、ot;參賽的項目:");scanf("%s",g);printf("參賽者數(shù):");scanf("%d",&xxi.num_athlete);fp3=fopen("學校","w");for(i=0;i<N;i+)if(fwrite(&xxi,sizeof(struct xuexiao),1,fp3)!=1)printf("File write error!n");fclose(fp3); printf_back();void sa
17、veprogram()/保存項目比賽信息子函數(shù)printf("n請輸入關(guān)于比賽項目的信息:");for(i=0;i<WM;i+)printf("n請輸入第%d項比賽的信息:n",i+1);printf("項目:");scanf("%s",g);printf("取分情況:");scanf("%d",&proi.quming);printf("參賽者1:");scanf("%s",proi.ath1);prin
18、tf("所屬學校:");scanf("%s",proi.univ1);printf("參賽者2:");scanf("%s",proi.ath2);printf("所屬學校:");scanf("%s",proi.univ2); fp4=fopen("pr","w");for(i=0;i<N;i+)if(fwrite(&proi,sizeof(struct program),1,fp4)!=1)printf("Fil
19、e write error!n");fclose(fp4); printf_back();void savescore()/保存學校得分情況子函數(shù)printf("N-參賽學校總數(shù),M-男子競賽項目數(shù),W-女子競賽項目數(shù)。n");printf("W.100-女子一百米比賽,M.100-男子一百米,M.200-男子兩百米。n");printf("n各項名次得分權(quán)值如下:n");printf("取前三名:第一名5分 第二名3分 第三名2分n");printf("n請輸入各學校的得分情況:")
20、; for(i=0;i<N;i+)printf("n請輸入第%d個學校的得分情況:n",i+1);printf("學校:");scanf("%s",zfi.univ);printf("參賽項目1:");scanf("%s",g1);printf("得分:");scanf("%d",&zfi.score1);printf("參賽項目2:");scanf("%s",g2);pri
21、ntf("得分:");scanf("%d",&zfi.score2);printf("參賽項目3:");scanf("%s",g3);printf("得分:");scanf("%d",&zfi.score3);zfi.total_score=zfi.score1+zfi.score2+zfi.score3; fp2=fopen("zfen","w");for(i=0;i<N;i+)if(fwrite(
22、&zfi,sizeof(struct zongfen),1,fp2)!=1)printf("File write error!n");fclose(fp2); printf_back();void Search()int n,w2;do puts("tt*_ 歡迎進入搜索系統(tǒng)! _*n"); puts("tt*菜單*n"); puts("tt* 1.查看團體總分 *n");/查看團體總分 puts("tt* 2.查看參賽學校信息 *n");/查看參賽學校信息! puts("tt
23、* 3.查看比賽項目信息 *n");/查看比賽項目信息! puts("tt* 4.退出 *n");/退出 puts("tt*n"); printf("請選擇(1-4): bb"); scanf("%d",&n); if (n<1|n>4) w2=1; getchar(); else w2=0; while (w2=1); switch(n) case 1:ttzf();break; case 2: csxx();break; case 3:bsxm();break; case 4: e
24、xit(0);break; default: printf("未進行任何操作!"); void ttzf()/查看學校團體總分子函數(shù)fp2=fopen("總分","r"); printf("n各學校的團體總分情況如下:nn"); printf("學校 參賽項目 總分n");for(i=0;i<N;i+)fread(&zfi,sizeof(struct zongfen),1,fp2); printf("%-8s%s,%s,%-12s%-12dn",zfi.univ
25、,g1,g2,g3,zfi.total_score);fclose(fp2);printf_back();void csxx()/查看參賽學校信息子函數(shù) fp3=fopen("xxiao","r"); printf("n各參賽學校的情況如下:nn"); printf("學校 參賽項目 參賽者數(shù)n");for(i=0;i<N;i+)fread(&xxi,sizeof(struct xuexiao),1,fp3); printf("%-8s%-20s%-12dn",xxi.univ,g,xxi.num_athlete);fclose(fp3); printf_back();void bsxm()/查看比賽項目子函數(shù) fp4=fopen("pr","r"); printf("n各比賽項目的信息如下:nn"); printf("項目 取分情況 參賽者1 所屬學校 參賽者2 所屬學校n");for(i=0;i<N;i+)fread
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聽力職業(yè)病免責協(xié)議書
- 賠償和解協(xié)議書
- 結(jié)婚忠義協(xié)議書
- 卡丁車安全免責協(xié)議書
- 聘請隊長協(xié)議書
- 道路借管協(xié)議書
- 村集體資產(chǎn)處置協(xié)議書
- 自愿給地協(xié)議書
- 學生未返校安全協(xié)議書
- 租賃電鍍協(xié)議書
- 河南省南陽市2023-2024學年高二下學期期終質(zhì)量評估+物理試卷答案
- 食品安全與質(zhì)量檢測技能大賽考試題庫400題(含答案)
- 2024年浙江省嘉興市初三中考三??茖W試卷試題(含答案詳解)
- 核心素養(yǎng)-空間觀念
- 吉林省長春市2024年中考語文真題試卷【附真題答案】
- DZ/T 0462.3-2023 礦產(chǎn)資源“三率”指標要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
- 梧州喜得寶礦業(yè)有限公司廣西梧州市金山頂金銀礦礦山地質(zhì)環(huán)境保護與土地復墾方案
- 2024年職業(yè)衛(wèi)生技術(shù)人員評價方向考試題庫附答案
- 安全管理之肉制品安全及防控措施
- 綠色算力基礎(chǔ)設(shè)施的能源與算力協(xié)同優(yōu)化
- 中小學學生規(guī)范漢字書寫比賽硬筆格式
評論
0/150
提交評論