班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第1頁(yè)
班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第2頁(yè)
班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第3頁(yè)
班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第4頁(yè)
班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、c語(yǔ)言課程設(shè)計(jì)課 程 設(shè) 計(jì) 報(bào) 告課程名稱(chēng) c語(yǔ)言課程設(shè)計(jì) 課題名稱(chēng) 班級(jí)成績(jī)管理系統(tǒng) 專(zhuān) 業(yè) 土木工程 班 級(jí) 1381 學(xué) 號(hào) 201313170102 姓 名 金潼 指導(dǎo)教師 王穎 2014年 12月 28日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書(shū)課程名稱(chēng) c語(yǔ)言課程設(shè)計(jì) 課 題 班級(jí)成績(jī)管理系統(tǒng) 專(zhuān)業(yè)班級(jí) 土木工程1381 學(xué)生姓名 金潼 學(xué) 號(hào) 201313170102 指導(dǎo)老師 王穎 審 批 王穎 任務(wù)書(shū)下達(dá)日期 2014年 12月 10日任務(wù)完成日期 2014年 12月 28日目錄前 言- 2 -課程設(shè)計(jì)報(bào)告規(guī)范- 3 -第一章 緒論- 4 -1.1 課程背景- 4 -1.2 本

2、文所作工作- 4 -第二章 需求分析- 4 -第三章 總體設(shè)計(jì)- 5 -3.1 文字描述- 5 -3.1.1成績(jī)輸入- 5 -3.1.2 成績(jī)查詢(xún)- 5 -3.1.3 成績(jī)修改- 5 -3.1.4 成績(jī)統(tǒng)計(jì)- 5 -3.1.5 成績(jī)查看- 5 -3.1.6 成績(jī)保存- 6 -3.1.7 成績(jī)添加- 6 -3.1.8 成績(jī)刪除- 6 -3.1.9 退出系統(tǒng)- 6 -3.2 模板劃分圖- 6 -3.2.1 總層次圖- 7 -3.2.2 基本總流程圖- 7 -3.3 功能介紹圖- 8 -3.3.1 成績(jī)查詢(xún)流程圖- 8 -3.3.2 成績(jī)添加功能- 8 -第四章 詳細(xì)設(shè)計(jì)- 8 -4.1 系統(tǒng)模塊函

3、數(shù)- 8 -4.1.1 模塊函數(shù)組成- 8 -4.1.2 模塊函數(shù)介紹- 9 -4.2學(xué)生信息數(shù)組- 9 -第五章 測(cè)試- 10 -5.1 測(cè)試圖展示- 10 -5.2 系統(tǒng)調(diào)試- 14 -5.3 分析結(jié)果- 14 -第六章 使用說(shuō)明- 14 -第七章 總結(jié)- 15 -附1:源程序代碼- 16 -附2:參考文獻(xiàn)- 31 -計(jì)算機(jī)與通信學(xué)院課程設(shè)計(jì)評(píng)分表- 32 -前 言c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)是對(duì)學(xué)生的一種全面綜合訓(xùn)練,它包括問(wèn)題分析,總體結(jié)構(gòu)設(shè)計(jì),用戶(hù)界面設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧,多人合作,以至一整套軟件工作規(guī)范的訓(xùn)練和科學(xué)作風(fēng)的培養(yǎng)。是與課堂聽(tīng)講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)

4、節(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)告與源程序存盤(pán)。學(xué)習(xí)委員將課程設(shè)計(jì)報(bào)告與磁盤(pán)收齊后交指導(dǎo)老師。一、目的全面熟悉、掌握c語(yǔ)言基本知識(shí),掌握c程序設(shè)計(jì)中的順序、分支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)和c

5、語(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ī)范編程的思想,為以后在專(zhuān)業(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è)

