C語言課程設(shè)計任務(wù)書教案資料_第1頁
C語言課程設(shè)計任務(wù)書教案資料_第2頁
C語言課程設(shè)計任務(wù)書教案資料_第3頁
C語言課程設(shè)計任務(wù)書教案資料_第4頁
C語言課程設(shè)計任務(wù)書教案資料_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。C語言課程設(shè)計任務(wù)書-課程設(shè)計任務(wù)書課程名稱C語言程序設(shè)計課題名稱運動會管理系統(tǒng)專業(yè)機械設(shè)計制造及其自動化班級機械設(shè)計0991學號200902010309姓名陳炳成指導教師黃曉宇黃哲陳多2011年6月8日湖南工程學院課程設(shè)計任務(wù)書課程名稱C語言程序設(shè)計課題班級成績管理系統(tǒng)等八個專業(yè)班級機械設(shè)計0991學生姓名陳炳成學號200902010309指導老師黃曉宇黃哲陳多審批任務(wù)書下達日期2011年6月8日任務(wù)完成日期2011年7月9日一、設(shè)計內(nèi)容與設(shè)計要求1設(shè)計內(nèi)容:課題八:運動會管理系統(tǒng)1、問題描述:對一個

2、有N個單位(學校),每個單位參加N個運動項目。該系統(tǒng)實現(xiàn)對運動會的運動員成績錄入、運動員名次計算、團體總分計算、輸出個人及團體成績表等操作的管理。2、功能要求:1)本系統(tǒng)采用一個以上的結(jié)構(gòu)體數(shù)組,每個數(shù)據(jù)的結(jié)構(gòu)應(yīng)當包括:單位編號、項目編號、項目名次個數(shù)、姓名、名次、得分;單位編號、成績單表、男子團體總分、女子團體部分等。2)本系統(tǒng)顯示這樣的菜單:請選擇系統(tǒng)功能項:1、項目設(shè)置2、成績錄入3、成績查詢4、成績打印5、退出系統(tǒng)3)執(zhí)行一個具體的功能之后,程序?qū)⒅匦嘛@示菜單。3、算法提示:1)數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組。2)數(shù)據(jù)庫結(jié)構(gòu):該系統(tǒng)的基本數(shù)據(jù)庫如下。4、測試數(shù)據(jù):單位數(shù)為3、運動項目數(shù)3、運

