c語言課程設(shè)計--比賽評分系統(tǒng)的設(shè)計_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  課 程 設(shè) 計</p><p>  課程名稱 C語言課程設(shè)計</p><p>  題 目 比賽評分系統(tǒng)的設(shè)計</p><p>  專 業(yè) 軟件工程 </p><p>  班 級 軟件1121班 </p><p>  姓 名

2、 </p><p><b>  課程設(shè)計任務(wù)書</b></p><p>  設(shè)計題目: 比賽評分系統(tǒng)的設(shè)計</p><p>  要求完成的主要任務(wù):</p><p><b>  任務(wù)描述</b></p><p>  學校要舉辦一個歌詠比賽,請設(shè)計一個比賽評分程

3、序,對參賽的選手進行評分。(給分的原則為:滿分為10分;計分方法是:裁判給出分數(shù)后,去掉兩個最高分和兩個最低分后的平均分為選手的最后得分(精確到小數(shù)點后兩位).)</p><p>  要求系統(tǒng)實現(xiàn)以下功能:</p><p> ?、?設(shè)參賽人數(shù)為n位(n<50),裁判人數(shù)為m(m為不少于11的奇數(shù))位;</p><p>  ⑵ 系統(tǒng)能錄入?yún)①惾藛T資料;參賽選手按

4、序號依次比賽,統(tǒng)計最后得分;</p><p>  ⑶ 能夠查閱選手的得分情況; </p><p>  ⑷ 比賽結(jié)束后,顯示出“名次表”;</p><p> ?、?公布一、二、三等獎的得獎選手名單。</p><p><b>  本課程涉及的知識點</b></p><p>  變量的定義、輸入和輸出函

5、數(shù)、數(shù)組的應(yīng)用、循環(huán)語句、選擇語句等等。</p><p>  3. 要求完成的任務(wù)</p><p> ?、?完成整個規(guī)定任務(wù)的設(shè)計及調(diào)試,最后得出正確結(jié)果,并經(jīng)教師檢查及答辯;</p><p> ?、?寫出規(guī)范的課程設(shè)計報告,在設(shè)計思想描述時一定要畫出程序算法流程圖;</p><p>  ⑶ 課程設(shè)計結(jié)束后交設(shè)計說明書等文檔和設(shè)計內(nèi)容:<

6、;/p><p> ?、?從2月26日起,學生每天至少要到設(shè)計教室半天以上;</p><p>  設(shè)計報告撰寫格式要求:</p><p>  設(shè)計報告的主要內(nèi)容是詳細寫出在設(shè)計過程中所用到的主要技術(shù)或方法;</p><p>  課程設(shè)計報告按通用格式書寫,具體要求見資料:“課程設(shè)計說明書的書寫內(nèi)容與格式”</p><p>&

7、lt;b>  目 錄</b></p><p><b>  1.設(shè)計題目5</b></p><p><b>  2.開發(fā)環(huán)境5</b></p><p><b>  3. 開發(fā)工具5</b></p><p><b>  4.完成時間5</

8、b></p><p><b>  5. 設(shè)計思想5</b></p><p>  6. 設(shè)計過程及設(shè)計步驟6</p><p><b>  7. 測試運行6</b></p><p>  8. 評價與修訂7</p><p><b>  9. 設(shè)計體會7&l

9、t;/b></p><p>  10. 參考文獻8</p><p>  《比賽評分系統(tǒng)的設(shè)計》課程報告</p><p><b>  1 設(shè)計題目</b></p><p>  比賽評分系統(tǒng)的設(shè)計 </p><p><b>  2 開發(fā)環(huán)境</b></p>

10、<p><b>  2.1硬件環(huán)境</b></p><p>  微機系列,內(nèi)存在1G以上</p><p><b>  2.2軟件環(huán)境</b></p><p>  Microsoft Windows XP, Microsoft Windows 7;</p><p><b>  3

