【文章內(nèi)容簡介】
屏幕下方出現(xiàn)提示“是否繼續(xù)輸入?(Y\N)”,此時,按鍵盤上的N鍵則為結(jié)束輸入,返回主菜單;若按Y鍵,則繼續(xù)輸入第二個學(xué)生信息,依此類推。圖6:成績錄入,按下回車鍵即出現(xiàn)以下界面圖中所顯示的即為剛剛輸入的學(xué)生成績:圖7 :成績顯示,按下回車則提示輸入文件名則由圖所示:圖8:成績保存,輸入4鍵,會出現(xiàn)一個選擇界面讓所要排序的科目,當(dāng)輸入一個數(shù)字時及執(zhí)行對該科目成績的排序命令,具體如下截圖:圖9:成績排序,只有輸入正確的密碼才能運行,運行結(jié)果如下圖:圖10:成績修改,輸入數(shù)字6,按回車即可出現(xiàn)一個選擇界面:輸入數(shù)字1即顯示每科成績最高的學(xué)生信息:輸入數(shù)字2即顯示每科的平均成績;輸入數(shù)字3則退出該功能的運行。截圖如下:圖11:成績統(tǒng)計十.總結(jié)在這為期一周的時間內(nèi),通過我們小組各成員之間的相互討論和合作,我們完成了班級成績管理系統(tǒng)系統(tǒng)的程序設(shè)計。雖然在這學(xué)期中,我們已經(jīng)學(xué)習(xí)了《C 語言程序設(shè)計》這門課,但是我所學(xué)的知識最多也就是在做作業(yè)的時候才會用到,平時沒有什么練習(xí)的機(jī)會,這次的課程設(shè)計是我第一次通過自己構(gòu)思,和同學(xué)討論并且不斷查閱資料來設(shè)計一項程序。這次設(shè)計,不僅鞏固了我以前所學(xué)的知識,還讓我對C語言有了更深一步的了解,掌握了更多的技巧和技能。C語言是計算機(jī)程序設(shè)計的重要理論基礎(chǔ),在我們以后的學(xué)習(xí)和工作中都有著十分重要的地位。要學(xué)好這種語言,僅僅學(xué)習(xí)課本上的知識是不夠的,還要經(jīng)常自己動手,有較強(qiáng)的實踐能力。只有多動手,經(jīng)常編寫程序,才能發(fā)現(xiàn)我們學(xué)習(xí)上的漏洞和自己的不足,并在實踐中解決這些問題,不斷提高自己轉(zhuǎn)化知識的能力。在我們小組有解決不了的問題時,我們會主動查閱相關(guān)的資料,或向其他同學(xué)詢問,這不僅豐富了我們的知識,還增進(jìn)了我們同學(xué)之間的友誼。這次設(shè)計中,我們的收獲還有就是學(xué)會了用流程圖來表達(dá)自己的想法,并根據(jù)流程圖來逐步實現(xiàn)程序的功能。在這次課程設(shè)計中,我們首先對系統(tǒng)的整體功能進(jìn)行了構(gòu)思,然后用結(jié)構(gòu)化分析方法進(jìn)行分析,將整個系統(tǒng)清楚的劃分為幾個模塊,再根據(jù)每個模塊的功能編寫代碼。而且盡可能的將模塊細(xì)分,最后在進(jìn)行函數(shù)的調(diào)用。我們在函數(shù)的編寫過程中,我們不僅用到了for循環(huán)、while循環(huán)和switch語句,還用到了函數(shù)之間的調(diào)用(包括遞歸調(diào)用)。由于我們是分工編寫代碼,最后需要將每個人的代碼放到一起進(jìn)行調(diào)試。因為我們每個人寫的函數(shù)的思想不都一樣,所以在調(diào)試的過程中也遇到了困難,但經(jīng)過我們耐心的修改,終于功夫不負(fù)有心人,我們成功了!在參考書上,我們不僅參考了譚浩強(qiáng)主編的第二版《C語言程序設(shè)計》進(jìn)行參考。當(dāng)然,我們的程序還有一些不完善的地方,比如說,當(dāng)輸入的數(shù)據(jù)不符合我們定義的數(shù)據(jù)的格式的時候,程序會出現(xiàn)一些錯誤,有時會出現(xiàn)主菜單的死循環(huán);在一次程序運行中,只能行使一種權(quán)限,要想再行使另一種權(quán)限,就只能退出程序,然后再運行程序。一周的課程設(shè)計即將結(jié)束,時間雖短,但是我收獲了很多。最后,謝謝老師和同學(xué)們的指導(dǎo),更要感謝我們小組成員之間的合作與交流。學(xué)習(xí)好幫手參考文獻(xiàn)[1] 譚浩強(qiáng).《C語言程序設(shè)計》(第二版).北京: 清華大學(xué)出版社,2009.[2] 譚浩強(qiáng)《C程序設(shè)計程序設(shè)計學(xué)習(xí)輔導(dǎo)》 .北京 :清華大學(xué)出版社,2005.附錄 源代碼include /*I/O函數(shù)*/include /*字符串函數(shù)*/define M 4 /*課程數(shù)*/define NUM 3 /*人數(shù)*/ define NULL 0includeincludeint avar[M]。struct stu{ char name[20]。 int num。 int score[M]。}。 void enter(struct stu s[],int n)。 void print(struct stu s[],int n)。 void save(struct stu s[],int n)。 void sort(struct stu s[],int n)。 void modify(struct stu s[],int n)。 void count(struct stu s[],int n)。 int menu()。void main(){ void clrscr()。 struct stu student[NUM]。 for( 。 。 ) switch(menu()) { case 1:enter(student,NUM)。break。 case 2:print(student,NUM)。break。 case 3:save(student,NUM)。break。 case 4:sort(student,NUM)。break。 case 5:modify(student,NUM)。break。 case 6:count(student,NUM)。break。 case 7:return。 }}int menu(){int choice。printf(\n**************************班級成績管理***************************\n)。