班級成績管理系統(tǒng)_第1頁
班級成績管理系統(tǒng)_第2頁
班級成績管理系統(tǒng)_第3頁
班級成績管理系統(tǒng)_第4頁
班級成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 課 程 設 計 報 告課程名稱 C語言程序設計 課題名稱 班級成績管理系統(tǒng) 專 業(yè) 機械設計制造及其自動化 班 級 0983班 學 號 4 姓 名 指導教師 王穎 20010年6月30日湖南工程學院 課 程 設 計 任 務 書課程名稱 C語言程序設計 課 題 班級成績管理系統(tǒng) 專業(yè)班級 機械設計0983 學生姓名 學 號 4 指導老師 王穎 審 批 任務書下達日期 年 月 日任務完成日期 年 月 日目錄第一章 緒論-第二章 需求分析- 2.1 程序的功能- 2.2 輸入輸出的要求-第三章 概要設計- 3.1程序的模塊組成- 3.2學生信息結構數(shù)組- 3.3各個程序的功能介紹-第四章 詳細設計

2、- 4.1總流程圖- 4.2統(tǒng)計函數(shù)流程圖-第五章 測試- 5.1系統(tǒng)調試- 5.2結果分析-第六章 使用說明-第七章 總結-附錄-評分表-第一章:緒論 一課題描述: C語言程序設計課程設計是對學生的一種全面綜合訓練,它包括問題分析,總體結構設計,用戶界面設計,程序設計基本技能和技巧,多人合作,以至一整套軟件工作規(guī)范的訓練和科學作風的培養(yǎng)。是與課堂聽講、自學和練習相輔相成的必不可少的一個教學環(huán)節(jié)。通常,課程設計的課題比平時的習題復雜得多,也更接近實際。課程設計著眼于與應用的結合點,使學生學會如何把書上學到的知識用于解決實際問題,培養(yǎng)軟件工作所需要的動手能力;另一方面,能使書上的知識變“活”,使

3、學生更好地深化理解和靈活掌握教學內容。為了達到上述目的,本課程設計安排了八個設計課題,訓練重點在于基本的程序設計方法和分析問題的能力,而不強調面面俱到。學生可任選其中一題進行設計,設計完畢寫出課程設計報告,用A4紙打印成冊;并將課程設計報告與源程序存盤。學習委員將課程設計報告與磁盤收齊后交指導老師。二.課程設計內容問題描述:一個有N個學生的班級,每個學生有M門課程。該系統(tǒng)實現(xiàn)對班級成績的錄入、顯示、修改、排序、保存等操作的管理。功能要求:、本系統(tǒng)采用一個結構體數(shù)組,每個數(shù)據的結構應當包括:學號、姓名、M門課程名稱。、本系統(tǒng)顯示這樣的菜單:請選擇系統(tǒng)功能項:a、 成績錄入b、 成績顯示c、 成績

4、保存d、 成績排序e、 成績修改(要求先輸入密碼)f、 成績統(tǒng)計、顯示每門課程成績最高的學生的基本信息、顯示每門課程的平均成績g、 退出系統(tǒng)、執(zhí)行一個具體的功能之后,程序將重新顯示菜單。、將學生成績保存到文件中。算法提示:、數(shù)據結構:結構體類型數(shù)組。、數(shù)據庫結構:下表構成該系統(tǒng)的基本數(shù)據庫。 姓名學號課程名稱1課程名稱2charCharfloatfloat 測試數(shù)據:學生人數(shù)N=10課程門數(shù)M=4課程名:數(shù)學、語文、英語、政治其它該系統(tǒng)有興趣的同學可以在實現(xiàn)上述基本功能后,完善系統(tǒng)的其它功能。三.課程設計要求及分組安排。 1. 課程設計要求1)設計正確,方案合理。2)界面友好,使用方便。3)程