3、動員其它信息(數(shù)據(jù)任意)對該系統(tǒng)有興趣的同學可以在實現(xiàn)上述基本功能后,完善系統(tǒng)的其它功能。5、成績加分:對采用鏈表、磁盤文件等模式完成上述任務(wù)者給予加分。2設(shè)計要求:掌握結(jié)構(gòu)化程序設(shè)計的主體思想,以自頂向下逐步求精的方法編制程序解決一些實際的問題,為將來編寫軟件積累一些典型的案例處理經(jīng)驗。(1)按學號順序選課題號,并在規(guī)定的時間內(nèi)獨自完成相關(guān)課題的C源程序編寫、調(diào)整和運行。源程序及編譯生成各文件均保存;(2)按本任務(wù)書的要求,編寫課程設(shè)計報告(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂;(3)在2011年7月4日之前,請各班學習委員收齊課程設(shè)計報告交黃曉宇老師,聯(lián)系電話:130074437

4、55。附:課程設(shè)計報告內(nèi)容要求如下:封面課程設(shè)計任務(wù)書課程設(shè)計主文檔內(nèi)容如下:課程設(shè)計題目:運動會管理系統(tǒng)課程設(shè)計目的:提高同學對C語言的綜合應(yīng)用能力課程設(shè)計主要任務(wù):實現(xiàn)對運動會對運動員成績的錄入、運動員名次計算、團體總分計算、輸出個人及團體成績表等操作的管理設(shè)計環(huán)境:AMDAthlon(tm)IIX2240Processor2.8GHz,1.75GB的內(nèi)存總體設(shè)計方案的選定1、運動項目2、成績錄入3、成績查詢4、成績打印5、退出系統(tǒng)單位個數(shù)輸入1至5中的一個數(shù)姓名男子項目女子項目取前3或5已結(jié)束項目單位編號輸出結(jié)果結(jié)束運動會管理系統(tǒng)(主控模塊和各子模塊的設(shè)計方法及框圖)6、源程序清單:#i

5、nclude#include#include#includeintn,m,w;structresult/*定義比賽名次列表元素*/intscnum;/*單位編號*/charname20;/*姓名*/intposition;/*名次*/intscore;/*得分*/;structmatch/*定義項目結(jié)構(gòu)體*/intmatnum;/*項目編號*/intnum;/*項目名次個數(shù)*/structresultlist5;/*名詞列表數(shù)組*/;structsclist/*定義成績單元素*/intmatnum;/*項目編號*/intposition;/*名次*/charname20;/*姓名*/intsc

6、ore;/*得分*/;structschool/*定義單位結(jié)構(gòu)體*/intscnum;/*單位編號*/structsclistlist50;/*成績單列表數(shù)組*/intteam;/*團體總分*/intmteam;/*男子團體總分*/intfteam;/*女子團體總分*/intnum;/*累加數(shù)*/;structmatchma50;structschoolsc20;voidscore(inta,intb)/*得分分配函數(shù)*/if(b=3)maa-1.list0.score=5;maa-1.list1.score=3;maa-1.list2.score=2;if(b=5)maa-1.list0.s

7、core=7;maa-1.list1.score=5;maa-1.list2.score=3;maa-1.list3.score=2;maa-1.list4.score=1;voidinput(inta)/*輸入函數(shù)*/inti;doprintf(n第%d項:取前幾名(3/5)?,a);scanf(%d,&maa-1.num);if(maa-1.num!=3)&(maa-1.num!=5)printf(n!error:輸入的數(shù)應(yīng)為3或5!n);while(maa-1.num!=3)&(maa-1.num!=5);score(a,maa-1.num);/*調(diào)用得分分配函數(shù)*/for(i=0;im

8、aa-1.num;i+)maa-1.listi.position=i+1;printf(n第%d名,i+1);printf(n單位編號:);scanf(%d,&maa-1.listi.scnum);printf(姓名:);scanf(%s,&);printf(得分:%d,maa-1.listi.score);voidindex()/*整理函數(shù)*/inti,j,k,t;for(i=0;in;i+)sci.scnum=i+1;/*初始化校號*/sci.num=0;/*初始化累加數(shù)*/for(i=0;im+w;i+)for(j=0;jmai.num;j+)for(k=

9、0;kn;k+)if(mai.listj.scnum=sck.scnum)sck.listsck.num.matnum=mai.matnum;sck.listsck.num.position=mai.listj.position;for(t=0;t20;t+)t=t;sck.listsck.num.score=mai.listj.score;sck.num+;voidteamsco()/*團體成績計算函數(shù)*/inti,j;for(i=0;in;i+)sci.team=0;sci.mteam=0;sci.fteam=0;/*初始

10、化*/for(i=0;in;i+)for(j=0;jsci.num;j+)sci.team=sci.team+sci.listj.score;/*團體成績計算*/if(sci.listj.matnum=m)sci.mteam=sci.mteam+sci.listj.score;/*男子團體成績計算*/elsesci.fteam=sci.fteam+sci.listj.score;/*女子團體成績計算*/voidoutput()/*輸出單位成績列表函數(shù)*/inti,a;printf(n單位編號:%dn,maa-1.listi.scnum);printf(比賽項目編號名次姓名得分n);for(i=

11、0;isca-1.num;i+)printf(%6d%10d%10s%15dn,sca-1.listi.matnum,sca-1.listi.position,,sca-1.listi.score);voidteamput()/*輸出團體報表函數(shù)*/inti;printf(n團體成績報表n);printf(單位編號團體總分男子團體總分女子團體總分n);for(i=0;in;i+)printf(%4d%7d%11d%13dn,sci.scnum,sci.team,sci.mteam,sci.fteam);voidxmsz()system(cls);printf(請

12、輸入?yún)⒓舆\動會的單位個數(shù):);scanf(%d,&n);printf(n輸入男子項目個數(shù):);scanf(%d,&m);printf(n輸入女子項目個數(shù):);scanf(%d,&w);printf(n本次運動會有%d個單位參加,共設(shè)%d個比賽項目,其中男子項目%d個,女子項目%d個。n,n,m+w,m,w);intc=1;while(c!=0)printf(n輸入0返回主菜單:);scanf(%d,&c);if(c=0)break;voidcjlr()inti,c;/*c為項目編號*/system(cls);printf(請輸入比賽結(jié)果資料n);for(i=0;i0)&(c=0)&(c=0)&

13、(c=m+w)output();/*調(diào)用出單輸位績成列表函數(shù)*/elseprintf(n!error:輸入的數(shù)應(yīng)為1-%d之間的整數(shù)!n,m+w);/*輸入出錯信息*/system(cls);/*清屏函數(shù)*/main()intx;while(1)system(cls);printf(-n);printf(C程序語言課程設(shè)計-運動會管理系統(tǒng)n);printf(設(shè)計人:陳炳成n);printf(-n);printf(n);-printf(1:運動項目設(shè)置n);printf(2:運動成績錄入n);printf(3:成績查詢n);printf(4:成績打印n);printf(5:退出系統(tǒng)n);prin

14、tf(-n);printf(n);printf(n);printf(請輸入系統(tǒng)功能編號(1-5):);scanf(%d,&x);if(x5)system(cls);printf(nnttt你輸入的功能號錯誤,請重新輸入,按Enter鍵繼續(xù)!);getchar();getchar();continue;switch(x)case1:xmsz();break;case2:cjlr();break;case3:cjcx();break;case4:cjdy();break;case5:printf(nnttt謝謝你的使用,歡迎再來!nnn);exit(0);7、收獲及體會:以前學習的C語言感覺就是有些摸不到頭腦,不知道學習這樣的課程有什么意義,感覺就是沒什么用的課程,只是有時候上機做實驗的時候會覺得原來是那么一回事,原來程序就是那么一回事。但是從來沒有親手編譯一個功能完整的程序也不會感覺學C有多少樂趣,這次的課程設(shè)計讓我親切的感覺到了知識的魅力與力量,經(jīng)過這樣的課程設(shè)計也讓我對C語言有了更深一步的了解。原來生活中的很多看是奇妙的東西就是在那一個個呆板的字符所構(gòu)成的。也讓我看到C語言的魅力所在,可惜的事這樣的課程設(shè)計安排在考試周的前一個禮拜,讓我們無暇全身心的去做屬于自己的程序編譯。只能草草收尾了。8、參考資料:C語言程序設(shè)計教程、互聯(lián)網(wǎng)星期時

溫馨提示

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

評論

0/150

提交評論