計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì) 運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)設(shè)計(jì)

上傳人:仙*** 文檔編號(hào):28012701 上傳時(shí)間:2021-08-22 格式:DOC 頁(yè)數(shù):25 大?。?76.54KB
收藏 版權(quán)申訴 舉報(bào) 下載
計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì) 運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共25頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì) 運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共25頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì) 運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共25頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì) 運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì) 運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)設(shè)計(jì)(25頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2012) 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 ( 2012 -- 2013 年度第 一 學(xué)期) 運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng) 專業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)生姓名 吳小會(huì) 班級(jí) M計(jì)算機(jī)112 學(xué)號(hào) 1151401225 指導(dǎo)教師 王 榕 完成日期 2012年9 月 13日 1 目 錄 1 概 述 1 1.1 課程設(shè)計(jì)目的 1 1.2 課程設(shè)計(jì)內(nèi)容 1 2 系統(tǒng)總體設(shè)計(jì) 1 2.1 系統(tǒng)目標(biāo) 1 2.2 主體功能 2 2.3

2、系統(tǒng)流程 3 2.4 開(kāi)發(fā)環(huán)境 4 3系統(tǒng)詳細(xì)設(shè)計(jì) 4 3.1系統(tǒng)主界面設(shè)計(jì) 4 3.2錄入修改成績(jī)模塊設(shè)計(jì) 4 3.3成績(jī)查詢模塊設(shè)計(jì) 5 3.4成績(jī)排序模塊設(shè)計(jì) 7 4 測(cè)試 8 4.1 測(cè)試方案 8 4.2 測(cè)試結(jié)果 8 5 小結(jié) 9 參考文獻(xiàn) 10 附 錄 11 附錄1 源程序清單 11 附錄1.1輸入運(yùn)動(dòng)員的基本信息、輸出運(yùn)動(dòng)員的基本信息模塊源程序 21 附錄1.2 查找運(yùn)動(dòng)員比賽成績(jī)模塊源程序 21 附錄1.3排序模塊源程序 22 3 運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 1 概 述 1.1 課程設(shè)計(jì)目的

3、1、鞏固并加深對(duì)C語(yǔ)言程序設(shè)計(jì)知識(shí)的理解; 2、掌握和提高C語(yǔ)言編程和程序調(diào)試的基本技能; 3、進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法; 4、提高運(yùn)用C語(yǔ)言解決實(shí)際問(wèn)題的能力; 5、初步掌握開(kāi)發(fā)小型實(shí)用軟件的基本方法; 6、掌握書(shū)寫(xiě)程序設(shè)計(jì)開(kāi)發(fā)文檔的能力(書(shū)寫(xiě)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告)。 1.2 課程設(shè)計(jì)內(nèi)容 課題名稱:運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng) 說(shuō)明:運(yùn)動(dòng)會(huì)的基本項(xiàng)目包括:100米,鉛球,跳高,跳遠(yuǎn) 要求: (1) 系統(tǒng)的操作界面,有提示用戶如何操作; (2) 從鍵盤可以將學(xué)生的各個(gè)運(yùn)動(dòng)項(xiàng)目的成績(jī)輸入; (3) 運(yùn)動(dòng)會(huì)的錄入成績(jī)可以通過(guò)查詢方式(通過(guò)運(yùn)動(dòng)員姓名)在屏幕上顯示出來(lái)

4、; (4) 程序具有修改輸入資料的功能; (5) 程序?qū)崿F(xiàn)對(duì)文件的讀取和寫(xiě)入操作; (6) 程序具有對(duì)某一運(yùn)動(dòng)會(huì)項(xiàng)目的名次進(jìn)行排序,使其按降序排列; (7) 每一項(xiàng)目都有對(duì)應(yīng)的折合分?jǐn)?shù),程序可以計(jì)算出所有代表隊(duì)的比賽總得分,并將各隊(duì)按總得分降序排列;比如:甲隊(duì)獲得100米的第三名折合分?jǐn)?shù)為1;獲得鉛球的第一名折合分?jǐn)?shù)為3;獲得跳高的第一名折合分?jǐn)?shù)為1;獲得跳遠(yuǎn)的第一名折合分?jǐn)?shù)為3;則甲隊(duì)的總得分為:1+3+1+3=8; (8) 程序要求可以將各個(gè)參賽隊(duì)的所有隊(duì)員中成績(jī)?nèi)匡@示出來(lái); (9) 程序可以運(yùn)用運(yùn)動(dòng)員的姓名來(lái)查詢?cè)撽?duì)員的此次運(yùn)動(dòng)會(huì)的所有項(xiàng)目成績(jī)。 2 系統(tǒng)總體設(shè)計(jì) 2.