6、計(jì)說(shuō)明,用戶(hù)使用說(shuō)明,源程序清單及程序框圖。5. 上機(jī)演示。6. 按學(xué)號(hào)順序選課題號(hào),并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的c源程序編寫(xiě)、調(diào)整和運(yùn)行。源程序及編譯生成各文件均保存在軟盤(pán)中;7. 按本任務(wù)書(shū)的要求,按附錄的要求編寫(xiě)課程設(shè)計(jì)報(bào)告(word文檔格式)。并用a4的復(fù)印紙打印并裝訂; 8. 在2014年6月30日之前,請(qǐng)各班學(xué)習(xí)委員收齊課程設(shè)計(jì)報(bào)告和源程序交王穎老師 ,聯(lián)系電話(huà)三、進(jìn)度安排第一周 星期四: 課題講解,查閱資料第二周星期一: 總體設(shè)計(jì),詳細(xì)設(shè)計(jì)星期二: 編程,上機(jī)調(diào)試、修改程序星期三:上機(jī)調(diào)試、完善程序星期四:上機(jī)調(diào)試、完善程序星期五: 答辯星期六-星

7、期天:撰寫(xiě)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告規(guī)范一、 需求分析1、程序的功能。2、輸入輸出的要求。二、 概要設(shè)計(jì)1、程序由哪些模塊組成以及一個(gè)模塊之間的層次結(jié)構(gòu)、模塊的調(diào)用關(guān)系;每個(gè)模塊的功能。2、課題的總體數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)結(jié)構(gòu);即要存儲(chǔ)什么數(shù)據(jù),這些數(shù)據(jù)是什么樣的結(jié)構(gòu),它們之間有什么關(guān)系等。三、 詳細(xì)設(shè)計(jì)1、采用c語(yǔ)言定義相關(guān)的數(shù)據(jù)類(lèi)型。2、寫(xiě)出各模塊的類(lèi)c碼算法。3、畫(huà)出函數(shù)的調(diào)用關(guān)系圖。四、 調(diào)試分析以及設(shè)計(jì)體會(huì)1、測(cè)試數(shù)據(jù):準(zhǔn)備典型的測(cè)試數(shù)據(jù)和測(cè)試方案,包括正確的輸入及輸出結(jié)果和含有錯(cuò)誤的輸入及輸出結(jié)果。2、程序調(diào)試中遇到的問(wèn)題以及解決問(wèn)題的方法。3、課程設(shè)計(jì)過(guò)程經(jīng)驗(yàn)教訓(xùn)、心得體會(huì)。五、 使用說(shuō)

8、明用戶(hù)使用手冊(cè):說(shuō)明如何使用你編寫(xiě)的程序,詳細(xì)列出每一步的操作步驟。六、 書(shū)寫(xiě)格式1、 設(shè)計(jì)報(bào)告要求用a4紙打印成冊(cè):2、 標(biāo)題和正文要求見(jiàn)附13、 封面格式如下頁(yè)。七、 附錄1、參考書(shū)目2、源程序清單(帶注釋?zhuān)┑谝徽?緒論1.1 課程背景現(xiàn)代社會(huì)是飛速發(fā)展的信息社會(huì),各行各業(yè)皆離不開(kāi)信息管理與信息處理,正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大優(yōu)點(diǎn)在于利用它的信息管理,使用計(jì)算機(jī)進(jìn)行信息控制。不僅提高了工作效率,而且大大的提高了其安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。而c語(yǔ)言是一門(mén)高級(jí)計(jì)算機(jī)編程語(yǔ)言,設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)

9、生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。c語(yǔ)言也很適合搭配匯編語(yǔ)言來(lái)使用(往往可以通過(guò)內(nèi)聯(lián)匯編語(yǔ)言或與匯編語(yǔ)言目標(biāo)文件一起連接。對(duì)于任何一種操作系統(tǒng)環(huán)境。盡管c語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫(xiě)出的c語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱(chēng)mcu)以及超級(jí)電腦等作業(yè)平臺(tái)。本程序可以在短時(shí)間內(nèi)得到總成績(jī)并且得到相應(yīng)的排名,節(jié)省時(shí)間。在多名同學(xué)參加多門(mén)科目考試時(shí)很便捷,只要考試成績(jī)出來(lái),輸入電腦就可以在短時(shí)間內(nèi)得到總成績(jī),并知道了某學(xué)生在班級(jí)的排名,班級(jí)的最高分與最底分的情況以及某門(mén)課程的平均分,提高了工

