版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)報(bào)告課程名稱《C語(yǔ)言程序設(shè)計(jì)》課題名稱運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)專業(yè)電氣工程及其自動(dòng)化班級(jí)電氣工程學(xué)號(hào)姓名指導(dǎo)教師年月日湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書(shū)課程名稱《C語(yǔ)言程序設(shè)計(jì)》課題運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)專業(yè)班級(jí)電氣工程及其自動(dòng)化學(xué)生姓名學(xué)號(hào)指導(dǎo)老師審批任務(wù)書(shū)下達(dá)日期年月日任務(wù)完成日期年月日第一部分《C語(yǔ)言課程設(shè)計(jì)》任務(wù)書(shū)前言《C語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)是對(duì)學(xué)生的一種全面綜合訓(xùn)練,它包括問(wèn)題分析,總體結(jié)構(gòu)設(shè)計(jì),用戶界面設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧,多人合作,以至一整套軟件工作規(guī)范的訓(xùn)練和科學(xué)作風(fēng)的培養(yǎng)。是與課堂聽(tīng)講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)節(jié)。通常,課程設(shè)計(jì)的課題比平時(shí)的習(xí)題復(fù)雜得多,也更接近實(shí)際。課程設(shè)計(jì)著眼于與應(yīng)用的結(jié)合點(diǎn),使學(xué)生學(xué)會(huì)如何把書(shū)上學(xué)到的知識(shí)用于解決實(shí)際問(wèn)題,培養(yǎng)軟件工作所需要的動(dòng)手能力;另一方面,能使書(shū)上的知識(shí)變“活”,使學(xué)生更好地深化理解和靈活掌握教學(xué)內(nèi)容。為了達(dá)到上述目的,本課程設(shè)計(jì)安排了八個(gè)設(shè)計(jì)課題,訓(xùn)練重點(diǎn)在于基本的程序設(shè)計(jì)方法和分析問(wèn)題的能力,而不強(qiáng)調(diào)面面俱到。學(xué)生可任選其中一題進(jìn)行設(shè)計(jì),設(shè)計(jì)完畢寫(xiě)出課程設(shè)計(jì)報(bào)告,用A4紙打印成冊(cè);并將課程設(shè)計(jì)報(bào)告與源程序存盤。學(xué)習(xí)委員將課程設(shè)計(jì)報(bào)告與磁盤收齊后交指導(dǎo)老師。一、目的全面熟悉、掌握C語(yǔ)言基本知識(shí),掌握C程序設(shè)計(jì)中的順序、分支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)和C語(yǔ)言基本圖形編程等方法,把編程和實(shí)際結(jié)合起來(lái),增強(qiáng)對(duì)不同的問(wèn)題運(yùn)用和靈活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及算法描述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用計(jì)算機(jī)解決實(shí)際問(wèn)題的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范編程的思想,為以后在專業(yè)課程中應(yīng)用計(jì)算機(jī)系統(tǒng)解決計(jì)算、分析、實(shí)驗(yàn)和設(shè)計(jì)等學(xué)習(xí)環(huán)節(jié)打下較扎實(shí)的基礎(chǔ)。二、設(shè)計(jì)要求掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問(wèn)題,為將來(lái)編寫(xiě)軟件積累一些典型的案例處理經(jīng)驗(yàn)。1、設(shè)計(jì)正確,方案合理。2、界面友好,使用方便。3、程序精煉,結(jié)構(gòu)清晰。4、設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說(shuō)明,用戶使用說(shuō)明,源程序清單及程序框圖。5、上機(jī)演示。6、按學(xué)號(hào)順序選課題號(hào),并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的C源程序編寫(xiě)、調(diào)整和運(yùn)行。源程序及編譯生成各文件均保存在軟盤中;7、按本任務(wù)書(shū)的要求,按附錄的要求編寫(xiě)《課程設(shè)計(jì)報(bào)告》(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂;8、 在2015年7月10日之前,請(qǐng)各班學(xué)習(xí)委員收齊課程設(shè)計(jì)報(bào)告和源程序軟盤交王穎老師三、進(jìn)度安排第一周星期四:課題講解,查閱資料第二周星期一:總體設(shè)計(jì),詳細(xì)設(shè)計(jì)星期二:編程,上機(jī)調(diào)試、修改程序星期四:上機(jī)調(diào)試、完善程序第二個(gè)星期二:答辯第二個(gè)星期四:撰寫(xiě)課程設(shè)計(jì)報(bào)告四、設(shè)計(jì)可調(diào)試過(guò)程規(guī)范化要求需要分析分析系統(tǒng)功能需求以及用戶操作流程。概要設(shè)計(jì)在需要分析的基礎(chǔ)上,確定系統(tǒng)總體框架(系統(tǒng)功能結(jié)構(gòu)圖)詳細(xì)設(shè)計(jì)定義數(shù)據(jù)儲(chǔ)存結(jié)構(gòu),并設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)功能的具體算法,畫(huà)出各算法的工作流程圖。代碼設(shè)計(jì)根據(jù)所設(shè)計(jì)的算法,定義相應(yīng)函數(shù)分別實(shí)現(xiàn)系統(tǒng)的各子功能模塊,同時(shí)由主程序提供友好的用戶界面,使用戶可通過(guò)選擇主菜單來(lái)調(diào)用課程設(shè)計(jì)中要求完成的各個(gè)功能模塊,子程序執(zhí)行完后還可以返回主菜單,繼續(xù)選擇其他功能執(zhí)行。源程序要求書(shū)寫(xiě)規(guī)范,結(jié)構(gòu)清晰。重點(diǎn)函數(shù)的重點(diǎn)變量。重點(diǎn)功能部分均要求給出清晰的程序注釋五、設(shè)計(jì)報(bào)告及書(shū)寫(xiě)內(nèi)容要求課程設(shè)計(jì)任務(wù)完成后,每位同學(xué)必須獨(dú)立書(shū)寫(xiě)一份課程設(shè)計(jì)報(bào)告,注意:不得抄襲他人的報(bào)告(或給他人抄襲),一旦發(fā)現(xiàn),成績(jī)?yōu)榱惴帧Un程設(shè)計(jì)報(bào)告的內(nèi)容應(yīng)包括以下五個(gè)部分:需求分析:包括設(shè)計(jì)題目、設(shè)計(jì)要求以及系統(tǒng)功能需求分析;概要設(shè)計(jì):包括系統(tǒng)總體設(shè)計(jì)框架和系統(tǒng)功能模塊圖;詳細(xì)設(shè)計(jì):包括主要功能模塊的算法設(shè)計(jì)思路以及對(duì)應(yīng)的工作流程圖;主要源程序代碼:包括存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)說(shuō)明,以及完整源程序清單;調(diào)試分析過(guò)程描述:包括測(cè)試數(shù)據(jù)、測(cè)試輸出結(jié)果,以及對(duì)程序調(diào)試過(guò)程中存在的問(wèn)題的思考(列出主要問(wèn)題的的出錯(cuò)想象、出錯(cuò)原因、及效果等);總結(jié):包括課程設(shè)計(jì)過(guò)程中的學(xué)習(xí)體會(huì)與收獲,對(duì)C語(yǔ)言和本次課程設(shè)計(jì)的認(rèn)識(shí)以及自己的建議等內(nèi)容。書(shū)寫(xiě)格式嚴(yán)格按所附要求書(shū)寫(xiě)。附:課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書(shū)、目錄、正文、評(píng)分、附件(A4大小的圖紙及程序清單)。正文格式:一級(jí)標(biāo)題用3號(hào)黑體,二級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體,行距22。正文內(nèi)容:一、課題的主要功能;二、課題的功能模塊可劃分(要求畫(huà)出模塊圖);三、主要功能的實(shí)現(xiàn)(至少要有一個(gè)主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、附件(所有程序的原代碼,要求對(duì)程序?qū)懗霰匾淖⑨專?。正文總字?jǐn)?shù)要求在5000字以上(不含程序源代碼)。第一章需求分析1.1需求分析題目:運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)1.2為什么開(kāi)發(fā):本課程設(shè)計(jì)主要解決在運(yùn)動(dòng)會(huì)上,將各個(gè)比賽項(xiàng)目所有獲得名次的同學(xué)的成績(jī)輸入;成績(jī)查詢;成績(jī)修改;成績(jī)刪除;以及成績(jī)輸出。該程序用于運(yùn)動(dòng)會(huì)上,涉及到比賽項(xiàng)目成績(jī)的錄入,某個(gè)學(xué)校在某個(gè)項(xiàng)目中獲得成績(jī)的查詢,某個(gè)學(xué)校在某個(gè)運(yùn)動(dòng)項(xiàng)目中獲得的成績(jī)的修改,某個(gè)學(xué)校在某個(gè)運(yùn)動(dòng)項(xiàng)目中獲得的成績(jī)的刪除,以及某個(gè)學(xué)校所有獲得成績(jī)的得分報(bào)表以及團(tuán)體成績(jī)的得分報(bào)表。其中比賽成績(jī)的錄入可以按照運(yùn)動(dòng)項(xiàng)目舉行的次序輸入,也可以輸入自己指定的運(yùn)動(dòng)項(xiàng)目的成績(jī);自己擴(kuò)展的功能是“某個(gè)學(xué)校在某個(gè)項(xiàng)目中獲得成績(jī)的查詢,某個(gè)學(xué)校在某個(gè)運(yùn)動(dòng)項(xiàng)目中獲得的成績(jī)的修改,某個(gè)學(xué)校在某個(gè)運(yùn)動(dòng)項(xiàng)目中獲得的成績(jī)的刪除”三項(xiàng),這三項(xiàng)都要求輸入學(xué)校以及運(yùn)動(dòng)項(xiàng)目編號(hào),通過(guò)這兩項(xiàng)作為參數(shù)具體的函數(shù)可以查詢、修改成績(jī)或者是刪除某項(xiàng)成績(jī)記錄,進(jìn)而影響到最后得分報(bào)表的輸出。1.3設(shè)計(jì)要求:?jiǎn)栴}描述:參加運(yùn)動(dòng)會(huì)的n個(gè)學(xué)校編號(hào)為l~n。比賽分成m個(gè)男子項(xiàng)目和w個(gè)女子項(xiàng)目,項(xiàng)目編號(hào)分別為l~m和m+1~m+w。由于各項(xiàng)目參加人數(shù)差別較大,有些項(xiàng)目取前五名,得分順序?yàn)?,5,3,2,1;還有些項(xiàng)目只取前三名,得分順序?yàn)?,3,2。設(shè)計(jì)一個(gè)統(tǒng)計(jì)程序按名次產(chǎn)生各種成績(jī)單、得分報(bào)表。2.基本要求:1.產(chǎn)生各學(xué)校的成績(jī)單,內(nèi)容包括各校所取得的每項(xiàng)成績(jī)的項(xiàng)目號(hào)、名次、成績(jī)、姓名和得分;產(chǎn)生團(tuán)體總分報(bào)表,內(nèi)容包括校號(hào)、男子團(tuán)體總分、女子團(tuán)體總分和團(tuán)體總分;均按名次排序。2.比賽項(xiàng)目既要有徑賽,又要有田賽。3.測(cè)試數(shù)據(jù):對(duì)于n=4,m=3,w=2,編號(hào)為奇數(shù)的項(xiàng)目取前五名,編號(hào)為偶數(shù)的項(xiàng)目取前三名,設(shè)計(jì)一組實(shí)例數(shù)據(jù)。4.實(shí)現(xiàn)提示:數(shù)據(jù)結(jié)構(gòu):線性表數(shù)據(jù)庫(kù)結(jié)構(gòu):下面四張表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫(kù),全部輸出報(bào)表由系統(tǒng)根據(jù)基本表自動(dòng)生成。floatcharfloatcharcharcharcharchar成績(jī)類型性別項(xiàng)目編號(hào)學(xué)校編號(hào)運(yùn)動(dòng)員編號(hào)初始化時(shí)完成錄入姓名初始化時(shí)完成錄入姓名運(yùn)動(dòng)員編號(hào)校名校名學(xué)校編號(hào)項(xiàng)目名項(xiàng)目名項(xiàng)目編號(hào)可以假設(shè)n≤20,m≤30,w≤20,姓名長(zhǎng)度不超過(guò)20個(gè)字符。每個(gè)項(xiàng)目結(jié)束時(shí),將其編號(hào)、類型符(區(qū)分取前五名還是前三名)輸入,并輸入運(yùn)動(dòng)員編號(hào)、學(xué)校編號(hào)和成績(jī)等。1.4系統(tǒng)功能需求分析:(1)、數(shù)據(jù)要求1)建議輸入學(xué)校的名稱,運(yùn)動(dòng)項(xiàng)目的名稱等,其余信息學(xué)生自行設(shè)計(jì);2)輸出形式:有合理的提示,各學(xué)校分?jǐn)?shù)為整形;3)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)自行設(shè)計(jì)。4)建議運(yùn)動(dòng)會(huì)的相關(guān)數(shù)據(jù)要存儲(chǔ)在數(shù)據(jù)文件中。(2)、操作要求1)可以輸入各個(gè)項(xiàng)目的前三名或前五名的成績(jī);2)能統(tǒng)計(jì)各學(xué)??偡?,3)可以按學(xué)校編號(hào)或名稱、學(xué)校總分、男女團(tuán)體總分排序輸出;4)可以按學(xué)校編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的情況;可以按項(xiàng)目編號(hào)查詢?nèi)〉们叭蚯拔迕膶W(xué)校。5)數(shù)據(jù)存入文件并能隨時(shí)查詢6)規(guī)定:輸入數(shù)據(jù)形式和范圍:可以輸入學(xué)校的名稱,運(yùn)動(dòng)項(xiàng)目的名稱輸出形式:有中文提示,各學(xué)校分?jǐn)?shù)為整形界面要求:有合理的提示,每個(gè)功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。(3)、測(cè)試數(shù)據(jù)要求測(cè)試數(shù)據(jù)要求使用:1、全部合法數(shù)據(jù);2、整體非法數(shù)據(jù);3、局部非法數(shù)據(jù)。進(jìn)行程序測(cè)試,以保證程序的穩(wěn)定。第二章概要設(shè)計(jì)2.1總體設(shè)計(jì)方案的選定:程序的功能:要實(shí)現(xiàn)對(duì)心算搶答進(jìn)行統(tǒng)一有效的管理需要通過(guò)用函數(shù)、數(shù)據(jù)類型、C語(yǔ)句(控制語(yǔ)句、函數(shù)調(diào)用語(yǔ)句、表達(dá)式語(yǔ)句、復(fù)合語(yǔ)句等)來(lái)實(shí)現(xiàn)。由于是計(jì)算,很自然的要建立一個(gè)題庫(kù),而這個(gè)題庫(kù)里的題目是隨機(jī)的。這個(gè)系統(tǒng)有很多個(gè)界面,這些界面的調(diào)用,最終是通過(guò)函數(shù)之間的調(diào)用來(lái)實(shí)現(xiàn)的。2.2程序的模塊組成以及各個(gè)函數(shù)的功能:1.程序的模塊組成:主函數(shù):voidmain();主菜單函數(shù):voidsolve();自定義子菜單函數(shù):voidinput();voidprint();voidbianhao();voidzongfen();清屏函數(shù):voidclrscr();光標(biāo)定位函數(shù):voidgotoxy(int,int);信息函數(shù):voidcxsch();voidcxxm()結(jié)束界面函數(shù):voidend();設(shè)置功能函數(shù):voidrenshu();voidtimu();voiddifen();voiddefen();成績(jī)排名函數(shù):voidzongfen();voidmalezf();voidfemalezf();2.各函數(shù)的主要功能:主函數(shù):顯示主菜單;自定義子菜單函數(shù):顯示子菜單;光標(biāo)定位函數(shù):進(jìn)行光標(biāo)定位。信息函數(shù):查看不同標(biāo)準(zhǔn)項(xiàng)目的信息。結(jié)束界面函數(shù):輸出結(jié)束畫(huà)面。設(shè)置功能函數(shù):實(shí)現(xiàn)各種設(shè)置功能。成績(jī)排名函數(shù):進(jìn)行成績(jī)排名并輸出。2.3系統(tǒng)功能結(jié)構(gòu)圖:第三章詳細(xì)設(shè)計(jì)3.1相關(guān)的數(shù)據(jù)類型:(1)、定義運(yùn)動(dòng)項(xiàng)目數(shù)據(jù)類型:定義運(yùn)動(dòng)項(xiàng)目數(shù)據(jù)類型鄰接表,用于存放運(yùn)動(dòng)項(xiàng)目的信息,包括運(yùn)動(dòng)項(xiàng)目總數(shù)、運(yùn)動(dòng)項(xiàng)目名稱、運(yùn)動(dòng)項(xiàng)目編號(hào)及在每個(gè)運(yùn)動(dòng)項(xiàng)目中取得名次的學(xué)校編號(hào)、學(xué)校名字、運(yùn)動(dòng)項(xiàng)目成績(jī)。structSchoolNode{intschool;//學(xué)校編號(hào) chars_name[MAX];//學(xué)校名字 intrecord;//項(xiàng)目成績(jī) structSchoolNode*next;//鏈域}SchoolNode;structItem{intitem;//項(xiàng)目編號(hào) charitem_name[MAX];//項(xiàng)目名字 SchoolNode*firstschool;//鏈域指向鏈表中第一個(gè)結(jié)點(diǎn)}Item;structAllItems{ intitem_num;//項(xiàng)目總數(shù) Itemitem[MAX];}AllItems;(2)、定義學(xué)校數(shù)據(jù)類型:定義學(xué)校數(shù)據(jù)類型鄰接表,用于存放參賽學(xué)校的信息,包括學(xué)??倲?shù)、學(xué)校名稱、學(xué)校編號(hào)、學(xué)校總分、男子團(tuán)體總分、女子團(tuán)體總分以及每個(gè)學(xué)校獲獎(jiǎng)的運(yùn)動(dòng)項(xiàng)目編號(hào)、運(yùn)動(dòng)項(xiàng)目名稱、取得的成績(jī)。structItemNode{ intitem;//該學(xué)校獲獎(jiǎng)的項(xiàng)目編號(hào) chari_name[MAX];//項(xiàng)目名字 intrecord;//項(xiàng)目成績(jī) structItemNode*next;//鏈域}ItemNode;structSCHNode{ intschool;//學(xué)校編號(hào) charschool_name[MAX];//學(xué)校名字 intshool_score;//學(xué)??偡?intboys_score;//男團(tuán)體總分 intgirl_score;//女團(tuán)體總分 ItemNode*firstitem;//鏈域指向鏈表中第一個(gè)獲獎(jiǎng)項(xiàng)目的結(jié)點(diǎn)}SCHNode;structAllSchool{ intschool_num;//學(xué)校總數(shù) SCHNodeschool[MAX];}AllSchool;3.2總體設(shè)計(jì): 根據(jù)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)的問(wèn)題分析及設(shè)計(jì)要求,可以將此系統(tǒng)分為四個(gè)模塊:信息統(tǒng)計(jì)模塊、信息排序輸出模塊、信息查詢模塊、信息調(diào)用模塊。(1)、信息統(tǒng)計(jì)模塊實(shí)現(xiàn)信息的輸入、統(tǒng)計(jì),涉及函數(shù)有:voidInputInfo()、(2)、信息輸出模塊實(shí)現(xiàn)信息的輸出,涉及函數(shù)有:intMenu_Select_Tow()、Sort_Schoolnum()、Sort_SchoolScore()、Sort_ManScore()、Sort_WomanScore()。(3)、信息查詢模塊實(shí)現(xiàn)信息的查詢,涉及函數(shù)有:FindInfo_SchoolNum()、FindInfo_SchoolNum()、intMenu_Select_Three()。(4)、信息調(diào)用模塊實(shí)現(xiàn)信息的調(diào)用,即從文件中讀出信息并輸出、保存信息,涉及函數(shù)有:voidsave()、voidReadInfo()。3.3主函數(shù)與各函數(shù)調(diào)用關(guān)系流程圖、結(jié)構(gòu)圖:信息統(tǒng)計(jì)模塊信息統(tǒng)計(jì)模塊信息輸出模塊信息查詢模塊信息調(diào)用模塊運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)按學(xué)校編號(hào)排序信息輸入分?jǐn)?shù)統(tǒng)計(jì)按學(xué)??偡峙判虬茨袌F(tuán)體總分排序按女團(tuán)體總分排序按學(xué)校編號(hào)查詢按項(xiàng)目編號(hào)查詢信息保存信息讀取開(kāi)始開(kāi)始總分顯示菜單界面按學(xué)校名稱輸出按學(xué)??偡州敵霭茨袌F(tuán)總分輸出按女團(tuán)總分輸出退出返回主菜單主菜單輸入功能序號(hào)開(kāi)始初始化N開(kāi)始初始化N輸入輸入YYYY輸入學(xué)校及男女項(xiàng)目范圍輸入學(xué)校及男女項(xiàng)目范圍輸入某項(xiàng)目各名次成績(jī)輸入某項(xiàng)目各名次成績(jī)Y繼續(xù)輸入Y繼續(xù)輸入NN查詢團(tuán)體總分Case2成績(jī)查詢Case3查詢團(tuán)體總分Case2成績(jī)查詢Case3Y繼續(xù)Case1Y繼續(xù)Case1查詢各學(xué)校成績(jī)查詢各學(xué)校成績(jī)N輸出查詢學(xué)校成績(jī)N輸出查詢學(xué)校成績(jī)繼續(xù)Y繼續(xù)YNN結(jié)束—退出結(jié)束—退出圖2.1:模塊之間的調(diào)用關(guān)系第四章系統(tǒng)調(diào)試4.1調(diào)試進(jìn)行:系統(tǒng)頁(yè)面:進(jìn)入系統(tǒng):在選項(xiàng)中選擇要進(jìn)行的項(xiàng)目進(jìn)入基本設(shè)置選項(xiàng):輸入完畢:按學(xué)校編號(hào)輸出:查詢某個(gè)學(xué)校成績(jī):結(jié)束:輸入7則退出系統(tǒng),并有中文提示。如圖所示:第五章心得體會(huì):本次課程設(shè)計(jì),使我對(duì)數(shù)據(jù)結(jié)構(gòu)線性表,棧的設(shè)計(jì)方法、步驟、思路、有一定的了解與認(rèn)識(shí)。它相當(dāng)于實(shí)際設(shè)計(jì)工作的模擬。在課程設(shè)計(jì)過(guò)程中,基本能按照規(guī)定的程序進(jìn)行,先針對(duì)表達(dá)式算法為背景,通過(guò)調(diào)研、分析現(xiàn)有的管理模式和已有的管理軟件,建立系統(tǒng)模型;收集、調(diào)查有關(guān)資料,然后進(jìn)入草案階段,其間與指導(dǎo)教師進(jìn)行幾次方案的討論、修改,再討論、再修改,最后定案。通過(guò)此次課程設(shè)計(jì),我了解了編寫(xiě)應(yīng)用軟件的一般步驟,獲得了很多寶貴的經(jīng)驗(yàn)。特別是怎么樣通過(guò)理論與實(shí)踐相結(jié)合,把書(shū)本上的內(nèi)容應(yīng)用到我們做的程序上去。怎樣使各個(gè)子模塊實(shí)施其的詳細(xì)功能,特別是各個(gè)子模塊之間的接口,一定要相當(dāng)清晰,達(dá)到相互協(xié)調(diào)的作用其次,我熟悉了數(shù)據(jù)結(jié)構(gòu)知識(shí)。學(xué)會(huì)了很多關(guān)于程序設(shè)計(jì)的經(jīng)驗(yàn)和技巧,明白了程序的使用性和通用性是程序生存周期長(zhǎng)短的關(guān)鍵,學(xué)會(huì)了調(diào)試程序的一般方法。重要的是,通過(guò)這次設(shè)計(jì),逐步我具備了走向程序員的基本素質(zhì)。知道應(yīng)如何在困難重重中一步一步細(xì)心的發(fā)現(xiàn)問(wèn)題,解決問(wèn)題。并深刻體會(huì)到了團(tuán)體合作精神的重要性,知道了在軟件設(shè)計(jì)中對(duì)界面和功能如何平衡,如何達(dá)到相對(duì)的完美。!附錄:源程序#include<stdio.h>#include<string>#include<iomanip>#include<fstream>usingnamespacestd;intn;//n個(gè)學(xué)校intm;//m個(gè)男子項(xiàng)目intw;//w個(gè)女子項(xiàng)目structpro//表示項(xiàng)目的結(jié)構(gòu)體{stringname;//項(xiàng)目名稱intsnum[6];//前5名學(xué)校的編號(hào)intsnumy[4];//前3名學(xué)校的編號(hào)}p[21];structschool//表示學(xué)校的結(jié)構(gòu)體{intnum;stringname;//學(xué)校名稱intscore;//學(xué)校總分intmale;//男子總分intfemale;//女子總分}sch[21];structSCHNode{ chargender;//性別 intathlete;//運(yùn)動(dòng)員 intgirl_score;}SCHNode;structAllSchool{ intschool_num;//學(xué)??倲?shù)}AllSchool;intintegral[5]={7,5,3,2,1};//前五名得分intintegraly[3]={7,5,3};//前三名得voidinput(){ intz; do { system("color3E");system("cls"); printf("\t\t(^o^)(^o^)\n"); printf("\t\t(^o^)以下是菜單選項(xiàng),請(qǐng)選擇!(^o^)\n"); printf("\t\t(^o^)(^o^)\n"); printf("\t\t(^o^)1.輸入各個(gè)項(xiàng)目成績(jī)及信息(^o^)\n"); printf("\t\t(^o^)(^o^)\n"); printf("\t\t(^o^)2.顯示各學(xué)校總分(^o^)\n"); printf("\t\t(^o^)(^o^)\n"); printf("\t\t(^o^)3.信息排序(^o^)\n"); printf("\t\t(^o^)(^o^)\n"); printf("\t\t(^o^)4.信息查詢(^o^)\n"); printf("\t\t(^o^)(^o^)\n"); printf("\t\t(^o^)5.保存信息到文件(^o^)\n"); printf("\t\t(^o^)(^o^)\n"); printf("\t\t(^o^)6.從文件中讀入信息(^o^)\n"); printf("\t\t(^o^)(^o^)\n"); printf("\t\t(^o^)7.退出系統(tǒng)(^o^)\n"); printf("\t\t(^o^)(^o^)\n"); printf("\t請(qǐng)輸入1選擇的操作(0—):"); scanf("%d",&z); }while((z!=1)); system("color1e");system("cls");inti,j,y,x;printf("輸入學(xué)校數(shù)目:");y=0;while(1){scanf("%d",&n);//n:學(xué)校數(shù)目if(n>=1&&n<=20)y=1;if(y)break;elseprintf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");}for(i=1;i<=n;i++){printf("輸入第%d個(gè)學(xué)校的名稱:",i); scanf("%s",&sch[i].name);//給學(xué)校結(jié)構(gòu)體的成員初始化為sch[i].score=0;sch[i].female=0;sch[i].male=0;sch[i].num=i;}printf("輸入男子項(xiàng)目數(shù)和女子項(xiàng)目數(shù):");y=0;while(1){scanf("%d%d",&m,&w);if(m<=20&&m>=1&&w<=20&&w>=1)y=1;if(y)break;elseprintf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");}for(i=1;i<=m+w;i++){printf("輸入第%d個(gè)項(xiàng)目的名稱:\n",i); scanf("%s",&p[i].name);if(i%2==1){printf("輸入第%d個(gè)項(xiàng)目的前5名的學(xué)校編號(hào):\n",i);for(j=1;j<=5;j++){y=0;while(1){scanf("%d",&x);//學(xué)校編號(hào)if(x>=1&&x<=20)y=1;if(y)break;elseprintf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");}p[i].snum[j]=x;//給項(xiàng)目結(jié)構(gòu)體的成員賦值sch[x].score+=integral[j-1];//給學(xué)校結(jié)構(gòu)體成員賦值if(i<=m)sch[x].male+=integral[j-1];//學(xué)校結(jié)構(gòu)體賦值,男子總分elsesch[x].female+=integral[j-1];//學(xué)校結(jié)構(gòu)體賦值,女子總分 }}if(i%2!=1){printf("輸入第%d個(gè)項(xiàng)目的前3名的學(xué)校編號(hào):\n",i);for(j=1;j<=3;j++) { y=0; while(1) { scanf("%d",&x);//學(xué)校編號(hào) if(x>=1&&x<=20)y=1; if(y)break; elseprintf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:"); } p[i].snumy[j]=x;//給項(xiàng)目結(jié)構(gòu)體的成員賦值 sch[x].score+=integraly[j-1];//給學(xué)校結(jié)構(gòu)體成員賦值 if(i<=m)sch[x].male+=integraly[j-1];//學(xué)校結(jié)構(gòu)體賦值 elsesch[x].female+=integraly[j-1];//學(xué)校結(jié)構(gòu)體賦值 }}}}voidprint(inti){ printf("%d%10s%8d%9d%10d\n",sch[i].num,sch[i].name,sch[i].score,sch[i].male,sch[i].female);}voidbianhao()//按編號(hào)排序{inti,j;schoolt;for(i=1;i<n;i++){for(j=i;j<=n;j++) if(sch[i].num>sch[j].num) { t=sch[i];sch[i]=sch[j];sch[j]=t; }} printf("\n按編號(hào)排列:\n"); printf("編號(hào)學(xué)校名稱總分男子總分女子總分\n"); for(i=1;i<=n;i++)print(i);}voidzongfen()//按學(xué)校總分排序{inti,j;schoolt;for(i=1;i<n;i++){for(j=i;j<=n;j++) if(sch[i].score<sch[j].score) {t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按學(xué)??偡峙帕?\n");printf("編號(hào)學(xué)校名稱總分男子總分女子總分\n");for(i=1;i<=n;i++)print(i);ofstreamfout;fout.open("運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì).txt");fout<<"編號(hào)學(xué)校名稱總分男子總分女子總分"<<endl;for(i=1;i<=n;i++){ fout<<sch[i].num<<setw(13)<<sch[i].name<<setw(8)<<sch[i].score<<setw(9) <<sch[i].male<<setw(10)<<sch[i].female<<endl;}fout.close();}voidmalezf()//按學(xué)校男總分排序{inti,j;schoolt;for(i=1;i<n;i++){for(j=i;j<=n;j++) if(sch[i].male<sch[j].male) {t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n按學(xué)校男子總分排列:\n");printf("編號(hào)學(xué)校名稱總分男子總分女子總分\n");for(i=1;i<=n;i++) print(i);}voidfemalezf()//按學(xué)校女總分排序{inti,j;schoolt;for(i=1;i<n;i++){for(j=i;j<=n;j++) if(sch[i].female<sch[j].female) { t=sch[i];sch[i]=sch[j];sch[j]=t; }}printf("\n按學(xué)校女子總分排列:\n");printf("編號(hào)學(xué)校名稱總分男子總分女子總分\n");for(i=1;i<=n;i++)print(i); printf("\n");}voidcxsch()//查詢學(xué)校信息{inti,y,s;printf("輸入需要查詢的學(xué)校編號(hào):");y=0;while(1){ scanf("%d",&s); if(s>=1&&s<=n)y=1; if(y)break; elseprintf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");}printf("該學(xué)校相關(guān)信息:\n");printf("編號(hào)學(xué)校名稱總分男子總分女子總分\n");for(i=1;i<=n;i++){if(sch[i].num==s){print(i);break;}} printf("\n");}voidcxxm()//查詢項(xiàng)目信息{inti,y,s,v;printf("輸入需要查詢的項(xiàng)目編號(hào):");y=0;while(1){scanf("%d",&s);if(s>=1&&s<=n)y=1;if(y)break;elseprintf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");}printf("該項(xiàng)目取的前三名選0,取的前5名選1:");scanf("%d",&v);if(v==1){ printf("前5名學(xué)校編號(hào)及名稱為:%s",p[s].name);printf("名次編號(hào)學(xué)校名稱\n");for(i=1;i<=5;i++) printf("%d%d%s",p[s].snum[i],setw(12),sch[p[s].snum[i]].name);}if(v==0){ printf("前3名學(xué)校編號(hào)及名稱為:%s",p[s].name); printf("名次編號(hào)學(xué)校名稱\n"); for(i=1;i<=3;i++) printf("%d%d%s",p[s].snum[i],setw(12),sch[p[s].snum[i]].name);} printf("\n");}voidsolve()//菜單函數(shù){intz;while(1){ printf("\t\t(^o^)(^o^)\n"); printf("\t\t(^o^)以下是菜單選項(xiàng),請(qǐng)選擇!(^o^)\n");printf("\t\t(^o^)1.按學(xué)校編號(hào)排序輸出(^o^)\n");printf("\t\t(^o^)2.按學(xué)??偡峙判蜉敵?^o^)\n");printf("\t\t(^o^)3.按學(xué)校男總分排序輸出(^o^)\n");printf("\t\t(^o^)4.按學(xué)校女總分排序輸出(^o^)\n");printf("\t\t(^o^)5.查詢某個(gè)學(xué)校成績(jī)(^o^)\n");printf("\t\t(^o^)6.查詢某個(gè)項(xiàng)目成績(jī)(^o^)\n");printf("\t\t(^o^)7.結(jié)束(^o^)\n\n"); printf("選擇您需要的操作(選擇序號(hào)):");scanf("%d",&z);if(z==1) { bianhao(); system("pause"); }if(z==2) { zongfen(); system("pause"); } if(z==3) { malezf(); system("pause"); } if(z==5) { cxsch(); system("pause"); } if(z==6) { cxxm(); system("pause");
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 融資租賃標(biāo)準(zhǔn)合同范本2024年
- 鈣爾奇企業(yè)存貨管理問(wèn)題、原因及對(duì)策【論文】9200字
- 麗水市醫(yī)療機(jī)構(gòu)藥品集中招投標(biāo)協(xié)議書(shū)范本
- 定向培養(yǎng)學(xué)生就業(yè)權(quán)益保障協(xié)議
- 經(jīng)典委托代理合同樣本
- 企業(yè)合作合同范本示例
- 員工期權(quán)的授予與行使協(xié)議
- 2024電子產(chǎn)品退貨政策合同
- 開(kāi)關(guān)電源的設(shè)計(jì)-畢業(yè)論文
- 擔(dān)保合同中的權(quán)利與義務(wù)解析
- 文松宋曉峰小品《非誠(chéng)不找》奇葩男女來(lái)相親金句不斷臺(tái)詞劇本完整版
- 物理化學(xué)第二章 熱力學(xué)第二定律
- 高磷血癥患者護(hù)理查房課件
- 五種增強(qiáng)免疫力的方法
- 服裝主題直播方案
- 大班數(shù)學(xué)優(yōu)質(zhì)課課件PPT《小鳥(niǎo)分窩》
- B13化學(xué)除油器選型計(jì)算
- 學(xué)生寫(xiě)實(shí)記錄范文(6篇)
- 法律職業(yè)倫理案例分析
- 五年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)教案
- 渣土消納專項(xiàng)方案樣本
評(píng)論
0/150
提交評(píng)論