5、1 系統(tǒng)目標(biāo) 實(shí)現(xiàn)對(duì)運(yùn)動(dòng)員成績(jī)輸入功能以及修改輸入資料功能,但是在輸入修改功能時(shí)加一項(xiàng)加密功能使其僅限于管理員使用。對(duì)于運(yùn)動(dòng)員再輸入姓名之后可以查詢?cè)撨\(yùn)動(dòng)員的報(bào)名項(xiàng)目、歸屬何隊(duì)、比賽成績(jī)以及排名。要對(duì)每一隊(duì)每名運(yùn)動(dòng)員參加項(xiàng)目的比賽成績(jī)進(jìn)行累加并對(duì)三隊(duì)總成績(jī)的累加進(jìn)行排序。當(dāng)運(yùn)動(dòng)員查詢自己成績(jī)情況后可以查詢?cè)撽?duì)的所有隊(duì)員以及總成績(jī)排名。實(shí)現(xiàn)對(duì)系統(tǒng)的讀取和寫(xiě)入操作。 2.2 主體功能 運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng) 輸入運(yùn)動(dòng)員比賽成績(jī) 成績(jī)情況查詢 修改輸入資料 運(yùn)動(dòng)員比賽成績(jī)查詢 代表隊(duì)總得分查詢 圖2-1 系統(tǒng)功能模塊圖 2.3 系統(tǒng)流程 輸入運(yùn)動(dòng)員所在隊(duì)及贏得的分?jǐn)?shù)

6、輸入運(yùn)動(dòng)員參加項(xiàng)目成績(jī) 開(kāi)始…初始化 輸入 Y 修改 Y N N 成績(jī)查詢 查詢運(yùn)動(dòng)員成績(jī)情況 查詢團(tuán)體成績(jī) 繼續(xù) 結(jié)束退出 輸入運(yùn)動(dòng)員參加項(xiàng)目成績(jī) 輸入運(yùn)動(dòng)員所在隊(duì)及贏得的分?jǐn)?shù) 輸入各隊(duì)比才成績(jī) 輸出運(yùn)動(dòng)員參加項(xiàng)目、所屬隊(duì)為隊(duì)贏得分?jǐn)?shù)和比賽名次 輸出隊(duì)中所有成員和各隊(duì)成績(jī)排名 圖3-1系統(tǒng)流程圖 2.4 開(kāi)發(fā)環(huán)境 該程序通過(guò)Turbo C&C++3.0軟件集成開(kāi)發(fā) 3系統(tǒng)詳細(xì)設(shè)計(jì) 3.1系統(tǒng)主界面設(shè)計(jì) menu() 圖3-1 系統(tǒng)主界面 其基本功能如下: 當(dāng)打開(kāi)學(xué)?;蛘邔W(xué)生信息錄入時(shí)系統(tǒng)會(huì)

7、彈出運(yùn)動(dòng)會(huì)主要信息錄入提醒。當(dāng)打開(kāi)運(yùn)動(dòng)員成績(jī)查詢系統(tǒng)會(huì)顯示輸入學(xué)生姓名和學(xué)號(hào),學(xué)生開(kāi)始正式查詢可了解到該學(xué)生比賽項(xiàng)目、比賽成績(jī)、所屬隊(duì)及為代表隊(duì)贏得得分?jǐn)?shù)。 3.2錄入修改成績(jī)模塊設(shè)計(jì) 成績(jī)錄入模塊的功能流程圖 開(kāi)始 輸入運(yùn)動(dòng)員資料 增加資料 Y Y Y N N N 修改資料 刪除資料 結(jié)束 請(qǐng)輸入家的數(shù)量n i<=n 請(qǐng)?jiān)黾? i=i+1 失敗 修改的學(xué)號(hào) i

8、查詢模塊的功能流程圖。 開(kāi)始 輸入比賽項(xiàng)目 賽跑 Y Y Y Y Y Y Y N N N N N N 輸入學(xué)號(hào)姓名 i=1 i

9、[j]

