數(shù)據(jù)結構課程設計運動會分數(shù)統(tǒng)計_第1頁
數(shù)據(jù)結構課程設計運動會分數(shù)統(tǒng)計_第2頁
數(shù)據(jù)結構課程設計運動會分數(shù)統(tǒng)計_第3頁
數(shù)據(jù)結構課程設計運動會分數(shù)統(tǒng)計_第4頁
數(shù)據(jù)結構課程設計運動會分數(shù)統(tǒng)計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)據(jù)結構課程設計報告(一)課題一 運動會分數(shù)統(tǒng)計1. 任務參加運動會有n個學校,學校編號為1n。比賽分成m個男子項目,和w個女子項目。項目編號為男子1m,女子m+1m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些項目取前五名或前三名由學生自己設定。(m<=20,n<=20)2. 功能要求1) 可以輸入各個項目的前三名或前五名的成績;2) 能統(tǒng)計各學校總分;3) 可以按學校編號、學??偡帧⒛信畧F體總分排序輸出;4) 可以按學校編號查詢學校某個項目的情況;5) 可以按項目編號查詢取得前三或前五名的學校。3. 需求分析

2、在程序中,用戶輸入各運動會項目的排名情況,程序會計算出各校的得分情況存儲于順序表中,可供查詢。4. 概要設計struct int order5; /項目排名sub10;struct int score; /學校總分 int score1; /學校男團總分 int score2; /學校女團總分sch5;程序調用關系如下:主程序模塊成績輸入模塊 總分輸出模塊 排名查詢模塊 學校情況查詢模塊 項目情況查詢模塊5. 詳細設計#include <windows.h>#include<stdio.h>#include<stdlib.h>char SCHOOL513=&

3、quot;東華大學","上海交大","復旦大學","同濟大學","華東 師范大學"char SUBJECT1010="男子100米","男子200米","男子400米","男子跳高 ","男子跳遠","女子跳高","女子跳遠","女子鉛球", "女子100","女子400米"int SCORE25=7,5,3

4、,2,1,5,3,2; struct /存儲項目信息 int order5; /排名sub10;struct /存儲學校信息 int score; /學??偡?int score1; /學校男團總分 int score2; /學校女團總分sch5;int menu(); void func1(); /輸入成績void calculate(); /計算各校成績void func2(); /輸出各??偡謎nt menu2(); void func31(); /按學校編號輸出各項成績void func32(); /排序輸出各??偡講oid func33(); /排序輸出各校男團總分void func

5、34(); /排序輸出各校女團總分void func4(); /輸出學校情況void func5(); /輸出項目情況int main() menu();int menu() int n; printf("_n"); printf(" MENU n"); printf(" 1.輸入成績 n"); printf(" 2.各??偡?n"); printf(" 3.成績排序 n"); printf(" 4.學校情況 n"); printf(" 5.項目情況 n"

6、); printf(" 6.退出系統(tǒng) nn"); printf(" 請輸入編號:"); scanf("%d",&n); system("cls"); switch(n) case 1:func1();calculate();break; case 2:func2();break; case 3:menu2();break; case 4:func4();break; case 5:func5();break; case 6:return 0; default:menu(); menu();void func

