大作業(yè)學生成績管理系統(tǒng)_第1頁
大作業(yè)學生成績管理系統(tǒng)_第2頁
大作業(yè)學生成績管理系統(tǒng)_第3頁
大作業(yè)學生成績管理系統(tǒng)_第4頁
大作業(yè)學生成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大作業(yè) 背景說明 : 為了能夠?qū)⒈菊n程所有章節(jié)的內(nèi)容融會貫通, 使得大家能夠綜合 應用各章所學內(nèi)容完成一個規(guī)模稍大的任務, 特別設計了此任務。 該 任務主要實現(xiàn)學生成績管理的功能。 通過該任務的實現(xiàn), 最終要求大 家能夠具備綜合應用該課程各章的知識實現(xiàn)一個完整的小系統(tǒng)的能 力。 任務名稱 :學生成績管理系統(tǒng) 任務功能 :該系統(tǒng)由多個模塊構(gòu)成,主要包括菜單顯示、學生信息批 量錄入、單個學生信息添加、學生成績信息顯示或輸出、學生信息修 改、學生記錄刪除、平均成績計算、學號或平均分排序等模塊。 假設每個學生的信息包括學號、姓名、語文、數(shù)學、英語和平均 成績。成績單的格式如下: 學號 姓名 語文成績

2、數(shù)學成績 英語成績 平均成績 20111001 sarah 80 90 90 系統(tǒng)計算 20111002 micheal 70 90 80 20111003 linda 90 85 80 20111004 lee 80 88 92 功能模塊圖 : 實現(xiàn)方法:為了方便實現(xiàn), 通常會將一個復雜的任務分解為多個子任 務逐步實現(xiàn) 任務 1:顯示“學生成績管理系統(tǒng)”的菜單。在 VC+6.0 集成開發(fā)環(huán)境下,編 程打印輸出如下圖的菜單。 任務 2:在任務 1 的基礎上,編寫程序?qū)崿F(xiàn)選擇菜單項的功能。即從鍵盤輸入 09 之間的一個字符,然后顯示輸入字符對應的信息。如輸入的字符是1 ,則顯 示:您選擇了“ 1

3、 創(chuàng)建成績單” ;如果輸入的字符不在 09 之間,則輸出: “非法輸入”。 任務 3:在任務 2的基礎上,編寫程序?qū)崿F(xiàn)循環(huán)點菜功能。即從鍵盤輸入 09 之 間的一個字符,然后顯示輸入字符對應的信息。如輸入的字符是 1,則顯示:您 選擇了“ 1創(chuàng)建成績單” ;如果輸入的字符不在 09 之間,則輸出“非法輸 入”。以上過程可以循環(huán)往復地執(zhí)行,直到輸入字符0,則顯示:您選擇了“ 0 退出”,然后按任意鍵結(jié)束整個程序的執(zhí)行。 任務 4:在任務 3 的基礎上,編寫程序?qū)崿F(xiàn)成績管理的各菜單項的具體功能, 包括創(chuàng)建成績單(批量錄入學生數(shù)據(jù))和計算平均成績、添加單個學生信息、刪 除某學生信息、編輯學生信息、統(tǒng)

4、計優(yōu)秀成績的個數(shù)、 基于學號或平均成績排序、 顯示學生信息等功能。假設每個學生的信息包括學號、姓名、數(shù)學、語文、英語 和平均成績。 重點考慮: 1)學生全部數(shù)據(jù)的定義和組織:多個基本類型數(shù)組? 1 個結(jié)構(gòu)體數(shù)組? 2)各模塊的實現(xiàn)順序:先實現(xiàn)創(chuàng)建成績單,即成績單錄入模塊,然后實現(xiàn)顯示 成績模塊,然后實現(xiàn)其他模塊。 3)無論實現(xiàn)那個模塊, 當前表中的實際人數(shù)和表容納的最大人數(shù)都是需要注意 的重要對象。 4) 創(chuàng)建成績單 創(chuàng)建成績單:實現(xiàn)成績錄入,成績輸入過程如下圖: 基本思路 : 如果成績單存在則不可二次創(chuàng)建,即當前表中人數(shù) 0 時,不可創(chuàng)建; 否則(表中無人)可創(chuàng)建成績單,即可批量錄入學生信息