10、 圖8-1運(yùn)動(dòng)員排名界面 當(dāng)輸入排序程序時(shí),顯示各個(gè)運(yùn)動(dòng)員的比賽成績(jī) 測(cè)試方案二:顯示運(yùn)動(dòng)員成績(jī)測(cè)試 圖8-2得分規(guī)則顯示界面 4.2 測(cè)試結(jié)果 測(cè)試結(jié)果一: a、 問(wèn)題:每次在運(yùn)行時(shí)輸入兩個(gè)以上的項(xiàng)目便不能出正確結(jié)果。 發(fā)現(xiàn)過(guò)程:通過(guò)對(duì)程序的單步執(zhí)行監(jiān)視,發(fā)現(xiàn)在執(zhí)行完stu[j]<=stu[j+1] 被修改。 分析原因:在insert函數(shù)中動(dòng)態(tài)分配 newPtr 內(nèi)存時(shí),開(kāi)始用的語(yǔ)為newPtr =malloc (sizeof ( bodyPtr)); 因?yàn)榻Y(jié)構(gòu)指針bodyPtr 所占用的內(nèi)存字節(jié)數(shù)小于結(jié)

11、構(gòu)body 所占用的內(nèi)存字節(jié)數(shù),導(dǎo)致給newPtr分配的內(nèi)存過(guò)小,使得(*tailPtr)->nextPtr 被意外的修改。 解決辦法:將newPtr =malloc (sizeof (bodyPtr)) 改為 newPtr =malloc (sizeof (body))。 測(cè)試結(jié)果二: 錯(cuò)誤主要是在輸入字符時(shí)使用的是中文輸入,只要改成英文輸入就行了;注意“{}”使用要完整等等。不過(guò)在我編寫(xiě)程序時(shí)遇到的最大的困難還是在輸入文件模塊,因?yàn)閷?duì)這個(gè)知識(shí)點(diǎn)掌握不好,后來(lái)經(jīng)過(guò)查閱資料終于弄清楚了。 5 小結(jié) 總體來(lái)說(shuō)此次程序設(shè)計(jì)寫(xiě)得特別吃力感覺(jué)什么都不會(huì)有一些生疏的詞以前都沒(méi)有聽(tīng)過(guò)。好像感

12、覺(jué)自己之前學(xué)的C語(yǔ)言都白學(xué)了,以前上課老師只要我們寫(xiě)一些比較簡(jiǎn)單的小程序感覺(jué)還好,現(xiàn)在突然寫(xiě)一個(gè)成績(jī)管理系統(tǒng)開(kāi)始的時(shí)候感覺(jué)不知所措不知道從何入手。后來(lái)到圖書(shū)館查詢和網(wǎng)上搜索才深入的了解C語(yǔ)言,漸漸的就有了一些想法。 要想編寫(xiě)出一個(gè)優(yōu)秀的需求軟件,前期的需求分析是相當(dāng)重要的工作,而且在系統(tǒng)設(shè)計(jì)的過(guò)程中,對(duì)C語(yǔ)言又進(jìn)行了一次系統(tǒng)的學(xué)習(xí)。在設(shè)計(jì)信息代碼的時(shí)候,將功能分到不同的類中實(shí)現(xiàn),在編碼的時(shí)候,多次在小問(wèn)題上卡住,但最后還是在自己的思考和向其他同學(xué)請(qǐng)教、相互討論之后,將問(wèn)題解決掉??梢哉f(shuō)這二個(gè)星期的綜合設(shè)計(jì),讓我學(xué)習(xí)到了很多很多。 經(jīng)過(guò)這兩個(gè)星期的學(xué)習(xí)我體會(huì)比較多,深深地感到自己有許多的不足

13、。以前學(xué)專業(yè)課時(shí)并沒(méi)有調(diào)整好自己的心態(tài)以為考試只要過(guò)就行了課后自己也沒(méi)有練習(xí),現(xiàn)在才認(rèn)識(shí)到我這種態(tài)度的嚴(yán)重性。以后我要把我所學(xué)的放入實(shí)踐中經(jīng)常體會(huì)各種題目的意義所在,為自己以后找工作打下有利基礎(chǔ)。 23 參考文獻(xiàn) [1]譚浩強(qiáng).C程序設(shè)計(jì)(第二版)[M].北京:清華大學(xué)出版社,2012. [2]譚浩強(qiáng).C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第二版)[M].北京:清華大學(xué)出版社,2012. [3]明日科技.C語(yǔ)言程序開(kāi)發(fā)范例寶典[M].北京:人民郵電出版社,2010. [4]王一萍 梁偉 金梅.C程序設(shè)計(jì)與項(xiàng)目實(shí)踐[M]. 北京:清華大學(xué)出版社,2011. 附 錄 附錄1