5、序精煉,結構清晰。4)設計報告5000字以上,含程序設計說明、用戶使用說明,系統(tǒng)的功能框圖、流程圖、源程序清單等。5)上機演示。6)每個學生在規(guī)定的時間內獨自完成相關課題的C源程序編寫,調整和運行。源程序及編譯生成各文件均保存在軟盤中;7)實際操作過程中遇到的問題及解決方法:設計總結及心得體會.8)按任務書的要求,按附錄的要求編寫課程設計報告(Word文檔格式)。并用A4的復印紙打印并裝訂。2.分組及安排所選題目(共8題)根據學生學號順序選課題號,四個人一道題,相鄰四個學號的同學選同一道題,32號以后的同學按學號每人選一題。如你的學號為15,則所選題目號為:第四題。3成績評定程序設計方案是否合

6、理;程序設計是否正確;調試結果;設計說明書的質量高低;答辯時回答問題情況;課程設計周表現(xiàn)情況;總評成績記入“課程設計成績評分表”。四. 進度安排第 一 周 星期四 :熟悉這次課程設計的目的和課程設計的要求,通過圖書館或因特網查找與幀封裝課題相關的資料,明確了解一些要用到的文件和調用函數(shù)等,然后再把整個程序設計的總體框架、流程圖等構思出來,并進行書面程序設計。第 二 周 星期一 :機房上機,在計算機上編輯源程序。調試程序,在改正錯誤的同時不斷完善程序,使源代碼滿足課程設計的要求和實現(xiàn)課程設計的基本功能。第 二 周 星期二 :尋找資料完善和調試程序。第 二 周 星期三:繼續(xù)修改、編輯、調試程序。不

7、斷改正錯誤后,要保證程序能成功編譯成目標文件,鏈接成功成為可執(zhí)行文件,再運行能顯示出“幀封裝已完成”的信息,這樣才能算已經完成了本課題的基本功能。之后,開始撰寫課程設計報告。第 二 周 星期四:上機調試,完善程序。第 二 周 星期五:答辯。第 二 周 星期六星期天: 撰寫課程設計報告。第二章:系統(tǒng)需求分析一. 摘要 1. 開發(fā)系統(tǒng)的名稱:班級成績管理系統(tǒng)。 2. 開發(fā)系統(tǒng)的目標:開發(fā)出一個操作簡便、界面友好、靈活實用、安全可靠的學生成績管理系統(tǒng)。該系統(tǒng)的開發(fā)可以提高班級對學生成績的統(tǒng)計分析效率、減輕教務管理人員對學生成績管理和統(tǒng)計的負擔、提高班級對學生成績的規(guī)范化管理。結合班級管理的實際需要,

8、實現(xiàn)對學生成績等數(shù)據進行有效的管理,提供查詢分析功能等。 二. 成績管理系統(tǒng)的背景分析: 當今時代是飛速發(fā)展的信息時代,在各行各業(yè)中離不開信息處理, 正是計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境.計算機的最大好處在于利用它能夠進行信息管理.使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性.尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性. 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能在人類社會的各個領域并發(fā)揮著越來越重要的作用. 學生成績管理系統(tǒng)提供了強大的學生成績管理管理功能,方便系統(tǒng)管理員對學生成績等信息的添加,修改,刪除,查詢,留言等操作,同時一樣的方面學

9、生對自己各科成績查詢,學習的交流.本系統(tǒng)是班級教學管理的一個功能模塊,可以快速方便地對學生成績進行管理、輸入、顯示、查詢、和統(tǒng)計等功能。二開發(fā)學生成績管理的必要性: 開發(fā)一個學生成績管理系統(tǒng),采用計化.現(xiàn)在我國的大中專院校的學生成績檔案管理水平普遍都不是很高,有的還停留在全用紙介質基礎上,這種管理方式已不能適應時代的發(fā)展,社會的需求,因為它浪費了大量的人力物力,也存在著許多不足的因素.在今天信息時代這種傳統(tǒng)的管理方法必然會被計算機為基礎的信息管理系統(tǒng)所代替.一個高效的學生成績管理系統(tǒng)可以存儲歷屆的學生成績檔案,不需要大量的人力,只需要幾名專門錄入員即可操作系統(tǒng),節(jié)省大量人力,可以迅速查到所需信