11、.開發(fā)工具</b></p><p>  Visual C++6.0</p><p><b>  4.完成時間</b></p><p>  2013.2.25----2013.3.1</p><p><b>  5.設(shè)計思想</b></p><p>  首先根據(jù)設(shè)計

12、題目思考設(shè)計的要點,確定要做的事情,在網(wǎng)上翻閱了許多資料都過于復(fù)雜,最后我決定用類似for結(jié)構(gòu),switch結(jié)構(gòu)一些簡單的結(jié)構(gòu)寫出程序.然后根據(jù)思想畫出程序框圖,然后列出基本步驟完成程序,再運行測試,最后修改完善整個程序程序。</p><p>  6.設(shè)計過程及設(shè)計步驟</p><p><b>  6.1 算法設(shè)計</b></p><p>  

13、比賽評分系統(tǒng)的算法流程圖如圖6-1所示。</p><p>  圖6-1 比賽評分系統(tǒng)的算法流程圖</p><p>  6.2比賽評分系統(tǒng)的設(shè)計步驟</p><p>  1.宏定義符號常量N(選手數(shù)),M(評委數(shù)),P(評分選項數(shù));</p><p>  2.定義評委評分,選手得分的數(shù)組fen[50];</p><p&g

14、t;  3.用for循環(huán)嵌套通過評委數(shù)量與選手數(shù)量控制評分項的完整輸入,再用scanf語句對應(yīng)二維數(shù)組a[]使評分與選手結(jié)合,在k=N時跳出循環(huán);</p><p>  4.用冒泡法將評分按大小排序,接著去除二個最高分與二個最低分算出選手最終得分;部分程序如下:</p><p>  for(b=0;b<n;b++){for(i=0;i<m;i++){printf(&quo

15、t;請%d號裁判輸入對%d號選手評分",i+1,b+1);scanf("%d",&fen[i]);} for(j=0;j<m;j++)for(x=j+1;x<m;x++)if(fen[j]<fen[x]){zhong=fen[x];fen[x]=fen[j];fen[j]=zhong;}c++;sum=0;for(a=0;a<m;a++)sum=su

16、m+fen[a];pj=(sum-fen[0]-fen[1]-fen[m-2]-fen[m-1])/(m-4);he[c]=pj;printf("去掉2個最高分和2個最低分號%d選手的平均分為%f分\n",b+1,pj);}</p><p>  5.用一個for循環(huán)通過x控制姓名數(shù)量,通過scanf函數(shù)實現(xiàn)選手姓名的錄入,在x<n是跳出循環(huán);部分程序如下:</p>

17、<p>  for(v=1;v<50;v++){for(j=1;j<=n;j++){k=0;for(x=1;x<=n;x++)if(he[j]>he[x])k++;p=n-k;if(p==v){printf(" 第%d號選手獲得第%d名成績?yōu)?f\n",j,p,he[j]);break;}}}</p><p>  6.用printf函數(shù)

18、和for循環(huán)將最后的比賽名次與獲獎選手姓名一一對應(yīng)的完整輸出;</p><p><b>  7.程序調(diào)試 </b></p><p>  1.第一次運行程序時,發(fā)現(xiàn)人數(shù)設(shè)定不符合題目要求,重新修改后運行結(jié)果良好;</p><p>  圖7-1 輸入數(shù)據(jù)的運行截圖</p><p>  第二次運行程序成功后,發(fā)現(xiàn)獎項設(shè)置不符

19、合實際情況,返回程序做出修改后運行結(jié)果良好;</p><p>  圖7-2 運行結(jié)果截圖</p><p>  8.遇到的問題及不足 </p><p><b>  8.1評價</b></p><p>  1.程序沒用復(fù)雜的結(jié)構(gòu),具有簡潔性;</p><p>  2.程序不夠貼合實際,還需做出更進一

20、步的設(shè)計;</p><p>  3.程序設(shè)計的能力還需加強;</p><p>  4.沒有使用文件系統(tǒng),程序中信息無法長期保存和連續(xù)使用;</p><p><b>  8.2修訂</b></p><p>  1.對程序中的人數(shù)和獎項設(shè)定做了修改,形成動態(tài)改變,使之更具有通用性;</p><p> 

21、 2.對程序中的評分精確度做出了改正,使之保留得分的小數(shù)點后2-3位;</p><p>  3.程序不能夠做到靈活可變,但試著改進后發(fā)現(xiàn)不成功;</p><p>  4.應(yīng)在程序中加入數(shù)據(jù)文件的應(yīng)用。 </p><p><b>  10.參考文獻</b></p><p>  [1] 譚浩強?C語言程序設(shè)計教程?北京:清華

22、大學出版社,2005年5月</p><p>  [2] 王路明?C語言程序設(shè)計教程?北京:北京郵電大學出版社,2005年5月</p><p>  [3] 譚浩強·C++程序設(shè)計·北京:清華大學出版社·2004</p><p><b>  實訓體會</b></p><p>  通過這次實訓也讓

23、我們同學之間的關(guān)系更加融洽。在制作作品的過程中我深深感受到了同學們互幫互助的融洽學習氛圍。每當遇到困難時我身邊的同學都會很熱心的過來提供幫助。正是因為他們幫我解決了一個又一個的困難。我的作品才能夠得以完成。通過這次實訓我深刻體會到了同學之情的珍貴。我相信在今后的日子里一定會加倍的珍惜這份情誼。</p><p>  這次實訓還讓我體會到了成功的喜悅。當通過努力把那些作品完成的時候,那種成就感,我想只有設(shè)計者本人能夠

24、體會。有了這次經(jīng)歷我相信我以后一定會認真的對待每個任務(wù),爭取把每件事情都做到最好。</p><p>  這次的實訓真真是苦不堪言啊,看著選好的題目,比賽評分系統(tǒng)的設(shè)計應(yīng)該還算比較簡單的了,但苦苦思索就是無法動手開編,那種完全沒有頭緒的感覺,直叫人為當初沒有學好專業(yè)知識而叫苦不迭,可還是要將實訓進行下去,只好依靠互聯(lián)網(wǎng)的神奇力量找了一份參考,做出修改和設(shè)定后就算是完成了,運行成功后再次作了修改。</p>

25、<p>  雖然報告是勉強過關(guān)了,但我能感覺到的是通過這次的實訓,我們除了抗壓能力隱忍能力耍小聰明的能力強了那么一丁點而已,這次的實訓讓我們真真領(lǐng)會了學習的嚴謹性和學好專業(yè)知識的重要性,現(xiàn)在的我們明白了掌握專業(yè)知識的必要性,所以更加迫切的需要黃老師帶領(lǐng)我們?nèi)W習真正的專業(yè)技能,更加真實的希望以后的實訓更加有長進了。</p><p><b>  附錄:源程序代碼</b></

26、p><p>  比賽評分系統(tǒng)的設(shè)計程序</p><p>  #include<stdio.h>main(){ int n,m,b,s,i,j,x,a,fen[50],c=0,k=0,p,v,d,e,g;double f,zhong=0,sum=0,pj,he[51];printf("請輸入比賽選手人數(shù)n以及裁判人數(shù)m中間以逗號隔開:");scanf(&

27、quot;%d,%d",&n,&m);for(b=0;b<n;b++){for(i=0;i<m;i++){printf("請%d號裁判輸入對%d號選手評分",i+1,b+1);scanf("%d",&fen[i]);} for(j=0;j<m;j++)for(x=j+1;x<m;x++)if(fen[j]<fen[

28、x]){zhong=fen[x];fen[x]=fen[j];fen[j]=zhong;}c++;sum=0;for(a=0;a<m;a++)sum=sum+fen[a];pj=(sum-fen[0]-fen[1]-fen[m-2]-fen[m-1])/(m-4);he[c]=pj;printf("去掉2個最高分和2個最低分號%d選手的平均分為%</p><p>  prin

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論