14、 源程序清單 #include #include #include"conio.h" #defineN20 Struct student { char num[20]; char name[10]; float baimi; float tiaoyuan; float tiaogao; float qianqiu; }; Void menu(); int reads(struct student stu[N]); void save(struct student tstu[N],int n); void add(); v

15、oid del(); void sort(); void keep(); void sheep(); void qianq(); void query(); void show(); void change(); void main() { Int n; while(1) { menu(); printf("\n請(qǐng)輸入您要選擇的操作序號(hào),按回車鍵確認(rèn):"); scanf("%d",&n); switch(n) { case1:add();break; case2:show();break; case3:del();break; case4:change

16、();break; case5:sort();break; case6:keep();break; case7:sheep();break; case8:qianq();break; case9:exit(0); default:printf("輸入錯(cuò)誤,請(qǐng)輸入列表中存在的序號(hào)!\n"); } } } void menu() { printf("*************************運(yùn)動(dòng)員成績(jī)管理系統(tǒng)************************"); printf("\n1添加運(yùn)動(dòng)員數(shù)據(jù)"); printf("\n2顯示運(yùn)動(dòng)員數(shù)據(jù)"); print

17、f("\n3刪除運(yùn)動(dòng)員數(shù)據(jù)"); printf("\n4更改運(yùn)動(dòng)員數(shù)據(jù)"); printf("\n5百米成績(jī)排序"); printf("\n6跳遠(yuǎn)成績(jī)排序"); printf("\n7跳高成績(jī)排序"); printf(“\n8鉛球成績(jī)排序”); printf("\n9退出"); printf("\n~(@^_^@)~~(@^_^@)~~(@^_^@)~~(@^_^@)~~(@^_^@)~~(@^_^@)~~(@^_^@)~"); } int reads(struct student stu [N])//讀取運(yùn)動(dòng)員文件中的內(nèi)容 { FILE*fp; int i=0; i

18、f((fp=fopen("e:\\student.txt","r"))==NULL) { printf("文件打開(kāi)失??!\n"); return0; } else { for(i=0;!feof(fp);i++) fscanf(fp,"%s%s%f%f%f\n",stu[i].num,stu[i].name,&stu[i].baimi,&stu[i].tiaoyuan,&stu[i].tiaogao,&stu[i],qianqiu); } fclose(fp); return i; } void save(struct student stu[N],int n)

19、 //運(yùn)動(dòng)員信息改變后更新文件 { FILE*fp; Int i=0; if((fp=fopen("e:\\student.txt","w"))==NULL) { printf("文件打開(kāi)失??!\n"); return; } Else { for(i=0;i

20、*/ { FILE*fp; int n,i; struct student stu; if((fp=fopen("e:\\student.txt","a"))==NULL)//如果文件已經(jīng)存在,可以追加學(xué)生信息 { if((fp=fopen("e:\\student.txt","w"))==NULL)//文件不存在時(shí),創(chuàng)建新文件,輸入學(xué)生信息 { printf("文件打開(kāi)失敗!\n"); return; } } printf("請(qǐng)輸入要添加的運(yùn)動(dòng)員數(shù)量,按回車鍵確認(rèn):"); scanf("%d",&n); for(i=1;i<=n;i++) { printf(

21、"\n請(qǐng)輸入第%d個(gè)運(yùn)動(dòng)員的號(hào)碼、姓名,用空格分開(kāi),并按回車鍵確認(rèn):\n",i); scanf("%s%s",stu.num,stu.name);printf("\n請(qǐng)輸入第%d個(gè)運(yùn)動(dòng)員的百米賽跑、跳遠(yuǎn)和跳高、鉛球四項(xiàng)成績(jī),用空格分開(kāi),并按回車鍵確認(rèn):\n",i); scanf("%f%f%f",&stu.baimi,&stu.tiaoyuan,&stu.tiaogao,&stu,qianqiu); fprintf(fp,"%s%s%f%f%f\n",stu.num,stu.name,stu.baimi,stu.tiaoyuan,stu.tiaogao.stu,qianqiu); }

22、 fclose(fp); } void show()//運(yùn)動(dòng)員信息顯示函數(shù) { struct student stu[N]; inti,n; n=reads(stu); printf("*********************所有的學(xué)生信息如下**********************\n\n"); printf("序號(hào)號(hào)碼姓名百米賽跑跳遠(yuǎn)跳高鉛球\n"); printf("*************************************************************\n"); for(i=0;i