10、息,高效,安全,學生在能方便的查看自己的成績.算機對學生成績進行管理,進一步提高了辦學效益和現(xiàn)代化水平.為廣大教師和學生提高工作效率,實現(xiàn)學生成績信息管理工作流程的系統(tǒng)化,規(guī)范化和自動三 系統(tǒng)的功能需求: 1. 系統(tǒng)需要實現(xiàn)的功能包括以下幾個方面: 1.1 學生查詢功能:為了方便學生查找成績等信息,將所有信息按照需要進行分類。這樣學生就能很方便的找到自己所需要的信息。 1.2 管理員查詢功能:管理員可以通過條件選擇查詢所有信息,并進行排序。 1.3 添加功能:管理員可以輸入學生成績等相關信息。 1.4 修改功能:輸入密碼后管理員可以對數(shù)據庫中的信息進行修改,系統(tǒng)能夠通過管理員的給出的條件查找出

11、所要修改的信息,對修改后的信息進行保存。 1.5 統(tǒng)計功能:管理員可以通過此功能對信息進行統(tǒng)計。 四. 系統(tǒng)的數(shù)據需求1. 通過查閱資料以及對程序的理解,總結出用戶對數(shù)據的需求如下:1)學生信息: 包括:學號、學生姓名等信息。2)課程信息: 包括:課程編號、課程名稱等。3)基本數(shù)據維護功能: 1. 錄入學生的成績信息。 2. 顯示學生的成績信息。 3. 保存學生的成績信息。 4. 排序學生的成績信息。 5. 統(tǒng)計學生的成績信息。五系統(tǒng)的性能分析 1. 系統(tǒng)的高速性、穩(wěn)定性、安全性。2. 系統(tǒng)人機界面友好,易學易用。3. 系統(tǒng)維護成本較低。六. 輸入輸出要求:在菜單選項中1-7,選擇功能項,進行

12、對應選項的函數(shù)調用.1)、每一條記錄包括一個學生的學號、姓名、4門成績、平均成績;2) 輸入功能:輸入學生的基本信息存入磁盤文件中;3)、顯示功能:輸出已存盤的學生信息;4)、排序功能:輸出用戶所要選擇科目的提問,輸入科目后輸出該科目一排好的學生成績,并按學生平均成績進行排序;6)、插入功能:插入新的信息;7)修改功能,輸入密碼.錯誤輸出是否繼續(xù)輸入密碼.正確則逐個輸出是否想要修改學生信息;8)、保存功能:將學生記錄保存在任何自定義的文件中;9)、退出功能:有一個清晰美觀界面來調用各個功能。 七體框架結構主程序初始化 錄入 顯示 排序 插入 修改 保存 退出八學生成績業(yè)務管理圖輸出結果學生數(shù)據

13、庫查詢輸入學號和密碼學生新數(shù)據統(tǒng)計匯總成績數(shù)據庫數(shù)據修改或添加管理員輸出結果圖3第三章:系統(tǒng)概要設計1程序的模塊組成第一個模塊:先定義好一些必要的全局變量以及調用的函數(shù)和結構體數(shù)組。第二個模塊:設計一個菜單函數(shù)menu();實現(xiàn)能供用戶選擇功能項。第三個模塊:用enter()函數(shù)實現(xiàn)成績的輸入。第四個模塊:用save()函數(shù)實現(xiàn)成績的保存。第五個模塊:用print()函數(shù)實現(xiàn)成績輸出。第六個模塊:用cort()函數(shù)實現(xiàn)成績排序功能。第七個模塊:用modify()函數(shù)實現(xiàn)成績修改功能。第八個模塊:用count()函數(shù)實現(xiàn)成績統(tǒng)計功能。main函數(shù)實現(xiàn)總的控制臺界面,調用void enter(),