10、作效率。1.2 本文所作工作與同組同學(xué)一起審閱題目,認(rèn)真分析該系統(tǒng)需要進(jìn)行哪些步驟,如何操作,在草稿紙上定好提綱,將功能逐個(gè)解析。遇到不懂或解決不了的地方,查閱書(shū)籍,參考文獻(xiàn),上網(wǎng)查資料和上機(jī)時(shí)向老師尋求幫助等。第二章 需求分析對(duì)一個(gè)有n名學(xué)生,每個(gè)學(xué)生有m門(mén)課程的班級(jí)做一個(gè)系統(tǒng),實(shí)現(xiàn)對(duì)班級(jí)學(xué)生的成績(jī)的管理。該系統(tǒng)應(yīng)具備成績(jī)輸入,成績(jī)查看,成績(jī)查找,成績(jī)統(tǒng)計(jì),成績(jī)排序,成績(jī)修改,成績(jī)添加,成績(jī)刪除,成績(jī)保存,退出程序等功能。輸入和顯示的信息應(yīng)該為學(xué)生的姓名,學(xué)號(hào),各科成績(jī)等內(nèi)容。第三章 總體設(shè)計(jì)3.1 文字描述3.1.1成績(jī)輸入依次輸入學(xué)生的姓名,學(xué)號(hào)和成績(jī),如果該生的信息在學(xué)生文件中沒(méi)有記錄

11、,給出提示,完善學(xué)生信息,然后保存至學(xué)生文件中。最后返回主菜單。數(shù)據(jù)類(lèi)型定義如下:姓名 char,學(xué)號(hào) char,課程名稱(chēng) char,成績(jī)char。3.1.2 成績(jī)查詢(xún)打開(kāi)學(xué)生文件或輸入相關(guān)學(xué)生信息后,可以按照學(xué)生的“學(xué)號(hào)”查詢(xún)成績(jī),顯示該名學(xué)生的成績(jī)與信息;如果查詢(xún)記錄不存在,給出提示信息找不到該學(xué)生信息。然后任意鍵返回主菜單。3.1.3 成績(jī)修改開(kāi)打?qū)W生文件或輸入相關(guān)學(xué)生信息后前,用戶(hù)需輸入密碼,密碼錯(cuò)誤無(wú)權(quán)修改;密碼正確則可以按照“學(xué)號(hào)”,查詢(xún)信息,依次修改學(xué)生的“學(xué)號(hào)”,“姓名”,“語(yǔ)文成績(jī)”,“數(shù)學(xué)成績(jī)”,“英語(yǔ)成績(jī)”和“計(jì)算機(jī)成績(jī)”。先將修改后的學(xué)生信息預(yù)覽,最后保存至學(xué)生文件。沒(méi)

12、有找到需要修改的信息,給出提示,然后按任意鍵返回主菜單。3.1.4 成績(jī)統(tǒng)計(jì)打開(kāi)學(xué)生文件或輸入相關(guān)學(xué)生信息后,對(duì)所有科目進(jìn)行統(tǒng)計(jì),然后顯示學(xué)生的“學(xué)號(hào)”,“姓名”以及各科“成績(jī)”最高分的同學(xué)的信息和顯示該科的平均分。然后任意鍵返回主菜單。3.1.5 成績(jī)查看打開(kāi)學(xué)生文件或輸入相關(guān)學(xué)生信息后,按“科目名次”查詢(xún),進(jìn)行“排序;如果查詢(xún)信息不存在,給出提示。然后任意鍵返回主菜單。3.1.6 成績(jī)保存其他功能的運(yùn)行都需要從保存的學(xué)生文件中調(diào)用,對(duì)學(xué)生文件操作步驟后,利用指針與地址的作用,經(jīng)過(guò)一系列操作,會(huì)將信息資料保存成.txt格式。然后任意鍵返回主菜單。3.1.7 成績(jī)添加打開(kāi)學(xué)生文件或輸入相關(guān)學(xué)生