5、。每個人的平 均成績在錄入后,系統(tǒng)直接計算。 錄入時需要注意兩點 : a、結(jié)束標記,比如可以設計學號為 0 時,錄入結(jié)束; b、 成績表中實際人數(shù)達到最大值,也要結(jié)束錄入。 4)顯示成績 如果表中無人,提示用戶無成績存在,否則輸出全部信息。當前表中的實際 人數(shù)依然是關(guān)鍵。 5) 添加學生 先判斷表中人數(shù), 如果表中人數(shù)達到最大值, 則提示用戶不可添加學生信息, 否則方可添加學生信息。添加學生后,注意更新表中現(xiàn)有學生人數(shù)。 6) 編輯學生信息 以學號為修改的關(guān)鍵字。要求用戶輸入要修改學生的學號,然后查找該學生 信息,如果表中無該學號, 提示用戶無此人, 否則允許用戶輸入新的信息來覆蓋 舊的信息

6、7)刪除學生信息 以學號為刪除的關(guān)鍵字。要求用戶輸入要刪除學生的學號,然后查找該學生 信息,如果表中無該學號,提示用戶無此人;否則刪除該學生信息,并提示用戶 已刪除。 8)統(tǒng)計成績 統(tǒng)計每科成績?yōu)閮?yōu)秀(大于等于 90 分)的學生人數(shù),并輸出結(jié)果。依然需 要判斷表中是否有人,如果無人提示用戶,否則統(tǒng)計并輸出結(jié)果。 9 ) 排序成績單 最好提供如下圖所示的子菜單,否則就只能實現(xiàn)一種排序。 a、 成績表中少于 2 人(實際人數(shù) 2)不應做排序 b、 排序后不要直接輸出,提示用戶使用菜單項 “ 7顯示成績 ”輸出排序結(jié) 果。盡可能代碼重用,不要重復編寫功能一樣的代碼。 任務 5:在任務 4 的基礎上,

7、追加從文件讀入數(shù)據(jù)和將數(shù)據(jù)寫入文件的功能。 菜單截圖如下: 其中菜單項 8“從文件讀入” ,用于從文件中讀入學生成績信息;相反的,菜單項9“輸 出到文件”,用于將從鍵盤上輸入的學生數(shù)據(jù)保存在磁盤文件中。 磁盤文件的好處是可永久保存數(shù)據(jù)。 將學生數(shù)據(jù)保存在磁盤文件中, 可以讓數(shù)據(jù)獨立于 程序而存在。此外,從文件可以讀入學生數(shù)據(jù)進行管理,以減少反復輸入的麻煩。 注意: a、 無論讀寫,文件打開時,應該測試文件是否能正常打開,如果錯誤給出出錯提示。 b、 文件的格式,建議為文本文件,即 ASCII 文件,這樣可以用記事本打開查看結(jié)果, 文件內(nèi)容如下圖所示: #include #define N 10

8、 main() int button,button2,i,max=0,change,del,num3=0,0,0; struct stu int no; char name20; int math; int chi; int eng; stuN; printf(|n); printf(| |n); printf(| 學生成績管理系統(tǒng) |n); printf(|n); printf(|n); printf(|n); printf(|1 創(chuàng)建成績單|n); printf(|2 添加學生|n); printf(|3 編輯學生|n); printf(|4 刪除學生|n); printf(|5 統(tǒng)計成績

9、|n); printf(|6 排序成績單|n); printf(|7 顯示成績|n); printf(|8 從文件讀入|n); printf(|9 輸出到文件|n); printf(|0 退出|n); printf(|n); printf(請輸入編號( 0 9):); scanf(%d, if(button=9|button=N) printf( 已經(jīng)超出最大值,不能創(chuàng)建 ); /break; printf(輸入學號為 0 時退出。 ); for(i=0;stui.no!=0i+) printf(學號:); scanf(%d, printf(姓名:); scanf(%s,);

10、 printf(數(shù)學 :); scanf(%d, printf(語文:); scanf(%d, printf(英語 :); scanf(%d, printf( 錄入結(jié)束 ); if(button=2) printf(輸入學號為 0時退出。 ); for(i=max;stui.no!=0 scanf(%s,); printf( 數(shù)學 :); scanf(%d, printf( 語文:); scanf(%d, printf( 英語 :); scanf(%d, else 10 printf(查無此人 ); if(button=4) printf( 請輸入將要刪除學生的學號: ); scanf(%d, if(del=0 studel.math=0; studel.chi=0; studel.eng=0; printf( 該學生已刪除 ); else printf(查無此人 ); if(button=5) if(max!=0) for(i=0;i=90 if(stui.chi=90 if(stui.eng=90 11 printf( 數(shù)學優(yōu)秀學生數(shù): %dn 語文優(yōu)秀學生數(shù): %dn 英語優(yōu) 秀學生數(shù): %dn,num0,num1,num2); if(button=6) pr

溫馨提示

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

評論

0/150

提交評論