14、void cort(), void modify(),void count(),print(), void save(),函數(shù)實現(xiàn)各種用戶功能要求。2.學生信息結構數(shù)組 struct stuchar name20; int num; int scoreM;3.各個程序的主要功能介紹:1:為便于用戶使用,先定義一個常數(shù)N表示人數(shù),學生信息的結構體數(shù)組,以及調用功能項的函數(shù)。2:void main(): 利用swithch()實現(xiàn)各函數(shù)的調用,系統(tǒng)根據輸入的數(shù)字選項來調用相應的函數(shù)。 3:void Enter() :用來執(zhí)行學生成績記錄的輸入。4:void Print(): 顯示所有學生的信息。5

15、: void save(): 這是一個不返回值的有參函數(shù),形參為“鏈表頭的指針”,可以把學生記錄保存在電腦上由自己任意命名的二進制文件6:void Cort():要排序的 科目的 序號,用選擇排序法實現(xiàn)函數(shù)學生成績的排序。7: void Modify():需要通過密碼驗證,進入菜單后可實現(xiàn)對學生資料的修改.8: void Count()可以顯示學生的平均成績以及科目最高分.第四章:系統(tǒng)詳細設計一 . 整個系統(tǒng)除了主函數(shù)外,另外還有7個函數(shù),實現(xiàn)六大功能:輸入功能、顯示功能、排序功能、修改功能、刪除功能、保存功能。各個函數(shù)的詳細設計說明分別如下: 1、主函數(shù)main() 利用swithch()實

16、現(xiàn)各函數(shù)的調用,系統(tǒng)根據輸入的數(shù)字選項來調用相應的函數(shù)。主要實現(xiàn)“功能選擇”的界面,在這個界面里有顯示系統(tǒng)的九大功能,根據每個功能前面的序號進行選擇。等執(zhí)行完每一個函數(shù)功能后,按任一鍵回到主界面也要通過這個函數(shù)來實現(xiàn)! 2、void Enter()函數(shù)用scanf依次輸入學生信息,在輸入多門成績成績時,用for循環(huán)來實現(xiàn),結尾調用save()函數(shù)保存。3、void Print()函數(shù)為了使界面美觀對學生成績用%5d輸出,且用換行實現(xiàn),學生信息整齊排列。4、void Cort()函數(shù)先定義choice1,輸出想要排序的 科目的 序號,用選擇排序法實現(xiàn)函數(shù)學生成績的排序。5、void Modify

17、()函數(shù)先定義好 一個密碼以及flag=0;如果輸入的密碼錯誤則flag=1,用do .while實現(xiàn)是否重新輸入密碼,密碼準確后調用modi()函數(shù),實現(xiàn)修改功能6、void Count()函數(shù)用menu1函數(shù)實現(xiàn)一個菜單功能。用switch實現(xiàn),用戶選擇想執(zhí)行的功能,從而調用Show1()Show2()Show3();1 總流程圖開始Main()enter()print()save()sort()modify ()運行程序count()ChoiceChoice函數(shù)123456退出程序72.統(tǒng)計函數(shù)流程圖開始調用menu1函數(shù)輸入choice1choice1調用show1函數(shù)調用show2函

18、數(shù)輸入選擇的科目J=0I=0I=i+1Isn+1.scoreiTemp=si.scorensn.scorei=sn+1.scoreiSi+1.scoren=tempJ=j+1I=0;sum=0 I=i+1INSum=sum+si.scorejSum=sum+si.scorej輸出排序成績輸出平均成績返回函數(shù)123結束結束第五章:測試1系統(tǒng)調試1:在enter()函數(shù)中對學生成績的輸入用scanf(“%d”,s);當輸入一門成績后就會跳回,使接下來的程序無法運行,改為for(j=1;j=M;j+) scanf(“%d”,&si.scorej);將錯誤解決.2:在enter函數(shù)中,輸入姓名用sca