13、信息發(fā)現(xiàn)遺漏的學(xué)生后,輸入遺漏學(xué)生人數(shù),然后依次輸入學(xué)生的“學(xué)號(hào)”,“姓名”,“語(yǔ)文成績(jī)”,“數(shù)學(xué)成績(jī)”,“英語(yǔ)成績(jī)”和“計(jì)算機(jī)成績(jī)”,然后任意鍵返回主菜單。3.1.8 成績(jī)刪除通過(guò)輸入學(xué)生學(xué)號(hào),然后顯示該名同學(xué)信息,并提示是否刪除。操作完成后任意鍵返回主菜單。3.1.9 退出系統(tǒng)每執(zhí)行一個(gè)具體的功能,程序重新顯示菜單;完成相關(guān)程序后,退出系統(tǒng)。如果此前沒(méi)有進(jìn)行“保存文件”步驟,給出提示是否保存成功,然后任意鍵返回主菜單。3.2 模板劃分圖班級(jí)成績(jī)管理系統(tǒng)3.2.1 總層次圖主界面菜單成績(jī)查看成績(jī)查詢(xún)成績(jī)修改保存文件成績(jī)添加成績(jī)刪除成績(jī)統(tǒng)計(jì)退出程序成績(jī)輸入學(xué)號(hào)查詢(xún) 語(yǔ)文計(jì)算機(jī) 英語(yǔ) 數(shù)學(xué)fin

14、d()enter()3.2.2 基本總流程圖exit()modify()count()look()deleted()運(yùn)行程序meunmainadd()save()3.3 功能介紹圖主菜單n3.3.1 成績(jī)查詢(xún)流程圖y顯示信息是否找到返回輸入學(xué)號(hào)主菜單輸入學(xué)號(hào),姓名,成績(jī)輸入新增人數(shù)3.3.2 成績(jī)添加功能第四章 詳細(xì)設(shè)計(jì)根據(jù)功能模塊設(shè)計(jì)思路,主要功能模塊的算法設(shè)計(jì)思路,班級(jí)內(nèi)同學(xué)的相關(guān)信息應(yīng)包括“學(xué)號(hào)”,“姓名”,“各科成績(jī)”。此程序應(yīng)具備“成績(jī)輸入”,“成績(jī)查看”,“成績(jī)查找”,“成績(jī)統(tǒng)計(jì)”,“成績(jī)排序”,“成績(jī)修改”,“成績(jī)添加”,“成績(jī)刪除”,“成績(jī)保存”,“退出程序”等功能。詳情如下:

15、4.1 系統(tǒng)模塊函數(shù)4.1.1 模塊函數(shù)組成01.主函數(shù) void main()02.成績(jī)輸入函數(shù) enter()03.成績(jī)查詢(xún)函數(shù) find()04.成績(jī)修改函數(shù) modify()05.成績(jī)統(tǒng)計(jì)函數(shù) count()06.成績(jī)察看函數(shù) look()07.文件保存函數(shù) save()08.成績(jī)添加函數(shù) add()09.成績(jī)刪除函數(shù) deleted()10. 主界面函數(shù) home()11.退出系統(tǒng)函數(shù) exit()4.1.2 模塊函數(shù)介紹01.menu():用switch執(zhí)行功能選項(xiàng);用do.while執(zhí)行每種功能完成后返回菜單。02.enter():用scanf一一對(duì)應(yīng)輸入學(xué)生的信息;用for循環(huán)

