版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計說明書</b></p><p> 課程名稱 C語言綜合訓練 </p><p> 教 學 部 工學一部 </p><p> 專 業(yè) 網(wǎng)絡工程 </p><p> 班 級 <
2、/p><p> 學 號 </p><p> 學生姓名 </p><p> 指導教師 </p><p><b> 2011年9月</b></p><p><b> 課程設計任務書
3、</b></p><p> 課程設計題目 運動會成績管理程序設計 </p><p> 課程設計時間: 2011 年 8 月 29 日至 2011 年 9月 15 日</p><p> 課程設計的內容及要求:</p><p><b> ?。ㄒ唬┲饕獌热?lt;/
4、b></p><p> 設計一個運動會成績管理程序,主要實現(xiàn)以下功能:</p><p> 檢錄功能,登錄參賽運動員的信息;</p><p> 記錄成績功能,每項比賽結束后記錄參賽運動員的成績;</p><p> 針對不同比賽對運動員的成績排名次;</p><p> 可對運動員的信息和成績進行修改、刪除、
5、查詢操作。</p><p><b> ?。ǘ┗疽?lt;/b></p><p> 系統(tǒng)采用C程序設計語言實現(xiàn);</p><p> 獨立完成系統(tǒng)的設計、編碼和調試,通過指導教師當場驗收;</p><p> 交出完整的課程設計報告。</p><p><b> 三)主要參考書</
6、b></p><p> 譚浩強.C程序設計(第三版). 北京:清華大學出版社,2005.7</p><p> 高濤,陸麗娜.C語言程序設計.西安西安交通大學出版社,2007.2</p><p><b> ?。ㄋ模┰u語</b></p><p><b> ?。ㄎ澹┏煽?lt;/b></p>
7、;<p> 指導教師 史俊 2011 年 7 月 2 日</p><p> 負責教師 年 月 日</p><p> 運動會成績管理程序設計</p><p><b> 目錄</b></p><p>&l
8、t;b> 摘要1</b></p><p><b> 1.緒論1</b></p><p><b> 2.系統(tǒng)分析1</b></p><p><b> 2.1功能需求1</b></p><p><b> 2.2數(shù)據(jù)需求2</b&
9、gt;</p><p><b> 2.3性能需求2</b></p><p><b> 3.總體設計2</b></p><p> 3.1功能模塊設計2</p><p> 3.2系統(tǒng)設計方案3</p><p><b> 4.詳細設計4</b&g
10、t;</p><p> 4.1錄入信息模塊4</p><p> 4.2查詢信息模塊5</p><p> 4.3修改信息模塊7</p><p> 4.4刪除信息模塊8</p><p> 4.5成績排名模塊9</p><p> 5.調試和測試11</p><
11、;p><b> 5.1測試11</b></p><p><b> 5.2調試11</b></p><p><b> 6.結論12</b></p><p><b> 結束語12</b></p><p><b> 參考文獻1
12、2</b></p><p> 附錄1—用戶手冊13</p><p> 附錄2—源程序17</p><p><b> 摘要</b></p><p> 運動會是一個全民健身的活動,在運動會里可以提高人們的身體素質,培養(yǎng)人們的素養(yǎng)。在參加運動會的過程中我們可以看到激情和友情的碰撞,人們用自己的實力來贏得
13、第一。開發(fā)本系統(tǒng)是為了更方便,在運動會中做比賽數(shù)據(jù)的記錄,方便記錄比賽成績。</p><p> 本系統(tǒng)使用C語言作為開發(fā)語言。實現(xiàn)了對運動會的結果提示以及對成績的儲存和對成績的排名。</p><p> 本文從分析課題的題目背景、題目意義、題目要求等出發(fā),分別從需求分析、總體設計、詳細設計、測試等各個方面詳細介紹了系統(tǒng)的設計與實現(xiàn)過程,最后對系統(tǒng)的完成情況進行了總結。</p>
14、;<p> 關鍵詞:C語言;運動會;信息管理 </p><p><b> 1.緒論</b></p><p> 運動會成績管理程序設計的開發(fā)是為了方便記錄比賽成績,運動員的狀況和成績,對比賽成績進行排名。這個系統(tǒng)以快捷,簡便為原則,更加方便了對運動會成績的記錄。運動會是很早以前就有的一項組織性活動,它的存在使人們的身體得到了鍛煉。運動會是一項必不可少
15、的活動,所以開發(fā)這個系統(tǒng)可以使運動會成績的記錄變的更加方便。</p><p> 設計一個運動會成績管理程序,主要實現(xiàn)以下功能:</p><p> 1、檢錄功能,登錄參賽運動員的信息;</p><p> 2、記錄成績功能,每項比賽結束后記錄參賽運動員的成績;</p><p> 3、針對不同比賽對運動員的成績排名次;</p>
16、<p> 4、可對運動員的信息和成績進行修改、刪除、查詢操作。</p><p><b> 2.系統(tǒng)分析</b></p><p><b> 2.1功能需求</b></p><p> 本系統(tǒng)要求對運動員的信息進行登錄修改,記錄,查詢,要求可以對運動員的成績進行單項排名。主要實現(xiàn)程序最初運行時運動員數(shù)據(jù)的錄入
17、以及其后的運行數(shù)據(jù)的追加功能,實現(xiàn)的功能是按照號碼對運動員的數(shù)據(jù)記錄進行修改、記錄、查詢、刪除,按照題目的具體要求實現(xiàn)的是某項成績的遞減排序以及名次顯示。 </p><p><b> 2.2數(shù)據(jù)需求</b></p><p> 在這些函數(shù)當中,添加運動員數(shù)據(jù)函數(shù)例如運動員序號、運動員名稱、百米賽跑成績、三級跳成績和撐桿跳成績。 </p><p&g
18、t;<b> 2.3性能需求</b></p><p> 本系統(tǒng)的性能需求:要求運行穩(wěn)定、數(shù)據(jù)可靠、輸出準確、響應速度快、可安全運行、能很好的保存、刪除、修改??梢约皶r保存存儲刪除數(shù)據(jù),可對成績進行排名,顯示即時成績</p><p><b> 3.總體設計</b></p><p><b> 3.1功能模塊設
19、計</b></p><p> 經(jīng)過對程序設計題目的分析可知,整個程序的設計實現(xiàn)大致分為5個模塊,每一個模塊對應一個函數(shù)。在這些函數(shù)當中,添加運動員數(shù)據(jù)函數(shù),刪除數(shù)據(jù)函數(shù),某項成績排序函數(shù)的實現(xiàn)嚴格按照題目的要求,而更改數(shù)據(jù)函數(shù)和顯示函數(shù)屬于附加功能。讀取文件函數(shù)和保存信息函數(shù)對其它函數(shù)的實現(xiàn)起輔助作用,主函數(shù)及菜單函數(shù)控制程序的整體運行。錄入信息模塊是錄入運動員信息、查詢信息模塊是查詢運動員信息的、
20、修改信息模塊可以對運動員信息進行修改、刪除模塊可對運動員信息進進行刪除、成績排名是對運動員的成績進行排名,功能模塊見圖1所示。</p><p><b> 圖1 功能模塊圖</b></p><p><b> 3.2系統(tǒng)設計方案</b></p><p> 本系統(tǒng)中用到了結構體數(shù)組和數(shù)據(jù)的存儲。該結構體數(shù)組中包含字符串,系
21、統(tǒng)的設計方案如下:</p><p><b> (1)數(shù)據(jù)結構</b></p><p> struct student</p><p> {char num[20];//運動員號碼</p><p> char name[10];//運動員名字</p><p> float baimi;//
22、百米賽跑成績</p><p> float sanjitiao;//三級跳成績</p><p> float chenggantiao;//撐桿跳成績</p><p><b> };</b></p><p><b> ?。?)菜單</b></p><p> 設計一個總
23、菜單,0、查詢運動員數(shù)據(jù);1、添加運動員數(shù)據(jù);2、顯示運動員數(shù)據(jù);3、刪除運動員數(shù)據(jù);4、修改運動員數(shù)據(jù);5、百米成績排序;6、三級跳成績排序;7撐桿跳成績排序;8、退出;基本功能的實現(xiàn)都將體現(xiàn)在這幾個菜單選項中。</p><p><b> (3) 函數(shù)</b></p><p><b> 定義了12個函數(shù)</b></p><
24、;p> void menu();</p><p> int reads(struct student stu[N]);//讀取運動員信息</p><p> void save(struct student stu[N],int n);//儲存運動員信息</p><p> void search();//查詢運動員信息</p><p&
25、gt; void add();//添加運動員信息</p><p> void del();//刪除運動員信息</p><p> void sort();// 按百米賽跑成績查詢</p><p> void keep();//按三級跳成績查詢</p><p> void sheep();//按撐桿跳成績查詢</p>&l
26、t;p> void query();//退出程序</p><p> void show();//顯示運動員信息</p><p> void change();//更改運動員信息</p><p><b> 4.詳細設計</b></p><p><b> 4.1錄入信息模塊</b><
27、;/p><p><b> 1. 添加數(shù)據(jù)函數(shù)</b></p><p> 添加數(shù)據(jù)分為兩種情況,其一是在運動員文件(student.txt)不存在的情況下,首先由程序創(chuàng)建一個新文件,并將錄入的運動員信息寫入該文件當中;其二是在運動員文件(student.txt)已經(jīng)存在的情況下,此時文件以追加的方式打開,這樣才可以保證以前已經(jīng)存在的數(shù)據(jù)不丟失。</p>&
28、lt;p><b> 圖2錄入信息流程圖</b></p><p><b> 4.2查詢信息模塊</b></p><p> 查詢文件是在以存的運動員信息中進行查詢,可對運動員信息進行查詢顯示運動員信息。通過錄入運動員號碼num ,與stu[i].num做比較,結果相同進行m++,m=reads(stu);來提取文件中的數(shù)據(jù)</p&g
29、t;<p><b> 圖3查詢信息流程圖</b></p><p><b> 4.3修改信息模塊</b></p><p> 修改信息是對運動員信息進行修改,通過輸入number與stu[i].num比較,如果相同進行 n=reads(stu)來提取信息在對信息進行修改。</p><p><b>
30、 圖4修改信息流程圖</b></p><p><b> 4.4刪除信息模塊</b></p><p> 該函數(shù)的核心內容是刪除算法以及最終對源文件的更新。該函數(shù)執(zhí)行時,首先調用reads函數(shù)將文件中的運動員信息讀入數(shù)組當中,并由用戶輸入待刪除運動員的號碼,而后按照該號碼進行查找,如果文件中存在該運動員的數(shù)據(jù),則采用刪除算法刪除,否則輸出運動員信息不存在
31、的提示信息。對運動員信息的具體刪除算法是在結構體數(shù)組中實現(xiàn)的,當運動員的信息被找到后,位于數(shù)組中該學生后面的運動員記錄依次向前移動一個元素的位置,這些操作完成后,要刪除運動員信息就被后面的數(shù)組元素覆蓋掉了,也就實現(xiàn)了刪除。</p><p><b> 圖5刪除信息流程圖</b></p><p><b> 4.5成績排名模塊</b></p&
32、gt;<p> 對于某項的排序采用的排序算法是冒泡法排序,整個排序過程在結構體數(shù)組stu中實現(xiàn),由于排序算法涉及到兩個數(shù)組元素的信息交換,因此還需要定義一個中間變量來協(xié)助。排序函數(shù)使運動員數(shù)據(jù)的排列順序發(fā)生了變化,因此也需要對源文件進行更新。此外,對于運動員排序后名次的確定,僅在結果輸出時予以顯示,并未將名次信息寫入源文件。具體的程序段如下(由于各項成績排序函數(shù)相同,所以只給出百米賽跑排名程序):</p>
33、<p><b> 圖6成績排名流程圖</b></p><p><b> 5.調試和測試</b></p><p><b> 5.1測試</b></p><p> 測試是在完成某一部分功能和全部功能后,根據(jù)功能和性能的需求,看看系統(tǒng)有沒有實現(xiàn)要求中的功能,是否達到性能要求。系統(tǒng)測試是軟件
34、生存期中的一個重要階段,系統(tǒng)質量保證的關鍵步驟從用戶的角度來看,普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,所以系統(tǒng)測試應該是“為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程”?;蛘哒f,系統(tǒng)測試應該根據(jù)程序開發(fā)各階段的規(guī)格說明和程序的內部結構而精心設計一批測試用例(即輸入數(shù)據(jù)及其預期的輸出結果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤或缺陷。過度測試則會浪費許多寶貴的資源。到測試后期,即使找到了錯誤,然而付出了過高的代價。</p>
35、<p><b> 測試數(shù)據(jù)過程如下。</b></p><p> 當運動員成績管理系統(tǒng)進行對運動員數(shù)據(jù)的添加數(shù)據(jù) 號碼 1 姓名 zhanglinlin 百米賽跑 10 三級跳 9 撐桿跳 4.5 號碼 2 姓名 yushuo 百米賽跑 9.8 三級跳 7 撐桿跳 4。顯示信息即顯示添加的數(shù)據(jù) ,修改數(shù)據(jù),查詢數(shù)據(jù),現(xiàn)在測試系統(tǒng)是否能夠正確顯示錄入的所有運動員信息,當系統(tǒng)中
36、已存入一定的運動員信息當執(zhí)行瀏覽功能時,系統(tǒng)會將運動員信息全部列出,當系統(tǒng)未存入任何信息是顯示無運動員信息 。</p><p> 測試成功,顯示正確,完成測試。</p><p><b> 5.2調試 </b></p><p> 調試是程序編寫中的一個重要環(huán)節(jié),也是最復雜,對程序編寫者來說是一項艱巨的任務。調試的任務就是及時改正測試過程中發(fā)
37、現(xiàn)的錯誤。具體地說,調試過程由兩個步驟組成,它是從程序中存在錯誤的某種跡象開始的。首先是確定錯誤的準確位置,也就是找出是哪個模塊或哪個語句引起的錯誤。然后仔細研究推斷代碼以確定問題的原因,并設法改正。</p><p> 調試過程主要是運行編制好的程序,然后遇到錯誤后根據(jù)系統(tǒng)的提示,找到相關的問題所在。本系統(tǒng)調試過程中遇到問題、原因和解決方法如下面介紹:</p><p> ?。?)程序運行
38、不順利</p><p> 在程序運行的過程中出現(xiàn)死循環(huán)、不運行和提前結束。原因是程序中出現(xiàn)了邏輯錯誤,進入查詢頁面后,查詢的時候顯示的是邏輯錯誤。沒有寫讀取文件的函數(shù)m=reads(stu);所以讀取不了存儲的文件</p><p> ?。?)無法將排完序的數(shù)據(jù)寫入到文本文件stu_list.txt中去</p><p> 原因是讀寫文件的方式不對。</p&g
39、t;<p><b> 6.結論</b></p><p> 經(jīng)過一段時間的學習,制作我的運動會成績管理系統(tǒng)完成了,但只能說是粗略的完成。雖然說還存在一寫不足的地方,但基本實現(xiàn)了任務說上得所有要求,發(fā)現(xiàn)錯誤并及時修改,她能夠統(tǒng)計學生的比賽成績和通過成績進行排名,我設計的成績還存在一定的不足,一開始是沒有查詢功能的 ,經(jīng)過我不斷地努力把程序進行了完善,讓它變的更加實用。</
40、p><p><b> 結束語</b></p><p> 經(jīng)過兩個星期的思考,設計,編程,我真的感到這不是一件簡單容易的事情。C語言綜合訓練考察的并不僅僅是我們的基礎知識,還有思維上得活躍性,創(chuàng)新性,以及我們的動手能力。讓我了解到要想又好又快地完成一個程序,必須要有堅實的基礎和認真的編寫過程。在寫本程序的過程中我對文件中數(shù)據(jù)的排序有了深刻的認識,并且學會指針的選擇排序,
41、但是不會將文件中的某一個數(shù)據(jù)刪除。</p><p><b> 參考文獻</b></p><p> [5]譚浩強.C程序設計.北京:清華大學出版社 2005 </p><p><b> 附錄1—用戶手冊</b></p><p> 點擊運行,顯示主菜單,按菜單內容選擇功能如圖7所示。</p
42、><p><b> 圖7 開始界面</b></p><p> 上面的開始界面出現(xiàn)后,輸入數(shù)字0進入運動員信息查詢界面如圖8所示</p><p><b> 圖8查詢功能</b></p><p> 輸入菜單對應的數(shù)字,進入相應程序,輸入要添加的運動員數(shù)量如圖9所示</p><p&
43、gt;<b> 圖9輸入運動員數(shù)量</b></p><p> 輸入菜單對應的數(shù)字,進入相應程序,輸入姓名,如圖10所示</p><p> 圖10輸入運動員信息</p><p> 輸入菜單對應的數(shù)字,進入相應程序,顯示功能輸入2顯示運動員信息如圖11所示</p><p><b> 圖11顯示功能<
44、/b></p><p> 輸入菜單對應的數(shù)字,進入相應程序,刪除功能輸入3刪除運動員信息如圖12所示</p><p><b> 圖12刪除功能</b></p><p> 輸入菜單對應的數(shù)字,進入相應程序,修改功能輸入4修改運動員信信。如圖13所示</p><p><b> 圖13修改功能</
45、b></p><p> 輸入菜單對應的數(shù)字,進入相應程序百米排序輸入5百米成績排序,如圖14所示</p><p><b> 圖14百米成績排名</b></p><p> 輸入菜單對應的數(shù)字,進入相應程序,輸入6三級跳成績排序,如圖15所示</p><p> 圖15三級跳成績排名</p><
46、;p> 輸入菜單對應的數(shù)字,進入相應程序輸入7撐桿跳成績排序,如圖16所示</p><p> 圖16撐桿跳成績排名</p><p><b> 附錄2—源程序</b></p><p> 主要模塊的源代碼清單:#include<stdio.h></p><p> #include<strin
47、g.h></p><p> #include<stdlib.h></p><p> #include"conio.h"</p><p> #define N 20</p><p> struct student</p><p> {char num[20];</p&
48、gt;<p> char name[10];</p><p> float baimi;</p><p> float sanjitiao;</p><p> float chenggantiao;</p><p><b> };</b></p><p> void me
49、nu();</p><p> int reads(struct student stu[N]);</p><p> void save(struct student stu[N],int n);</p><p> void search();</p><p> void add();</p><p> voi
50、d del();</p><p> void sort(); </p><p> void keep();</p><p> void sheep();</p><p> void query();</p><p> void show();</p><p> void change
51、();</p><p> int reads(struct student stu[N]) // 讀取運動員文件中的內容</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p><b> int i=0;</b>&l
52、t;/p><p> if((fp=fopen("c:\\student.txt","r"))==NULL)</p><p><b> { </b></p><p> printf("文件打開失?。n");</p><p><b> return
53、0;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> for(i=0;!feof(fp);i++)</p><p> fscanf(f
54、p,"%s %s %f %f %f\n",stu[i].num,stu[i].name,&stu[i].baimi,&stu[i].sanjitiao,&stu[i].chenggantiao);</p><p><b> }</b></p><p> fclose(fp);</p><p>&l
55、t;b> return i;</b></p><p><b> }</b></p><p> void save(struct student stu[N],int n) // 運動員信息改變后更新文件</p><p><b> {</b></p><p><b>
56、; FILE *fp;</b></p><p><b> int i=0;</b></p><p> if((fp=fopen("c:\\student.txt","w"))==NULL)</p><p><b> { </b></p><p&
57、gt; printf("文件打開失??!\n");</p><p><b> return ;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b><
58、;/p><p> for(i=0;i<n;i++)</p><p> fprintf(fp,"%s %s %f %f %f\n",stu[i].num,stu[i].name,stu[i].baimi,stu[i].sanjitiao,stu[i].chenggantiao);</p><p><b> }</b>&
59、lt;/p><p> fclose(fp);</p><p><b> }</b></p><p> void search()//查詢運動員信息</p><p><b> {</b></p><p> int i=0,m;</p><p>
60、char num[20];</p><p> struct student stu[N];</p><p> m=reads(stu);</p><p> printf("請輸入運動員號碼:");</p><p> scanf("%s",num);</p><p> p
61、rintf("號碼\t姓名\t百米賽跑\t三級跳\t撐桿跳\t\n");</p><p> for(i=0; i<m; i++)</p><p><b> {</b></p><p> if(strcmp(stu[i].num,num)==0)</p><p><b> {&l
62、t;/b></p><p> printf("\n%12s%11s%11.2f%12.2f%11.2f\n",stu[i].num,stu[i].name,stu[i].baimi,stu[i].sanjitiao,stu[i].chenggantiao);</p><p><b> m++;</b></p><p&g
63、t;<b> }</b></p><p><b> }</b></p><p> printf("----------------\n");</p><p><b> }</b></p><p> void add()/*添加運動員信息*/<
64、/p><p><b> {</b></p><p><b> FILE *fp;</b></p><p><b> int n,i;</b></p><p> struct student stu;</p><p> if((fp=fopen(&q
65、uot;c:\\student.txt","a"))==NULL) //如果文件已經(jīng)存在,可以追加學生信息</p><p><b> {</b></p><p> if((fp=fopen("c:\\student.txt","w"))==NULL) // 文件不存在時,創(chuàng)建新文件,輸入學生信
66、息</p><p><b> { </b></p><p> printf("文件打開失??!\n");</p><p><b> return;</b></p><p><b> }</b></p><p><b>
67、 }</b></p><p> printf("請輸入要添加的運動員數(shù)量,按回車鍵確認:"); </p><p> scanf("%d",&n);</p><p> for(i=1;i<=n;i++)</p><p><b> { </b><
68、;/p><p> printf("\n請輸入第%d個運動員的號碼、姓名,用空格分開,并按回車鍵確認:\n",i);</p><p> scanf("%s%s",stu.num,stu.name);</p><p> printf("\n請輸入第%d個運動員的百米賽跑、三級跳和撐桿跳三項成績,用空格分開,并按回車鍵確
69、認:\n",i);</p><p> scanf("%f%f%f",&stu.baimi,&stu.sanjitiao,&stu.chenggantiao);</p><p> fprintf(fp,"%s %s %f %f %f\n",stu.num,stu.name,stu.baimi,stu.sanjiti
70、ao,stu.chenggantiao);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p><p> void show() // 運動員信息顯示函數(shù)</p><p><b>
71、{</b></p><p> struct student stu[N];</p><p><b> int i,n;</b></p><p> n=reads(stu);</p><p> printf("*********************所有的學生信息如下************
72、**********\n\n");</p><p> printf(" 序號 號碼 姓名 百米賽跑 三級跳 撐桿跳 \n");</p><p> printf("*************************************************************\n&
73、quot;); </p><p> for(i=0;i<n;i++)</p><p> printf("\n%12s%11s%11.2f%12.2f%11.2f\n",stu[i].num,stu[i].name,stu[i].baimi,stu[i].sanjitiao,stu[i].chenggantiao);</p><p>&l
74、t;b> getch();</b></p><p><b> }</b></p><p> void del() /*運動員信息刪除函數(shù)*/</p><p><b> {</b></p><p> struct student stu[N];</p>&l
75、t;p> char number[20];</p><p> int n,i,j;</p><p> n=reads(stu);</p><p> printf("\n請輸入要刪除信息運動員號碼,按回車鍵確認:");</p><p> scanf("%s",number);</p&
76、gt;<p> for(i=0;i<n;i++)</p><p> if(strcmp(number,stu[i].num)==0) break;</p><p><b> if(i>=n)</b></p><p><b> {</b></p><p> prin
77、tf("沒有找到該運動員信息!\n");</p><p><b> return;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p>
78、;<p> for(j=i+1;j<n;j++)</p><p> stu[j-1]=stu[j];</p><p><b> }</b></p><p> save(stu,n-1);</p><p> printf("刪除成功!\n");</p><
79、;p><b> }</b></p><p> void change() //學生信息更改</p><p><b> {</b></p><p> struct student stu[N];</p><p><b> int n,i;</b></p&g
80、t;<p> char number[20];</p><p> printf("\n請輸入要更改信息的學生學號,按回車鍵確認:");</p><p> scanf("%s",number);</p><p> n=reads(stu);</p><p> for(i=0;i&l
81、t;n;i++)</p><p> if(strcmp(number,stu[i].num)==0)</p><p><b> break;</b></p><p><b> if(i>=n)</b></p><p><b> {</b></p>&
82、lt;p> printf("無此學生信息!");</p><p><b> return;</b></p><p><b> }</b></p><p> printf("\n請輸入更改后學生的號碼,姓名,百米賽跑、三級跳、撐桿跳三門成績,按回車鍵確認:\n");<
83、;/p><p> scanf("%s%s%f%f%f",stu[i].num,stu[i].name,&stu[i].baimi,&stu[i].sanjitiao,&stu[i].chenggantiao);</p><p> save(stu,n);</p><p><b> }</b><
84、/p><p> void sort() // 按百米賽跑成績排名</p><p> {struct student stu[N],temp;</p><p> int i,j,n;</p><p> n=reads(stu);</p><p> for(i=0;i<n-1;i++)</p>
85、<p> for(j=0;j<n-1;j++)</p><p><b> {</b></p><p> if(stu[j].baimi>stu[j+1].baimi)</p><p> {temp=stu[j];</p><p> stu[j]=stu[j+1];</p>&
86、lt;p> stu[j+1]=temp;</p><p><b> }</b></p><p><b> }</b></p><p> save(stu,n); j=1 ;</p><p> printf("*********************百米賽跑成績排序結果如下
87、****************************\n\n");</p><p> printf(" 名次 號碼 姓名 百米賽跑 成績 \n");</p><p> printf("*********************************************************
88、**************\n"); </p><p> for(i=0;i<n;i++) // 輸出結果并排名</p><p><b> { </b></p><p> if(stu[i].baimi==stu[i+1].baimi)</p><p> if(stu[i].baimi!=0)&
89、lt;/p><p> printf("\n%3d%12s%11s%11.2f%11.2f\n",j,stu[i].num,stu[i].name,stu[i].baimi,stu[i].baimi);</p><p><b> else</b></p><p> printf("\n%3d%12s%11s\t\t
90、\t\t\n",j,stu[i].num,stu[i].name);</p><p><b> else</b></p><p> printf("\n%3d%12s%11s%11.2f%11.2f\n",j++,stu[i].num,stu[i].name,stu[i].baimi,stu[i].baimi);</p>
91、<p><b> }</b></p><p><b> getch();</b></p><p><b> }</b></p><p> void keep() // 按三級跳成績排名</p><p> {struct student stu[N],te
92、mp;</p><p> int i,j,n;</p><p> n=reads(stu);</p><p> for(i=0;i<n-1;i++)</p><p> for(j=0;j<n-1;j++)</p><p> {if(stu[j].sanjitiao<stu[j+1].sanj
93、itiao){temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;}}</p><p> save(stu,n); j=1 ;</p><p> printf("*********************三級跳成績排序結果如下****************************\n\n");</p><p>
94、; printf(" 名次 號碼 姓名 三級跳 成績 \n");</p><p> printf("***********************************************************************\n"); </p><p> for(i=0;i<
95、n;i++) // 輸出結果并排名</p><p><b> { </b></p><p> if(stu[i].sanjitiao==stu[i+1].sanjitiao)</p><p> printf("\n%3d%12s%11s%11.2f%11.2f\n",j,stu[i].num,stu[i].name,s
96、tu[i].sanjitiao,stu[i].sanjitiao);</p><p><b> else</b></p><p> printf("\n%3d%12s%11s%11.2f%11.2f\n",j++,stu[i].num,stu[i].name,stu[i].sanjitiao,stu[i].sanjitiao);</p&g
97、t;<p><b> }</b></p><p><b> getch();</b></p><p><b> }</b></p><p> void sheep() // 按三級跳成績排名</p><p> {struct student stu[N
98、],temp;</p><p> int i,j,n;</p><p> n=reads(stu);</p><p> for(i=0;i<n-1;i++)</p><p> for(j=0;j<n-1;j++)</p><p> {if(stu[j].chenggantiao<stu[j+
99、1].chenggantiao){temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;}}</p><p> save(stu,n); j=1 ;</p><p> printf("*********************撐桿跳成績排序結果如下****************************\n\n");</p>
100、<p> printf(" 名次 號碼 姓名 三級跳 成績 \n");</p><p> printf("***********************************************************************\n"); </p><p> for
101、(i=0;i<n;i++) // 輸出結果并排名</p><p><b> { </b></p><p> if(stu[i].chenggantiao==stu[i+1].chenggantiao)</p><p> printf("\n%3d%12s%11s%11.2f%11.2f\n",j,stu[i].n
102、um,stu[i].name,stu[i].chenggantiao,stu[i].chenggantiao);</p><p><b> else</b></p><p> printf("\n%3d%12s%11s%11.2f%11.2f\n",j++,stu[i].num,stu[i].name,stu[i].chenggantiao,s
103、tu[i].chenggantiao);</p><p><b> }</b></p><p><b> getch();</b></p><p><b> }</b></p><p> void menu()</p><p><b>
104、 {</b></p><p> printf("\n *********************** 運動員成績管理系統(tǒng)************************ ");</p><p> printf("\n ********* 0 查詢運動員數(shù)據(jù) **
105、*******");</p><p> printf("\n ********* 1 添加運動員數(shù)據(jù) *********");</p><p> printf("\n ********* 2 顯示運動員數(shù)據(jù)
106、*********");</p><p> printf("\n ********* 3 刪除運動員數(shù)據(jù) *********");</p><p> printf("\n ********* 4 更改運動員數(shù)據(jù)
107、 *********");</p><p> printf("\n ********* 5 百米成績排序 *********");</p><p> printf("\n ********* 6 三級跳成績排序
108、 *********");</p><p> printf("\n ********* 7 撐桿跳成績排序 *********");</p><p> printf("\n ********* 8 退出
109、 *********");</p><p> printf(" \n *******************************************************************");</p><p><b> }</b></p><p> void ma
110、in()</p><p> { int n;</p><p><b> while(1)</b></p><p><b> { </b></p><p><b> menu();</b></p><p> printf("\n 請
111、輸入您要選擇的操作序號,按回車鍵確認:");</p><p> scanf("%d",&n);</p><p><b> switch(n)</b></p><p><b> {</b></p><p> case 0:search();break;&l
112、t;/p><p> case 1: add();break;</p><p> case 2: show();break;</p><p> case 3: del();break;</p><p> case 4: change();break;</p><p> case 5: sort();break;&l
113、t;/p><p> case 6: keep();break;</p><p> case 7 :sheep();break;</p><p> case 8: exit(0);</p><p> default: printf("輸入錯誤,請輸入列表中存在的序號!\n ");</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設計--運動會成績管理系統(tǒng)
- c語言課程設計--學生成績簡單管理程序
- c語言課程設計-學生成績簡單管理程序
- c語言課程程序設計——校際運動會管理系統(tǒng)
- c++編程課程設計運動會成績查詢系統(tǒng)
- c語言程序設計課程設計---學生成績管理系統(tǒng)
- c語言課程設計---學生成績管理系統(tǒng)程序設計
- c語言程序設計課程設計
- c課程設計報告-- c語言程序設計
- 《c語言程序設計》課程設計報告
- c語言程序設計課程設計報告
- c語言課程設計(成績管理系統(tǒng))源程序
- c語言程序設計課程設計報告—宿舍管理系統(tǒng)
- 《c++語言程序設計》課程設計報告
- 《c語言程序設計》課程設計推箱子
- 《程序設計語言(c++)》課程設計
- c語言程序設計課程設計(論文)-迷宮
- 《c語言程序設計》課程設計指導手冊()
- c++程序設計課程設計---學生成績管理系統(tǒng)
- c語言課程設計--校際運動會管理系統(tǒng)
評論
0/150
提交評論