版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘 要21世紀(jì)是個信息化的時代,現(xiàn)代計算機技術(shù)的開展,為各行各業(yè)的開展創(chuàng)造了一個全新的時代背景人們的生活、工作等已經(jīng)越來越離不開計算機科學(xué)的運用,體育作為個人、家庭、社會的一個主要實踐領(lǐng)域,大大小小的運動會也在各大中院校中展開,自從計算機科學(xué)涉及運動領(lǐng)域后,人們對運動會的管理也從人工的向自動化轉(zhuǎn)變。運用數(shù)據(jù)結(jié)構(gòu)的知識解決運動會分?jǐn)?shù)統(tǒng)計的問題,編寫一個程序來完成運動會分?jǐn)?shù)統(tǒng)計系統(tǒng). 本程序設(shè)計中,可以輸入?yún)⒓舆\動會的學(xué)校編號及工程編號;根據(jù)具體情況選擇輸入?yún)⒓庸こ痰哪信悇e和取成績名次類別;最后選擇輸入名次;實現(xiàn)數(shù)據(jù)統(tǒng)計,排序輸出,學(xué)院及工程查詢等功能。關(guān)鍵詞:運動會 分?jǐn)?shù)統(tǒng)計程序 排序 查詢目
2、 錄1 設(shè)計內(nèi)容和要求1具體內(nèi)容及要求12.總體設(shè)計3系統(tǒng)設(shè)計方案3功能模塊設(shè)計33.詳細(xì)設(shè)計5數(shù)據(jù)結(jié)構(gòu)定義5比賽數(shù)據(jù)輸入模塊6比賽成績輸出模塊7查詢比賽成績模塊84.調(diào)試與測試10測試數(shù)據(jù)10101112程序主界面12輸入數(shù)據(jù)12排序輸出學(xué)??偡?4排序輸出男子團體總分14排序輸出女子團體總分15按學(xué)校查詢工程數(shù)據(jù)15按工程查詢數(shù)據(jù)165.總結(jié)17參考文獻(xiàn)18致謝191 設(shè)計內(nèi)容和要求數(shù)據(jù)結(jié)構(gòu)課程設(shè)計是為數(shù)據(jù)結(jié)構(gòu)課程獨立開設(shè)的實踐性教學(xué)環(huán)節(jié)。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計對于穩(wěn)固數(shù)據(jù)結(jié)構(gòu)知識,加強學(xué)生的實際動手能力和提高學(xué)生綜合素質(zhì)是十分必要的。課程設(shè)計的目的是要求學(xué)生到達(dá)熟練掌握C語言的根本知識和技能;
3、了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計方法,具備初步的獨立分析和設(shè)計能力;提高程序設(shè)計和調(diào)試能力。學(xué)生通過上機實習(xí),驗證自己設(shè)計的算法的正確性。學(xué)會有效利用根本調(diào)試方法,迅速找出程序代碼中的錯誤并且修改;培養(yǎng)算法分析能力,分析所設(shè)計算法的時間復(fù)雜度和空間復(fù)雜度,進(jìn)一步提高程序設(shè)計水平;初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計、程序編碼、測試等根本方法和技能。根據(jù)課程設(shè)計任務(wù)書要求,本系統(tǒng)開發(fā)主要完成以下功能和性能。設(shè)計一個運動會分?jǐn)?shù)統(tǒng)計程序。參加運動會有n個學(xué)院,學(xué)院編號為1n。比賽分成m個男子工程和w個女子工程。編號為男子1m,女子m+1m+w。工程編號能被3整除的工程取前三名,其他工程取前五名。取
4、前三名的積分分別是5、3、2,取前五名的積分分別是7、5、3、2、1。要求如下:1可以輸入各個工程前三名或前五名的信息學(xué)院編號、學(xué)院名稱、運發(fā)動編號、運發(fā)動姓名、工程編號、工程名稱、名次;2能統(tǒng)計個學(xué)院總分;3可以按學(xué)院編號、學(xué)院總分、男女團體總分排序輸出;4可以按學(xué)院編號查詢學(xué)校某個工程的情況;可以按工程編號查詢?nèi)〉妹蔚膶W(xué)院名稱。5程序退出時,將輸入的信息保存在磁盤上,以便下次運行程序時讀入。測試數(shù)據(jù)要求:程序運行時,n、m、w均由鍵盤輸入n20,m20,w20。輸入要求:可輸入學(xué)院信息學(xué)院編號、學(xué)院名稱、運發(fā)動編號、運發(fā)動姓名、運發(fā)動性別、工程編號、工程名稱、名次,有中文提示,在輸入的同
5、時限定輸入數(shù)據(jù)的大小以及一些錯誤輸入。輸出要求:輸出內(nèi)容整潔,排列有序。界面要求:界面布局合理整潔,有合理的提示,每個功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。存儲結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計,但是要求運動會的相關(guān)數(shù)據(jù)要存儲在數(shù)據(jù)文件中。2.總體設(shè)計系統(tǒng)設(shè)計方案根據(jù)課程設(shè)計任務(wù)書要求,本方案要求準(zhǔn)備結(jié)構(gòu)體數(shù)組、讀寫文件。還能把信息直接輸入存儲到文件中,讀取文件中信息,從而得到結(jié)果。1) 菜單設(shè)計分為主函數(shù)菜單,比賽數(shù)據(jù)輸入菜單,學(xué)院、男子團體、女子團體總分排序輸出菜單,查詢學(xué)院成績菜單、查詢工程排名菜單。 2) 數(shù)據(jù)保存方式建立文件,數(shù)據(jù)保存在文件中。3) 數(shù)據(jù)類型采用結(jié)構(gòu)
6、體類型。4) 存儲結(jié)構(gòu)采用結(jié)構(gòu)體類型數(shù)組存儲結(jié)構(gòu)存儲。5) 算法設(shè)計輸入比賽結(jié)果模塊中運用了冒泡算法將輸入的數(shù)據(jù)排序。2.2功能模塊設(shè)計根據(jù)分析整個系統(tǒng)主要劃分為4個功能模塊,分別執(zhí)行要求中的功能。該系統(tǒng)分為比賽數(shù)據(jù)輸入、總分排序輸出、查詢比賽成績模塊??偡峙判蜉敵瞿K有三個子模塊,分別是:按學(xué)??偡峙判蜉敵瞿K、按男子團體總分排序輸出模塊和按女子團體總分排序輸出模塊;查詢比賽成績模塊分為按學(xué)院編號查詢模塊和按工程編號查詢兩個子模塊。運動會分?jǐn)?shù)統(tǒng)計程序比賽數(shù)據(jù)輸入模塊總分排序輸出模塊查詢比賽成績模塊按男子團體總分排序輸出模塊按學(xué)校總分排序輸出模塊按女子團體總分排序輸出模塊按學(xué)院編號查詢模塊按工
7、程編號查詢模塊圖2.1 功能模塊圖1) 比賽數(shù)據(jù)輸入模塊比賽成績輸入模塊分為:創(chuàng)立信息局部,創(chuàng)立學(xué)院數(shù),男子工程數(shù),女子工程數(shù),學(xué)院信息,比賽工程信息,運發(fā)動信息,成績輸入局部需根據(jù)工程編號,按排名依次輸入學(xué)院編號,運發(fā)動編號,最后將數(shù)據(jù)依次寫入文件。 2) 比賽成績輸出模塊讀取比賽數(shù)據(jù),冒泡算法排序,按選擇輸出學(xué)院、男子團體或女子團體總分的排名情況。3) 查詢比賽成績模塊選擇按學(xué)院編號查詢模塊或按工程編號查詢輸入相應(yīng)的編號輸出查詢結(jié)果。3.詳細(xì)設(shè)計建立結(jié)構(gòu)體如下:typedef struct PlayerInfo/存儲運發(fā)動相關(guān)信息char PlayerNameMAXSIZE;int Sex
8、;/運發(fā)動性別int PlayerNumber;int PlayerScore;struct PlayerInfo *next;Player;typedef struct SchoolInfo/存儲學(xué)校相關(guān)信息char SchoolNameMAXSIZE;int SchoolNumber;int SchoolScore; /學(xué)校總分int WomenScore;/女子總分int MenScore;/男子總分Player *PlayerHead;int PlayerData;struct SchoolInfo *next;School;typedef struct MatchItem/存儲運動工
9、程的相關(guān)信息char MatchNameMAXSIZE;int MatchNumber;int range5;/存儲獲得前三名或前五名的學(xué)校int Player5;/存儲獲得前三名或前五名的運發(fā)動struct MatchItem *next;MatchPro;typedef struct PreNews/存儲要輸入的學(xué)校,男女工程個數(shù)int SchoolSum;/學(xué)??倲?shù)int ManItemSum;/男子工程總數(shù)int WomanItemSum;/女子工程總數(shù)int PlayerSum;/運發(fā)動總數(shù)PNews;3.2比賽數(shù)據(jù)輸入模塊比賽數(shù)據(jù)輸入模塊需要輸入學(xué)院數(shù),男子工程數(shù),女子工程數(shù),學(xué)院
10、信息,比賽工程信息,運發(fā)動信息,成績輸入局部需根據(jù)工程編號,按排名依次輸入學(xué)院編號,運發(fā)動編號,最后將數(shù)據(jù)依次寫入文件。 開始j+i+i<學(xué)院數(shù)輸入學(xué)院數(shù),男子工程數(shù),女子工程數(shù)輸入學(xué)院及運發(fā)動信息j<工程數(shù)按名次輸入學(xué)院編號,運發(fā)動編號結(jié)束此模塊定義變量i,j先初始化儲存分?jǐn)?shù)的數(shù)組各元素,定義flag標(biāo)記,while循環(huán)與for循環(huán)實現(xiàn)各學(xué)校信息的輸入,包括學(xué)校編號、工程編號、運發(fā)動編號,使用if語句實現(xiàn)對輸入的數(shù)據(jù)判斷是否合法,選擇是取前三名或前五名,使用switch語句選擇添加總分。3.3比賽成績輸出模塊比賽成績輸出模塊實現(xiàn)按要求輸出相應(yīng)的數(shù)據(jù)。有以下輸出選項:按學(xué)??偡峙判?/p>
11、輸出、按男子團體總分排序輸出和按女子團體總分排序輸出。開始輸入選擇按學(xué)校總分排序輸出按男子團體總分排序輸出按女子團體總分排序輸出按分?jǐn)?shù)冒泡排序輸出序列結(jié)束123模塊定義了int i,j,k,flag;School PTemp=0變量, for循環(huán)包括switch語句,選擇輸出按學(xué)??偡峙判蜉敵?、按男子團體總分排序輸出和按女子團體總分排序輸出相應(yīng)的數(shù)據(jù),同時實現(xiàn)冒泡排序。for循環(huán)實現(xiàn)輸出各個方式輸出的每個數(shù)據(jù)。3.3查詢比賽成績模塊查詢比賽成績模塊包括:按學(xué)校編號查詢,按工程編號查詢。開始結(jié)束選擇查詢方式12按學(xué)校編號查詢按工程編號查詢輸出結(jié)果此模塊定義了int i,j; switch(cho
12、ice)實現(xiàn)查詢的兩種方式的選擇,使用while循環(huán)與for循環(huán)查詢相關(guān)數(shù)據(jù),從而輸出相關(guān)數(shù)據(jù),從而實現(xiàn)查詢功能。4.調(diào)試與測試程序測試是程序質(zhì)量保證的關(guān)鍵步驟從用戶的角度來看,普遍希望通過程序測試暴露程序中隱藏的錯誤和缺陷,所以程序測試應(yīng)該是“為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程?;蛘哒f,程序測試應(yīng)該根據(jù)程序開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果,并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤或缺陷。過度測試那么會浪費許多珍貴的資源。到測試后期,即使找到了錯誤,然而付出了過高的代價。調(diào)試過程主要是運行編制好的程序,然后遇到錯誤后根據(jù)系統(tǒng)的提示,找到相關(guān)的
13、問題所在。以下是程序調(diào)試與測試的展示。4.1測試數(shù)據(jù)cqkjxy 1 13 3 10 5czw 1 1 13ld 2 1 0zql 3 1 0dx 4 2 0tjb 5 2 0cqdx 2 20 5 15 5fuc 6 1 17kyo 7 1 3uyo 8 1 0udo 9 2 0ngd 10 2 0cqsfxy 3 21 8 13 5zxx 11 1 21wxx 12 1 0lxx 13 1 0cxx 14 2 0txx 15 2 0cqykdx 4 16 12 4 5tmd 16 1 16tnn 17 1 0tmm 18 1 0ccc 19 2 0xxx 20 2 0scmsxy 5 12
14、 8 4 5csa 21 1 12wqe 22 1 0fgd 23 1 0yjg 24 2 0fdr 25 2 04.1.2 MatchItem.txtfeifei 5 4 17 3 13 2 8 1 4 5 25tiaotiao 4 5 24 4 19 3 12 2 9 1 5paopao 3 3 11 2 7 1 1tiaolou 2 2 6 3 13 5 23 4 18 1 4tiaogao 1 1 2 2 6 3 13 4 17 5 224.1.3 PreNews.txt 5 3 2 254.1程序主界面4.2輸入數(shù)據(jù)圖4.2數(shù)據(jù)輸入1圖4.3數(shù)據(jù)輸入2圖4.4數(shù)據(jù)輸入34.3排序輸出
15、學(xué)校總分4.4排序輸出男子團體總分圖4.6排序輸出男子團體總分4.5排序輸出女子團體總分圖4.7排序輸出女子團體總分4.6按學(xué)校查詢工程數(shù)據(jù)圖4.8按學(xué)校查詢工程數(shù)據(jù)4.7按工程查詢數(shù)據(jù)圖4.9按學(xué)校查詢工程情況5.總結(jié)課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)開展的日新月異,當(dāng)今計算機應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握計算機開發(fā)技術(shù)是十分重要的。回憶起此次課程設(shè)計,至今我們?nèi)愿锌H多,確實,自從拿到題目到完成整個編程,從理論到實踐,可以學(xué)到很多很多的東西,同時
16、不僅可以穩(wěn)固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我們懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會效勞,從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的缺乏之處,對一些前面學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比方說結(jié)構(gòu)體,指針通過這次課程設(shè)計之后,我們把前面所學(xué)過的知識又重新溫故了一遍。善于總結(jié),也是學(xué)習(xí)能力的一種表達(dá),每次完成一個編程任務(wù),完成一
17、段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況,隨時總結(jié),找到自己的缺乏,這樣所編寫的程序才能逐步提高.參考文獻(xiàn)1 嚴(yán)蔚敏 吳偉民. 數(shù)據(jù)結(jié)構(gòu). 2 李春葆. 數(shù)據(jù)結(jié)構(gòu)教程. 3 美Stephen Prata. C Primer Plus中文版第五版. 4 楊路明 郭浩志. C語言程序設(shè)計教程. 北京郵電大學(xué)出版社. 2005.125 譚浩強. C程序設(shè)計.第三版. 清華大學(xué)出版社. 2005.26 徐孝凱. 數(shù)據(jù)結(jié)構(gòu)實用教程. 清華大學(xué)出版社. 2006.87 劉大有. 數(shù)據(jù)結(jié)構(gòu)C語言版. 高等教育出版社. 2004附錄:程序代碼:#include <stdio.h>#include
18、 <stdlib.h>#include <malloc.h>#include <string.h>#include <conio.h>#define MAXSIZE 20typedef struct PlayerInfochar PlayerNameMAXSIZE;int Sex;int PlayerNumber;int PlayerScore;struct PlayerInfo *next;Player;typedef struct SchoolInfochar SchoolNameMAXSIZE;int SchoolNumber;int Sc
19、hoolScore;int WomenScore;int MenScore;Player *PlayerHead;int PlayerData;struct SchoolInfo *next;School;typedef struct MatchItemchar MatchNameMAXSIZE;int MatchNumber;int range5;int Player5;struct MatchItem *next;MatchPro;typedef struct PreNewsint SchoolSum;int ManItemSum;int WomanItemSum;int PlayerSu
20、m;PNews;void ChiefMenu(MatchPro *MatchHead,PNews *PreNode,School *SchoolHead);PNews *BeginInput(PNews *PreNode);void PreNews_Write(PNews *PreNode);School * Add_School(School *SchoolHead,PNews *PreNode);void School_Write(School *SchoolHead,PNews *PreNode);MatchPro * MatchInput(MatchPro *MatchHead,PNe
21、ws *PreNode,School *SchoolHead);void Match_Write( MatchPro *MatchHead,PNews *PreNode,School *SchoolHead);PNews * PreNews_read(PNews *PreNode) ;School * School_Array_Read(PNews *PreNode);MatchPro * Match_Read(MatchPro *MatchHead,PNews *PreNode);School * CountSchoolScore(School *SchoolHead,PNews *PreN
22、ode);School * SchoolOrder(School *SchoolHead,int Total_PointsType,PNews *PreNode);void ShowScore(School *SchoolHead,PNews *PreNode,int Total_PointsType);int ShowScore_School(MatchPro *MatchHead,School *SchoolHead,PNews *PreNode);int QueryItem(MatchPro *MatchHead,School *SchoolHead,PNews *PreNode);vo
23、id ClearNode(MatchPro *MatchHead);void ChiefMenu(MatchPro *MatchHead,PNews *PreNode,School *SchoolHead)int choice=1;while(choice)printf(" 歡送進(jìn)入運動會分?jǐn)?shù)統(tǒng)計系統(tǒng)! nn"); printf(" 1.按系統(tǒng)提示輸入關(guān)于運動會各種信息! nn"); printf(" 2.排序輸出學(xué)??偡? nn");printf(" 3.排序輸出男子團體總分. nn");printf("
24、; 4.排序輸出女子團體總分. nn"); printf(" 5.按學(xué)校編號查詢學(xué)校某個工程的情況. nn"); printf(" 6.按工程編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校. nn"); printf(" 0.退出運動會分?jǐn)?shù)統(tǒng)計系統(tǒng)! nn");printf("nnn請輸入你要進(jìn)行的步驟:");scanf("%d",&choice);system("cls");switch(choice)case 1:Match_Write(MatchHead,PreNo
25、de,SchoolHead);break;case 2: ShowScore(SchoolHead,PreNode,1);break;case 3: ShowScore(SchoolHead,PreNode,2);break;case 4: ShowScore(SchoolHead,PreNode,3);break;case 5: QueryItem(MatchHead,SchoolHead,PreNode);break;case 6: ShowScore_School(MatchHead,SchoolHead,PreNode);break;case 0:free(SchoolHead);fr
26、ee(MatchHead);free(PreNode);choice=0;printf(" 您已平安的退出程序! n"); break;default : printf("您輸入的有誤");getch();PNews *BeginInput(PNews *PreNode)int SchoolCount = 0;int WomenCount = 0;int MenCount = 0;int PlayerCount = 0;while(1)printf("請輸入?yún)⒓颖荣惖膶W(xué)校個數(shù): n");scanf("%d",&am
27、p;SchoolCount);if(SchoolCount<=20&&SchoolCount>=5)PreNode->SchoolSum = SchoolCount;break;elseprintf("輸入數(shù)據(jù)不合法,請重新輸入!n");while(1)printf("請輸入男子比賽的工程個數(shù): n");scanf("%d",&MenCount);if(MenCount>20|MenCount<0)printf("輸入數(shù)據(jù)不合法,請重新輸入! n");elseP
28、reNode->ManItemSum = MenCount;break;while(1)printf("請輸入女子比賽的工程個數(shù): n");scanf("%d",&WomenCount);if(WomenCount>20|WomenCount<0)printf("輸入數(shù)據(jù)不合法,請重新輸入! n");elsePreNode->WomanItemSum = WomenCount;break;while(1)printf("請輸入運發(fā)動個數(shù): n");scanf("%d&quo
29、t;,&PlayerCount);if(PlayerCount<0)printf("輸入數(shù)據(jù)不合法,請重新輸入! n");elsePreNode->PlayerSum = PlayerCount;break;return (PreNode);void PreNews_Write(PNews *PreNode)FILE *fp = NULL;if(fp=fopen("PreNews.txt","w+") = NULL)printf("Cannot open file,strike any key exit!
30、");getch();exit(-1);fprintf(fp,"%3d%3d%3d%3dn",PreNode->SchoolSum,PreNode->ManItemSum,PreNode->WomanItemSum,PreNode->PlayerSum);fclose(fp);printf("寫入成功!n");School *Add_School(School *SchoolHead,PNews *PreNode)int i = 0,j = 0,k = 0;SchoolHead = (School *)malloc(si
31、zeof(School)*PreNode->SchoolSum);if(NULL=SchoolHead)printf("分配內(nèi)存失敗,程序結(jié)束");exit(-1);for( i = 0;i < PreNode->SchoolSum;i+)printf("請輸入第%d個學(xué)校的名稱n",i+1);scanf("%s",&SchoolHeadi.SchoolName);SchoolHeadi.SchoolNumber=i+1;SchoolHeadi.SchoolScore = 0;SchoolHeadi.MenS
32、core = 0;SchoolHeadi.WomenScore = 0;SchoolHeadi.PlayerHead = (Player *)malloc(sizeof(Player)*PreNode->PlayerSum);if(NULL=SchoolHeadi.PlayerHead)printf("分配內(nèi)存失敗,程序結(jié)束");exit(-1);for( j = 0;j < PreNode->ManItemSum + PreNode->WomanItemSum;j+)printf("請輸入第%d個運發(fā)動的名稱n",j+1);sc
33、anf("%s",&SchoolHeadi.PlayerHeadj.PlayerName);printf("請輸入第%d個運發(fā)動的性別(1表示男,2表示女)n",j+1);scanf("%d",&SchoolHeadi.PlayerHeadj.Sex);SchoolHeadi.PlayerHeadj.PlayerNumber=k+j+1;SchoolHeadi.PlayerHeadj.PlayerScore=0;SchoolHeadi.PlayerData = j;k = k + j;if(k > PreNode
34、->PlayerSum)printf("運發(fā)動輸入有誤n");exit(-1);SchoolHeadi.next = NULL;system("cls");return SchoolHead;void School_Write(School *SchoolHead,PNews *PreNode)FILE *fp=NULL;int i=0,j=0;if(fp=fopen("School.txt","w+")=NULL)printf("cannot open file,strike any key ex
35、it!");getch();exit(-1);for( i=0; i<PreNode->SchoolSum;i+)fprintf(fp,"%s%3d%3d%3d%3d%3dn",SchoolHeadi.SchoolName,SchoolHeadi.SchoolNumber,SchoolHeadi.SchoolScore,SchoolHeadi.WomenScore,SchoolHeadi.MenScore,SchoolHeadi.PlayerData);for( j=0; j<SchoolHeadi.PlayerData;j+)fprintf(f
36、p,"%s%3d%3d%3dn",SchoolHeadi.PlayerHeadj.PlayerName,SchoolHeadi.PlayerHeadj.PlayerNumber,SchoolHeadi.PlayerHeadj.Sex,SchoolHeadi.PlayerHeadj.PlayerScore);fclose(fp);printf("寫入成功!n");MatchPro *MatchInput(MatchPro *MatchHead,PNews *PreNode,School *SchoolHead)int i=0,j=0,k=0,flag=0,
37、flag1=0,m=0;int SchoolNum = 0;int PlayerNum = 0;MatchPro *pNode = NULL;BeginInput(PreNode);PreNews_Write(PreNode);system("cls");SchoolHead = Add_School(SchoolHead,PreNode);for(;i<(PreNode->ManItemSum+PreNode->WomanItemSum);i+)pNode = (MatchPro *)malloc(sizeof(MatchPro);if(NULL = p
38、Node)printf("分配內(nèi)存失敗,程序結(jié)束n");getch();exit(-1);if(i<PreNode->ManItemSum)printf(" 請輸入第%d個男子比賽工程的名稱 n",i+1);elseprintf(" 請輸入第%d個女子比賽工程的名稱 n",i+1);flag1 = 1;scanf("%s",pNode->MatchName);pNode->MatchNumber = i+1;if( (i+1)%3 = 0)for(j = 0;j < 3; j+)whi
39、le(1)printf("請輸入第%d名學(xué)校的編號.n",j+1);scanf("%d",&SchoolNum); if(SchoolNum<0|SchoolNum>PreNode->SchoolSum) printf("您輸入數(shù)據(jù)非法,請重新輸入!n"); else pNode->rangej=SchoolNum; break;while(1)printf("請輸入第%d名運發(fā)動的編號.n",j+1);scanf("%d",&PlayerNum); fo
40、r(m=0;m<SchoolHeadpNode->rangej-1.PlayerData;m+)if(SchoolHeadpNode->rangej-1.PlayerHeadm.PlayerNumber=PlayerNum)pNode->Playerj=PlayerNum;flag = 1;break;if(flag = 1 && flag1 + 1 = SchoolHeadpNode->rangej-1.PlayerHeadm.Sex)flag = 0;break;elseprintf("您輸入運發(fā)動數(shù)據(jù)有誤,請重新輸入!n"
41、);switch(j+1)case 1:SchoolHeadpNode->rangej-1.PlayerHeadm.PlayerScore+=5;if(i<PreNode->ManItemSum)SchoolHeadpNode->rangej-1.MenScore+=5;elseSchoolHeadpNode->rangej-1.WomenScore+=5;break;case 2:SchoolHeadpNode->rangej-1.PlayerHeadm.PlayerScore+=3;if(i<PreNode->ManItemSum)Schoo
42、lHeadpNode->rangej-1.MenScore+=3; elseSchoolHeadpNode->rangej-1.WomenScore+=3;break;case 3:SchoolHeadpNode->rangej-1.PlayerHeadm.PlayerScore+=2;if(i<PreNode->ManItemSum)SchoolHeadpNode->rangej-1.MenScore+=2;elseSchoolHeadpNode->rangej-1.WomenScore+=2;break;default: break;elsefor
43、(j=0;j<5;j+)while(1)printf("請輸入第%d名學(xué)校的編號.n",j+1); scanf("%d",&SchoolNum); if(SchoolNum<0|SchoolNum>PreNode->SchoolSum)printf("您輸入數(shù)據(jù)非法,請重新輸入!n");elsepNode->rangej=SchoolNum;break;while(1)printf("請輸入第%d名運發(fā)動的編號.n",j+1);scanf("%d",&
44、;PlayerNum); for(int m=0;m<SchoolHeadpNode->rangej-1.PlayerData;m+)if(SchoolHeadpNode->rangej-1.PlayerHeadm.PlayerNumber=PlayerNum)pNode->Playerj=PlayerNum;flag = 1;break;if(flag = 1)flag = 0;break;elseprintf("您輸入運發(fā)動數(shù)據(jù)有誤,請重新輸入!n");switch(j+1)case 1:SchoolHeadpNode->rangej-1.
45、PlayerHeadm.PlayerScore+=7;if(i<PreNode->ManItemSum)SchoolHeadpNode->rangej-1.MenScore+=7;elseSchoolHeadpNode->rangej-1.WomenScore+=7;break;case 2:SchoolHeadpNode->rangej-1.PlayerHeadm.PlayerScore+=5;if(i<PreNode->ManItemSum)SchoolHeadpNode->rangej-1.MenScore+=5;elseSchoolHea
46、dpNode->rangej-1.WomenScore+=5;break;case 3:SchoolHeadpNode->rangej-1.PlayerHeadm.PlayerScore+=3;if(i<PreNode->ManItemSum)SchoolHeadpNode->rangej-1.MenScore+=3;elseSchoolHeadpNode->rangej-1.WomenScore+=3;break;case 4:SchoolHeadpNode->rangej-1.PlayerHeadm.PlayerScore+=2;if(i<P
47、reNode->ManItemSum)SchoolHeadpNode->rangej-1.MenScore+=2;elseSchoolHeadpNode->rangej-1.WomenScore+=2;break;case 5:SchoolHeadpNode->rangej-1.PlayerHeadm.PlayerScore+=1;if(i<PreNode->ManItemSum)SchoolHeadpNode->rangej-1.MenScore+=1;elseSchoolHeadpNode->rangej-1.WomenScore+=1;br
48、eak;default: break;pNode->next = MatchHead->next;MatchHead->next = pNode;system("cls");SchoolHead = CountSchoolScore(SchoolHead,PreNode);School_Write(SchoolHead,PreNode);free(SchoolHead);return MatchHead;School *CountSchoolScore(School *SchoolHead,PNews *PreNode)int i=0;for(i=0;i&
49、lt;PreNode->SchoolSum;i+)SchoolHeadi.SchoolScore=SchoolHeadi.WomenScore+SchoolHeadi.MenScore;return (SchoolHead);void Match_Write( MatchPro *MatchHead,PNews *PreNode,School *SchoolHead)MatchPro *PNode= MatchHead;FILE *fp = NULL;int i=0,j=0;MatchHead = MatchInput(MatchHead,PreNode,SchoolHead);PNode = PNode->next;if(fp = fopen("MatchItem.txt","w+") = NULL)printf("cannot open file,strike any key exit!");getch();exit(-1);while(NULL !=PNode)fprintf(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度2025版木材行業(yè)標(biāo)準(zhǔn)制定合作合同2篇
- 福建省泉州市南安市2024-2025學(xué)年八年級上學(xué)期期末英語試題(無答案)
- 創(chuàng)新創(chuàng)業(yè)-職業(yè)核心能力課件
- 絲印精加工在微型電子設(shè)備制造領(lǐng)域的應(yīng)用考核試卷
- 二零二五年度墓地陵園土地租賃與使用權(quán)轉(zhuǎn)讓合同4篇
- 母嬰行業(yè)2025年度母嬰用品環(huán)保認(rèn)證服務(wù)合同2篇
- 二零二五版鋼材貨物流動銀行托管運輸合同3篇
- 二零二五年度木制品生產(chǎn)與銷售承包合同3篇
- 2025年公司內(nèi)部競業(yè)保密協(xié)議
- 2025年太陽能光伏電站智能監(jiān)控工程施工合同
- 2024年高純氮化鋁粉體項目可行性分析報告
- 安檢人員培訓(xùn)
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 英語試題
- 危險性較大分部分項工程及施工現(xiàn)場易發(fā)生重大事故的部位、環(huán)節(jié)的預(yù)防監(jiān)控措施
- 《榜樣9》觀后感心得體會四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識》備考題庫(含答案)
- 化學(xué)-廣東省廣州市2024-2025學(xué)年高一上學(xué)期期末檢測卷(一)試題和答案
- 2025四川中煙招聘高頻重點提升(共500題)附帶答案詳解
- EHS工程師招聘筆試題與參考答案(某大型央企)2024年
- 營銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 2025年中國蛋糕行業(yè)市場規(guī)模及發(fā)展前景研究報告(智研咨詢發(fā)布)
評論
0/150
提交評論