19、nf(“%s”,&);錯誤,在scanf函數(shù)中的輸入項如果是字符數(shù)組名代表該數(shù)組的起始地址.則應改為scanf(“%d”,);3:在運行print()函數(shù)時,第四門課顯示出來的分數(shù)并非輸入項:錯誤,在定義時將j=1,應改為j=0。 4:學生成績定義為浮點型,但與scanf連接不起來。是 由于所使用的系統(tǒng)不支持該項操作。5:在count( )函數(shù)中,show3( );輸出的人數(shù)比 實際的多一人,因為b+:在循環(huán)結束之后會自增一次,則比 實際的大一。2. 結果分析1:為了使調試程序簡便,先定義班級的人數(shù)N為3人,編譯連接后,顯示出菜單桌面,先輸入學生成績保存起來.2:選

20、擇2.在用循環(huán)輸出學生的基本信息的最后加printf(“n”);,則輸出學生的基本信息是每行顯示一位同學的信息.3:選擇5.修改函數(shù)中用getchar()來覆蓋原有的,則就可輸出修改的信息.4:選擇6.用一個選擇菜單int menu1()int choice1;printf(n*n);printf(1:xian shi mei ke cheng ji zui gao de xue sheng xin xin);printf(2:xian shi mei ke ping jun cheng jin);printf(3:xian shi chao gou ping jun cheng ji de

21、ren shun);printf(4:quitn);printf(*n);選擇.輸入選擇的科目用標記法找出成績最高的的學生則輸出其基本信息.選擇.用for循環(huán),先求出了每門的總成績再除以人數(shù)的到平均成績用一個數(shù)組接收.再用循環(huán)則的到結果.選擇.先定義了一個數(shù)組bM.用循環(huán)如果出現(xiàn)超過平均成績的人就自增一次,接收到bM中,用循環(huán)輸出bM則得到每門超過平均成績的人數(shù).5:在modify( )函數(shù)中,當輸入一個錯誤的密碼時會出現(xiàn)死循環(huán),因為跳出的 位置錯誤了。以下是課程設計中的錯誤總結和分析:變量是程序中不可缺少的一部分,要謹記先定義后使用。輸入輸出類型要一致?!?”是C語言的語句結束語,不可省略。

22、 的互相匹配。調用函數(shù)必先聲明。形式參數(shù)和實際參數(shù)必須個數(shù)相等,類型相同。第六章:該系統(tǒng)使用說明1運行時進入主界面,系統(tǒng)根據輸入的數(shù)字選項來調用相應的函數(shù)。主要實現(xiàn)“功能選擇”的界面,在這個界面里有顯示系統(tǒng)的七大功能,根據每個功能前面的序號進行選擇。以下為該介面;2. 進行學生成績輸入時按照提示選擇1鍵,錄入第一個學員信息。完成后屏幕下方出現(xiàn)提示“是否繼續(xù)輸入?(YN)”,此時,按鍵盤上的N鍵則為結束輸入,返回主菜單;若按Y鍵,則繼續(xù)輸入第二個學員信息,依此類推。3.當要求顯示學生成績時輸入2鍵,按下回車鍵即出現(xiàn)以下界面 圖中所顯示的即為剛剛輸入的學生成績:3,當執(zhí)行對學生成績進行排序時,輸入

23、4鍵,會出現(xiàn)一個選擇界面讓所要排序的科目 當輸入一個數(shù)字時及執(zhí)行對該科目成績的排序命令,具體如下截圖:4.改時需要進行密碼驗證當密碼錯誤時不能進行該操作,只有輸入正確的密碼才能運行,運行結果如下圖:5.當需要進行成績統(tǒng)計時,輸入數(shù)字6,按回車即可出現(xiàn)一個選擇界面:輸入數(shù)字1即顯示每科成績最高的學生信息:輸入數(shù)字2即顯示每科的平均成績;輸入數(shù)字3 則退出該功能的運行.截圖如下:第七章:總結 不經一番寒徹骨,哪得梅花撲鼻香。 一周的C語言課程設計已接近尾聲了,現(xiàn)在回想起來真是五味俱全,從開始的懵懂無知到現(xiàn)在做出一本挺有厚度的資料,我不但實踐了課本的知識,還編出小程序,雖然很多人幫了我的忙,仍舊感覺