23、12s%11s%11.2f%12.2f%11.2f\n",i+1,stu[i].num,stu[i].name,stu[i].baimi,stu[i].tiaoyuan.stu[i].tiaogao.stu[i],qianqiu); getch(); } void del()/*運(yùn)動(dòng)員信息刪除函數(shù)*/ { Struct student stu[N]; char number[20]; int n,i,j; n=reads(stu); printf("\n請(qǐng)輸入要?jiǎng)h除信息運(yùn)動(dòng)員號(hào)碼,按回車鍵確認(rèn):"); scanf("%s",number); for(i=0;i

24、) if(strcmp(number,stu[i].num)==0)break; if(i>=n) { printf("沒(méi)有找到該運(yùn)動(dòng)員信息!\n"); return; } else { for(j=i+1;j

25、學(xué)生學(xué)號(hào),按回車鍵確認(rèn):"); scanf("%s",number); n=reads(stu); for(i=0;i=n) { printf("無(wú)此學(xué)生信息!"); return; } printf("\n請(qǐng)輸入更改后學(xué)生的號(hào)碼,姓名,百米賽跑、跳遠(yuǎn)、跳高、鉛球四門成績(jī),按回車鍵確認(rèn):\n"); scanf("%s%s%f%f%f",stu[i].num,stu[i].name,&stu[i].baimi,&stu[i].tiaoyuan,&stu[i].tiao

26、gao,&stu[i],qianqiu); save(stu,n); } void sort()//按百米賽跑成績(jī)排名 { struct student stu[N],temp; int i,j,n; n=reads(stu); for(i=0;i

27、*****百米賽跑成績(jī)排序結(jié)果如下****************************\n\n"); printf("名次號(hào)碼姓名百米賽跑成績(jī)\n"); printf("***********************************************************************\n"); for(i=0;i

28、name,stu[i].baimi,stu[i].baimi); else printf("\n%3d%12s%11s%11.2f%11.2f%11.2f%11.2f\n",j++,stu[i].num,stu[i].name,stu[i].baimi,stu[i].baimi); } getch(); } void keep()//按跳遠(yuǎn)成績(jī)排名 { struct student stu[N],temp; inti,j,n; n=reads(stu); for(i=0;i

29、an

30、++)//輸出結(jié)果并排名 { if(stu[i].sanjitiao==stu[i+1].sanjitiao) printf("\n%3d%12s%11s%11.2f%11.2f%11.2f%11.2f\n",j,stu[i].num,stu[i].name,stu[i].sanjitiao,stu[i].sanjitiao); else printf("\n%3d%12s%11s%11.2f%11.2f%11.2f%11.2f\n",j++,stu[i].num,stu[i].name,stu[i].sanjitiao,stu[i].sanjitiao); } getch();

31、 } void sheep()//按跳高成績(jī)排名 { struct student stu[N],temp; inti,j,n; n=reads(stu); for(i=0;i

32、************\n\n"); printf("名次號(hào)碼姓名跳高成績(jī)\n"); printf("***********************************************************************\n"); for(i=0;i

33、gao); else printf("\n%3d%12s%11s%11.2f%11.2f%11.2f%11.2f\n",j++,stu[i].num,stu[i].name,stu[i].chenggantiao,stu[i].tiaogao); } getch(); void qianq()//按鉛球成績(jī)排名 { struct student stu[N],temp; inti,j,n; n=reads(stu); for(i=0;i

34、.qianqiu

35、