16、輸入多門(mén)成績(jī);最后用save()函數(shù)保存。(參考3.1.1)03.find():用于查詢(xún)?nèi)喔骺瞥煽?jī),與學(xué)生姓名,學(xué)號(hào),科目相對(duì)應(yīng)。為了美觀采用5%換行輸出,使信息簡(jiǎn)潔明了。(參考3.1.2)04.modify():用于修改成績(jī)或?qū)W生信息。定義好一個(gè)密碼以及mm=0;如果密碼錯(cuò)誤mm=1,用do.while執(zhí)行是否重新輸入密碼;密碼正確獲得修改信息的權(quán)限。(參考.1.3)05.count():調(diào)用一個(gè)menu1()執(zhí)行菜單功能,用switch執(zhí)行用戶(hù)想進(jìn)行的排序,調(diào)用paixu1(),paixu2(),再用menu()函數(shù)轉(zhuǎn)回菜單。(參考3.1.4)06.look():定義choice1(),

17、根據(jù)用戶(hù)需要對(duì)信息執(zhí)行所需的排序(參考3.1.5)07.save():用于使用系統(tǒng)功能對(duì)學(xué)生文件產(chǎn)生變化后,保存學(xué)生文件。(參考3.1.6)4.2學(xué)生信息數(shù)組typedef struct studentchar number10;char name20;float scorem;float aver;stu;第五章 測(cè)試5.1 測(cè)試圖展示圖.1主界面。圖.2菜單欄。圖.3查看成績(jī)。圖.4查詢(xún)欄。圖.5平均成績(jī)。圖.6添加功能。圖.7刪除功能。圖.8保存功能。5.2 系統(tǒng)調(diào)試01:在enter()函數(shù)中對(duì)學(xué)生成績(jī)的輸入用scanf(“%d”,s);當(dāng)輸入一門(mén)成績(jī)后就會(huì)跳回,使接下來(lái)的程序無(wú)法運(yùn)行

18、,改為for(j=1;j=m;j+) scanf(“%d”,&si.scorej);將錯(cuò)誤解決。02:在enter函數(shù)中,輸入姓名用scanf(“%s”,&);錯(cuò)誤,在scanf函數(shù)中的輸入項(xiàng)如果是字符數(shù)組名代表該數(shù)組的起始地址.則應(yīng)改為scanf(“%d”,); 03:在運(yùn)行find()函數(shù)時(shí),第四門(mén)課顯示出來(lái)的分?jǐn)?shù)并非輸入項(xiàng):錯(cuò)誤,在定義時(shí)將j=1,要改為j=0。04:學(xué)生成績(jī)定義為浮點(diǎn)型,但與scanf連接不起來(lái)。是由于所使用的系統(tǒng)不支持該項(xiàng)操作。05:在count()函數(shù)中,paixu3();輸出的人數(shù)比實(shí)際的多一人,因?yàn)閎+:在循環(huán)結(jié)束之后會(huì)自增一次,則比

19、實(shí)際的大一。5.3 分析結(jié)果01:為了使調(diào)試程序簡(jiǎn)便,先定義班級(jí)的人數(shù)n為2人,編譯連接后,顯示出菜單桌面,先輸入學(xué)生成績(jī)保存起來(lái)。 2:選擇2.在用循環(huán)輸出學(xué)生的基本信息的最后加printf(“n”);,則輸出學(xué)生的基本信息是每行顯示一位同學(xué)的信息。3:選擇5.修改函數(shù)中用getchar()來(lái)覆蓋原有的,則就可輸出修改的信息。4:在modify( )函數(shù)中,當(dāng)輸入一個(gè)錯(cuò)誤的密碼時(shí)會(huì)出現(xiàn)死循環(huán),因?yàn)樘龅奈恢缅e(cuò)誤了。第六章 使用說(shuō)明運(yùn)行系統(tǒng)以后,主界面需要輸入帳號(hào)和密碼,分別為“jintong”,“123456”。進(jìn)入菜單后,按“1”鍵進(jìn)入“輸入想添加的學(xué)生人數(shù),相關(guān)信息與成績(jī)”,按任意鍵返回