7、1() int i; printf("_n"); printf(" 請輸入各體育項目名次所對學校編號 n"); printf(" 學校編號(1:東華大學,2:上海交大,3:復旦大學,4:同濟大學,5: 華東師范大學,0:退出) n"); for(i=0;i<10;i+) printf(" %d.%s 第一名:",i+1,SUBJECTi); scanf("%d",&subi.order0); if(subi.order0=0) menu(); printf("n 第二名:

8、"); scanf("%d",&subi.order1); if(subi.order1=0) menu(); printf("n 第三名:"); scanf("%d",&subi.order2); if(subi.order2=0) menu(); if(i%2=0) printf("n 第四名:"); scanf("%d",&subi.order3); if(subi.order3=0) menu(); printf("n 第五名:");

9、 scanf("%d",&subi.order4); if(subi.order4=0) menu(); system("cls");void calculate() int i,j,k; for(i=0;i<5;i+) for(j=0;j<5;j+) /求出各校男團總分 if(j%2=0) for(k=0;k<5;k+) if(subj.orderk=i+1) schi.score1=schi.score1+SCORE0k; else for(k=0;k<3;k+) if(subj.orderk=i+1) schi.sc

10、ore1=schi.score1+SCORE1k; for(;j<10;j+) /求出各校女團總分 if(j%2=0) for(k=0;k<5;k+) if(subj.orderk=i+1) schi.score2=schi.score2+SCORE0k; else for(k=0;k<3;k+) if(subj.orderk=i+1) schi.score2=schi.score2+SCORE1k; schi.score=schi.score1+schi.score2; /求出各校總分 void func2() int i; printf("_n");

11、printf(" 各校總分 n"); for(i=0;i<5;i+) printf(" %d.%s %d分n",i+1,SCHOOLi,schi.score); printf("nn輸入任意值返回"); getch(); system("cls");int menu2() int n; printf("_n"); printf(" 成績排序 n"); printf(" 1.按學校編號 n"); printf(" 2.按學??偡?n"

12、;); printf(" 3.按男團總分 n"); printf(" 4.按女團總分 n"); printf(" 5.返回 nn"); printf(" 請輸入編號:"); scanf("%d",&n); system("cls"); switch(n) case 1:func31();break; case 2:func32();break; case 3:func33();break; case 4:func34();break; case 5:menu(); d

13、efault:menu2(); return 0;void func31() int i; printf("_n"); printf(" 按學校編號排序 n"); for(i=0;i<5;i+) printf(" %d.%s 學校總分 %d分n",i+1,SCHOOLi,schi.score); printf(" 男團總分 %d分n",schi.score1);printf(" 女團總分 %d分n",schi.score2); printf("nn輸入任意值返回");

14、getch(); system("cls");void func32()int a52,i,j,p,q,k; printf("_n"); printf(" 按學校總分排序 n"); for(p=0;p<5;p+) ap0=p;ap1=schp.score; for(i=0;i<4;i+) /將各??偡謴拇蟮叫∨判?for(j=0;j<4;j+) if(ai1<ai+11) q=ai1; ai1=ai+11; ai+11=q; k=ai0; ai0=ai+10; ai+10=k; for(p=0;p<5;p

15、+) printf(" %d.%s %d分n",p+1,SCHOOLap0,schp.score); printf("nn輸入任意值返回"); getch(); system("cls");void func33() int a52,i,j,p,q,k; printf("_n"); printf(" 按男團總分排序 n"); for(p=0;p<5;p+) /將各校男團總分從大到小排列 ap0=p; ap1=schp.score1; for(i=0;i<4;i+) for(j=0;j

16、<4;j+) if(ai1<ai+11) q=ai1; ai1=ai+11; ai+11=q; k=ai0; ai0=ai+10; ai+10=k; for(p=0;p<5;p+) printf(" %d.%s %d分n",p+1,SCHOOLap0,schp.score1); printf("nn輸入任意值返回"); getch(); system("cls");void func34() int a52,i,j,p,q,k; printf("_n"); printf(" 按女團總分排

17、序 n"); for(p=0;p<5;p+) /將各校女團總分從大到小排列 ap0=p; ap1=schp.score2; for(i=0;i<4;i+) for(j=0;j<4;j+) if(ai1<ai+11) q=ai1; ai1=ai+11; ai+11=q; k=ai0; ai0=ai+10; ai+10=k; for(p=0;p<5;p+) printf(" %d.%s %d分n",p+1,SCHOOLap0,schp.score2); printf("nn輸入任意值返回"); getch(); sys

18、tem("cls");void func4() int i,j,a,b=0; printf("_n"); printf(" 學校情況 n"); printf("學校編號(1:東華大學,2:上海交大,3:復旦大學,4:同濟大學,5: 華東師范大學,0:退出)n"); printf(" 請輸入學校編號:"); scanf("%d",&i); if(i=0) system("cls"); menu(); else if(i>5|i<0) sy

19、stem("cls"); func4(); else printf("項目編號(1:男子100米,2:男子200米,3:男子400米,4: 男子跳高,5:男子跳遠n"); printf(" 6:女子跳高,7:女子跳遠,8:女子鉛球,9:女100,10: 女子400米,0:退出)nn"); printf("請輸入項目編號:"); scanf("%d",&j); if(j=0) system("cls"); menu(); else if(j>10|j<0)

20、system("cls"); func4(); else if(j%2!=0) for(a=0;a<5;a+) if(subj-1.ordera=i) printf("tt%s %s 第%d",SCHOOL i-1,SUBJECTj-1,a+1);break; else for(a=0;a<3;a+) if(subj-1.ordera=i) printf("tt %s %s 第%d" SCHOOLi-1,SUBJECTj-1,a+1); b=1;break; if(b=0) printf("tt %s %s 未獲

21、得名次",SCHOOL i-1,SUBJECTj-1); printf("nn輸入任意值返回"); getch(); system("cls"); void func5()int i,j; printf("_n"); printf(" 項目情況 n"); printf(" 項目編號(1:男子100米,2:男子200米,3:男子400米,4: 男子跳高,5:男子跳遠n"); printf(" 6:女子跳高,7:女子跳遠,8:女子鉛球,9:女子100米 ,10:女子400米,0:退出)n"); printf(" 請輸入項目編號:"); scanf("%d",&i); if(i=0) system("cls"); menu(); else if(i>10|i<0) system("cls"); func5();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論