36、iu); } getch(); } 附錄1.1輸入運(yùn)動(dòng)員的基本信息、輸出運(yùn)動(dòng)員的基本信息模塊源程序 當(dāng)執(zhí)行學(xué)生成績(jī)錄入功能時(shí),所錄入的數(shù)據(jù)被儲(chǔ)存程序開(kāi)頭所定義的結(jié)構(gòu)體中,并且各種數(shù)據(jù)被保存其中,方便以后其他的功能函數(shù)調(diào)用。具體的程序段如下: int,i; printf("請(qǐng)輸入要添加的學(xué)生數(shù)量,按回車鍵確認(rèn):"); scanf("%d",&n); for(i=1;i<=n;i++) { printf("\n請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)號(hào)、姓名,,用空格分開(kāi),并按回車鍵確認(rèn):\n",i);

37、 scanf("%s%s%s",stu[i].num,stu[i].name,stu[i].daibd); printf("\n請(qǐng)輸入第%d個(gè)學(xué)生的賽跑比賽、跳遠(yuǎn)比賽、跳高比賽、鉛球比賽,用空格分開(kāi),并按回車鍵確認(rèn):\n",i); scanf("%f%f%f",&stu[i].race,&stu[i].jump,&stu[i].high,&stu[i],qianq); printf("%s %s %s %f %f %f \n",stu[i].num,stu[i].name,stu[i].daibd,stu[i].race,stu[i]

38、.jump,stu[i].high.stu[i],qianq); } 附錄1.2 查找運(yùn)動(dòng)員比賽成績(jī)模塊源程序 按項(xiàng)目進(jìn)行運(yùn)動(dòng)員成績(jī)查詢 當(dāng)執(zhí)行按項(xiàng)目進(jìn)行運(yùn)動(dòng)員成績(jī)查詢時(shí),整個(gè)查詢過(guò)程是在結(jié)構(gòu)體數(shù)組stu中實(shí)現(xiàn)的。在此函數(shù)中,為了方便起見(jiàn),用1代表賽跑比賽,2代表跳遠(yuǎn)比賽,3代表跳高比賽,4代表鉛球,輸入數(shù)字后,用if語(yǔ)句進(jìn)行判斷,輸出各個(gè)學(xué)生該項(xiàng)目的成績(jī)。具體的程序段如下 int i,a; printf("請(qǐng)輸入1,2,3或4,1代表賽跑成績(jī),2代跳遠(yuǎn)成績(jī),3代表跳高成績(jī),4代表鉛球"); scanf("%d",&a); if(

39、a==1) { printf("*********************按項(xiàng)目查詢結(jié)果如下**********************************\n\n"); printf(" 名次 學(xué)號(hào) 姓名 系別 賽跑 \n"); printf("*************************************************************************\n"); for(i=1;i<=N;i++) {

40、 printf("\n%d%12s%12s%11s%11.2f \n",i,stu[i].num,stu[i].name,stu[i].daibd,stu[i].race); } getch(); } if(a==2) { printf("*********************按項(xiàng)目查詢結(jié)果如下**********************************\n\n"); printf(" 名次 學(xué)號(hào) 姓名 系別 跳高 \n"); pri

41、ntf("*************************************************************************\n"); for(i=1;i<=N;i++) { printf("\n%d%12s%11s%11s%11.2f\n",i,stu[i].num,stu[i].name,stu[i].daibd,stu[i].high); } getch(); if(a==3) { printf("*********************按項(xiàng)目

42、查詢結(jié)果如下**********************************\n\n"); printf(" 名次 學(xué)號(hào) 姓名 代表隊(duì) 跳遠(yuǎn) \n"); printf("*************************************************************************\n"); for(i=1;i<=N;i++) { printf("\n%d%12s%11s%11s%11.2f\n",i,stu[i].num,stu[i].name,

43、stu[i].daibd,stu[i].jump); } if(a==4) { printf("*********************按項(xiàng)目查詢結(jié)果如下**********************************\n\n"); printf(" 名次 學(xué)號(hào) 姓名 代表隊(duì) 鉛球 \n"); printf("*************************************************************************\n

44、"); for(i=1;i<=N;i++) { printf("\n%d%12s%11s%11s%11.2f\n",i,stu[i].num,stu[i].name,stu[i].daibd,stu[i].qianq); } 附錄1.3排序模塊源程序 按代表隊(duì)排名函數(shù)(參照學(xué)生總成績(jī)) 對(duì)于按代表隊(duì)的排名采用的排序算法是冒泡法排序,其中總成績(jī)的求得是在排序的過(guò)程中實(shí)現(xiàn)的,整個(gè)排序過(guò)程在結(jié)構(gòu)體數(shù)組stu中實(shí)現(xiàn),由于排序算法涉及到兩個(gè)數(shù)組元素的信息交換,因此還需要定義一個(gè)中間變量來(lái)協(xié)助。排序函數(shù)使學(xué)生數(shù)據(jù)的排列順序發(fā)生了變化,因

45、此也需要對(duì)結(jié)構(gòu)體進(jìn)行更新。此外,對(duì)于系別排序后名次的確定,僅在結(jié)果輸出時(shí)予以顯示。具體的程序段如下: int i,j; printf("*********************按系成績(jī)排序結(jié)果如下**********************************\n\n"); printf(" 名次 代表隊(duì) 總成績(jī) \n"); printf("*************************************************************************\n"); for(i=1

46、;i<=N;i++) for(j=1;j<=N-i;j++) { if(stu[j].race+stu[j].jump+stu[j].high

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!