20、主菜單;按“2”鍵進(jìn)入“查看全班學(xué)生的信息與成績(jī)”功能,可以按任意鍵返回主菜單;按“3”鍵進(jìn)入“按學(xué)號(hào)查詢(xún)班級(jí)內(nèi)某個(gè)同學(xué)的信息與成績(jī)”功能,可以按任意鍵返回主菜單;按“4”鍵進(jìn)入“查詢(xún)班級(jí)平均分與各科平均分”功能,可以按任意鍵返回主菜單;按“5”鍵進(jìn)入“按學(xué)號(hào)查看和修改班級(jí)內(nèi)某個(gè)同學(xué)的信息和成績(jī)”功能,可以按任意鍵返回主菜單;按“6”鍵進(jìn)入“想添加的人數(shù)和相關(guān)學(xué)生信息與成績(jī)”功能,可以按任意鍵返回主菜單;按“7”鍵進(jìn)入“按學(xué)號(hào)查詢(xún)到班級(jí)內(nèi)某個(gè)同學(xué)的相關(guān)信息并提示是否刪除改名學(xué)生信息”功能,可以按任意鍵返回主菜單;按“8”鍵進(jìn)入“保存全班同學(xué)信息”功能;按“9”鍵退出程序。第七章 總結(jié)課程設(shè)計(jì)是

21、培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,當(dāng)今計(jì)算機(jī)應(yīng)用在是生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握計(jì)算機(jī)開(kāi)發(fā)技術(shù)十分重要的。我的題目是班級(jí)成績(jī)管理系統(tǒng)的設(shè)計(jì),對(duì)于我們這些新手來(lái)說(shuō),這是很大的考驗(yàn),我一千次一萬(wàn)次的問(wèn)自己,怎么才能找到課堂所學(xué)與實(shí)際應(yīng)用的最佳結(jié)合點(diǎn)?怎么才能讓自己的程序在篇幅上簡(jiǎn)單,在使用價(jià)值上豐富?怎樣讓自己的業(yè)余更靠近專(zhuān)業(yè)?怎樣讓自己的計(jì)劃更具有序性,而不會(huì)忙無(wú)一用?機(jī)會(huì)是老師,學(xué)校,以及無(wú)數(shù)代教育工作者給的,而能力是自己的,耐性是需要的。經(jīng)過(guò)自己

22、的琢磨,還查閱了很多書(shū)籍,才做到了心中有數(shù),才了解了c語(yǔ)言課程設(shè)計(jì)的真正用意培養(yǎng)自學(xué)能力,養(yǎng)成程序編輯的好習(xí)慣。我從來(lái)不相信車(chē)到山前必有路的說(shuō)法,認(rèn)為那只是懶惰者自尋懶惰的借口,我要積極,要把握,要努力?;仡櫰鸫舜握n程設(shè)計(jì),至今我仍感慨頗多,的確,從從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整半個(gè)學(xué)期的日子里,可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力

23、和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)結(jié)構(gòu)體等等。通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問(wèn)題,最后在郭老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在郭老師的身上我學(xué)得到很多實(shí)用的知識(shí),在次我表示感謝!同時(shí),對(duì)給過(guò)我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝。做完這個(gè)課程設(shè)計(jì),我們的自信一下子提高了,我們也會(huì)寫(xiě)程序了;盡管對(duì)于有些人這種程序會(huì)很簡(jiǎn)單,可對(duì)于我們c語(yǔ)言初學(xué)

24、者來(lái)說(shuō),已經(jīng)很不容易了。這次體驗(yàn)為以后的學(xué)習(xí)計(jì)算機(jī)的我們?cè)鰪?qiáng)了信心。享受勞動(dòng)成果的滋味實(shí)在美妙啊!在課程設(shè)計(jì)過(guò)程中,我學(xué)到了很多人生的哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過(guò)程中怎么樣去克服心理上的不良情緒,黑夜過(guò)去了,我們收獲的是黎明。在本次實(shí)踐中,給我印象最為深刻的是在文件刪除程序的編譯過(guò)程中,先有我的各個(gè)子程序都已經(jīng)編輯成功,那么這最后的程序就將是我成功的關(guān)鍵。老天不會(huì)讓我太過(guò)順利,他在這最后的時(shí)刻設(shè)置的障礙,是要考驗(yàn)我的能力,他要置我于死地?在這個(gè)問(wèn)題的解決上,我打了退堂鼓,我不能忍受長(zhǎng)時(shí)間的無(wú)功而反,時(shí)間正在消磨我的意志。沒(méi)有了柳暗花明的一天,那么我怎么能說(shuō)