24、自己對C語言有了深入的了解,還是有所成長,有所收獲,在實踐中,自己編程常會犯錯誤,并總結一些克服缺點的方法。深刻體會到程序設計中最重要的一部分不是編寫源程序,而是調試過程。只有經過調試程序,我們才能掌握正確的語法知識及把問題的解決方法用程序語言來表達。 在這段時間里,我門匆匆忙忙為了它準備了很多,其中不免有嘆息聲,但是總的來說讓我么學到了很多,也懂得了很多,不僅在知識方面,還在有人的生活態(tài)度,目標上。這次的C語言課程設計充分展示了C的魅力,用一些小小的實現(xiàn)合成一個系統(tǒng)從而融入到生活中解決實際問題。同時也教會了我應站在用戶的角度去設計程序。在此次設計過程中必不可少的出現(xiàn)了 很多問題,整體規(guī)劃,模

25、塊與模塊之間的調用與劃分,標識符的使用。單詞的拼寫錯誤,結構體數(shù)組的使用,正確的使用循環(huán)的限制條件.。這些問題大多是因為平時上課很少聽講的原因,以至于很多概念混淆不清 。這次的課程設計讓我看到自己對C語言研究地少之又少。這次的班級成績管理系統(tǒng)仍舊存在著不足。記得開始課設的第一天,我糊里糊涂地在機房呆了一個上午,對老師要求做的課程設計束手無策,上網搜了幾個,但覺得沒點意思,最后還是沒有用。但相對于別人的做的系統(tǒng),我的好像簡單多了。但后來還是不得不去看書,因為很多東西還牛毛都不知道。比如,做這個課程設計時候,最好使用鏈表,而鏈表我們還沒有深入去熟悉它,在說這個課程設計牽涉到前面我們學過的所有內容,

26、如,一些基本函數(shù)的運用,函數(shù)的調用及指針,結構體。內容多而復雜,如果沒有對教材有個很好的了解掌握,是不可能篇好這個程序的。我還在把書本重新溫習了一遍,對照程序一一翻書,試圖找到一中解釋來說明程序當中一些函數(shù)的作用和結構。接下來的一段時間里對這段程序進行了修改,經過東湊西湊,拼拼剪剪,終于可以在電腦上運行了,但是它的功能不是很完善,需要進一步完善。后來懷著疑問去詢問老師才發(fā)現(xiàn)其實很多問題都想比較簡單的,比如在運行程序時發(fā)現(xiàn)無論我怎么輸入成績,第四門課的成績都與我輸入的分數(shù)不同,自己也嘗試用很多方法去解決,最終不了了之。同學看過以后告訴我是我在定義的時候把初始值定義錯了。在修該以后,再次運行便沒看

27、見以前的錯誤了。后來有用這種方法把后面的兩個警告解決了一個。 在這個過程中,也試圖自己獨立完成這個課程,偶爾發(fā)現(xiàn)書本上第11章節(jié)里面,有介紹鏈表的使用,而且書本上關于這個課程的一些基本函數(shù)功能在本章節(jié)都有說明,比如,鏈表的創(chuàng)建,節(jié)點的插入,刪除,一些基本信息的修改都有。 最終完成的課程的設計,馬馬虎虎的,完成的,但是還是受益匪淺。其中老師與同學的教導讓我刻苦銘心。不管其結果怎么樣,但至少這個過程,讓我們明白了,懂得了很多。雖然有點挫折很艱辛在里面,但是那都是短暫的,美麗的,它教會了我們不經過自己的努力,是達不到預期的結果的,不經過自己的實踐操作,是體驗不到其中的美妙的。不僅如此,還給了我們一個