25、經(jīng)受住了考驗(yàn)?謝謝老師的那句話(huà),她說(shuō):人力有所不能及,然而,人的精神是不會(huì)敗倒的。我鼓起勇氣,到處問(wèn),到處查資料,黃天不負(fù)有心人,在一篇文章上,終于看到了我所特別要求的函數(shù),我實(shí)現(xiàn)了組合是關(guān)鍵的理論。不得不說(shuō)這是精神的勝利,是永不言敗的精神讓我的程序重見(jiàn)天日。謝謝給我指點(diǎn)迷津的老師。附1:源程序代碼#include#include#include#include#include#define n 20#define m 4typedef struct studentchar number10;char name20;float scorem;float aver;stu;stu stun;in

26、t n;void enter();/輸入void save();/保存void avergescore();/平均分void home();/主界面 void look();/查看void find();/查找void count();/統(tǒng)計(jì)void add();/添加void modify();/修改void deleted();/刪除void menu();/菜單void exit();/退出void main()/主函數(shù)開(kāi)始int i,k=0;char username15,pwd6;printf(nn);printf( tn);printf( t*n);printf( t* *n);p

27、rintf( t* 歡迎使用班級(jí)成績(jī)管理系統(tǒng) *n);printf( t* *n);printf( t* 湖南工程學(xué)院 *n);printf( t* *n);printf( t* 指導(dǎo)老師:王穎 *n);printf( t* *n);printf( t* 操作學(xué)生:金潼 *n);printf( t* *n);printf( t*n);printf( tn); for(i=0;i3;i+)printf(n請(qǐng)輸入我的名字:); gets(username); printf(n請(qǐng)輸入權(quán)限密碼:); gets(pwd);if(strcmp(username,jintong)=0)&(strcmp(pw

28、d,123456)=0) printf(n您已經(jīng)成功登錄n);k=1;for(i=0;i20;i+)printf(.);sleep(100);system(cls);home();break; elseprintf(n用戶(hù)名或密碼無(wú)效 請(qǐng)重新輸入:n); continue;if(k=0)printf(n連續(xù)輸入錯(cuò)誤3次 將退出程序n);sleep(2000);exit(0);void home() /*功能選項(xiàng)調(diào)用*/int mm=0;menu();domm=1;switch(getch()case 1 : enter();break; /*成績(jī)輸入*/case 2 : look();brea

29、k; /*成績(jī)查看*/case 3 : find();break; /*成績(jī)查找*/case 4 : count();break; /*成績(jī)統(tǒng)計(jì)*/case 5 : modify();break; /*成績(jī)修改*/case 6 : add();break; /*成績(jī)添加*/case 7 : deleted();break; /*成績(jī)刪除*/case 8 : save();break; /*成績(jī)保存*/case 9 : exit(0); /*退出程序*/default : printf(輸入有誤n);printf(按任意鍵繼續(xù)n);getch();menu();while (mm=1);void

30、 menu() /*進(jìn)入菜單*/system(cls);printf(n);printf(n);printf(*歡迎進(jìn)入學(xué)生成績(jī)管理系統(tǒng)*n);printf( 菜單 n);printf( 1、成績(jī)輸入 n);printf( 2、成績(jī)查看 n);printf( 3、成績(jī)查詢(xún) n);printf( 4、成績(jī)統(tǒng)計(jì) n);printf( 5、成績(jī)修改 n);printf( 6、成績(jī)添加 n);printf( 7、成績(jī)刪除 n);printf( 8、成績(jī)保存 n);printf( 9、退出系統(tǒng) n);printf(*請(qǐng)選擇相應(yīng)的功能號(hào)(1-9):*n);void enter()/*輸入信息和成績(jī)功能*/

31、int i,j;system(cls);printf(輸入班級(jí)學(xué)生人數(shù):n);scanf(%d,&n);for(i=0;in;i+)printf(請(qǐng)輸入學(xué)生%d的學(xué)號(hào) 姓名:n,i+1);scanf(%s%s,stui.number,);printf(請(qǐng)輸入學(xué)生成績(jī):n);printf(語(yǔ)文t數(shù)學(xué)t英語(yǔ)t計(jì)算機(jī)n);for(j=0;jm;j+)scanf(%f,&stui.scorej);printf(成功輸入n);void avergescore()/*計(jì)算平均分功能*/int i,j;for(i=0;in;i+)stui.aver=0;for(j=0;jm;j+)stui

32、.aver+=stui.scorej;stui.aver=stui.aver/m;void look()/*查看及排序功能*/int i,j,k;stu t;avergescore();system(cls);for(i=0;in-1;i+)for(k=i,j=i+1;jstuk.aver)k=j;if(k!=j)t=stuk;stuk=stui;stui=t;printf(名次t學(xué)號(hào)t姓名t語(yǔ)文t數(shù)學(xué)t英語(yǔ)t計(jì)算機(jī)t平均分n);for(i=0;in;i+)printf(%dt%st%st,i+1,stui.number,);for(j=0;jm;j+)printf(%4.2

33、ft,stui.scorej);printf(%4.2f,stui.aver);printf(n);void find()/*查找功能*/char a10;int i,j;system(cls);printf(請(qǐng)輸入需查詢(xún)的學(xué)生學(xué)號(hào)n);scanf(%s,a);for(i=0;in;i+)if(strcmp(a,stui.number)=0)printf(名次t學(xué)號(hào)t姓名t語(yǔ)文t數(shù)學(xué)t英語(yǔ)t計(jì)算機(jī)t平均分n);printf(%dt%st%st,i+1,stui.number,);for(j=0;jm;j+)printf(%4.2ft,stui.scorej);printf(%

34、4.2f,stui.aver);printf(n);break;elseprintf(未找到該學(xué)生信息n);void count()/*統(tǒng)計(jì)功能*/stu *p=stu;int i,j;float averm=0;float count=0.0,sum=0.0;system(cls);for(i=0;iaver;printf(班級(jí)平均分為:%4.2f分n下列依次為語(yǔ)文t數(shù)學(xué)t英語(yǔ)t計(jì)算機(jī)的平均分:n,sum/n);/*平均分計(jì)算*/for(i=0;im;i+)for(j=0;jn;j+)averi=averi+stuj.scorei/n;for(i=0;im;i+)printf(%fn,ave

35、ri);printf(n);void modify()/*修改功能*/char a10;int i,j;system(cls);printf(請(qǐng)輸入需要修改成績(jī)的學(xué)生學(xué)號(hào)n);scanf(%s,a);for(i=0;in;i+)if(strcmp(a,stui.number)=0)printf(名次t學(xué)號(hào)t姓名t語(yǔ)文t數(shù)學(xué)t英語(yǔ)t計(jì)算機(jī)t平均分n);printf(%dt%st%st,i+1,stui.number,);for(j=0;jm;j+)printf(%4.2ft,stui.scorej);printf(%4.2f,stui.aver);printf(n);printf(請(qǐng)重新輸入該學(xué)生的學(xué)號(hào) 姓名:n);scanf(%s%s,stui.number,);printf(請(qǐng)重新輸入學(xué)生成績(jī):n);printf(t語(yǔ)文t數(shù)學(xué)t英語(yǔ)t計(jì)算機(jī)n);for(j=0;jm;j+)scanf(%f,&stui.scorej);/*找到該學(xué)生成績(jī)后進(jìn)行修改,跳出for循環(huán)*/p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論