28、警告,對待學習不可馬馬虎虎,否則完成不了應有的任務,得不到理想的結果,半途而廢是失敗的首要原因,不要什么事情都覺得滿不在乎,踏踏實實的學習,踏踏實實的工作,擁有積極樂觀的態(tài)度去應對一切挫折,最終會讓你走想成功的前沿。因為:“勝利永遠是屬于永不放棄的人!附錄1. 參考文獻C程序設計(第三版) 譚浩強 著 清華大學出版社C語言程序設計實用指南 譚浩強 著 清華大學出版社C語言大學實用教程學習指導 蘇小紅 著 電子工業(yè)出版社2. 源代碼#include /*I/O函數(shù)*/#include /*字符串函數(shù)*/#define M 4 /*課程數(shù)*/#define NUM 3 /*人數(shù)*/ #define

29、 NULL 0#include#includeint avarM;struct stuchar name20; int num; int scoreM; 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,i

30、nt n); /*統(tǒng)計*/ int menu();void main()void clrscr(); struct stu studentNUM; 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

31、 7:return; int menu()int choice;printf(n*班級成績管理*n);printf( 1 成績錄入n);printf( 2 成績顯示n);printf( 3 成績保存n);printf( 4 成績排序n);printf( 5 成績修改n);printf( 6 成績統(tǒng)計n);printf( 7 退出系統(tǒng)n);printf( 學生人數(shù)級 NUM 課程 數(shù)學0 語文1 英語2 政治3n);printf(*n);doprintf(nchoice1-7:); scanf(%d,&choice);while(choice7);return choice;void enter

32、(struct stu s,int n)char c;int i=0;int j;do printf(please enter the message:n);getchar(); printf(enter name:n); scanf(%s,); printf(enter num:n); scanf(%d,&si.num);printf(enter score:n); for(j=0;jM;j+)scanf(%d,&si.scorej);printf(按Y繼續(xù)錄入,按N結束錄入!);getchar();scanf(%c,&c);if(c!=Y&c!=y)break;+i;whil

33、e(i!=n);void save(struct stu s,int n)FILE *fp; int i; char save20; printf(enter the file name:); scanf(%s,save); /*輸入選擇項*/ if(fp=fopen(stu-list,wb)=NULL)printf(can not open filen); return; elsefor (i=0;in;i+) if(fwrite (&si,sizeof(struct stu),1,fp)!=1); printf(file write errorn); fclose(fp); printf(

34、successn);void print (struct stu s,int n)int i,j; for(i=0;in;i+) printf( 數(shù)學 語文 英語 政治n);printf(%s,); printf(%d,si.num); for(j=0;jM;j+) printf(%5d,si.scorej); printf(n);void sort(struct stu s,int n) /*排序*/int i,j,min,temp,k; printf(please choice subject 1-4:n); scanf(%d,&k); for(i=0;in-1;i+)min

35、=i; for(j=i+1;jsj.scorek)temp=smin.scorek; smin.scorek=sj.scorek; sj.scorek=temp; printf(n The sorted numbers:n); for(i=0;in;i+) printf(%5d,si.scorek); printf(n);void count(struct stu s,int n)void show1(struct stu a,int n1);void show2(struct stu a,int n1);int menu1();for( ; ;) switch(menu1() case 1:

36、show1(s,n);break; case 2:show2(s,n);break; case 3:return;int menu1()int choice1;printf(n*n);printf(1:顯示每科成績最高的學生信息n);printf(2:顯示每科平均成績n);printf(3:退出n);printf(*n);do printf(n Enter tou choice1 (1-3):);scanf(%d,&choice1);while(choice13);return choice1;void show1(struct stu a,int n1)int k,i,j,c=0; printf(please enter the subject num:); scanf(%d,&k); for(i=0;in1;i+) if(ac.scorek

溫馨提示

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

評論

0/150

提交評論