![大作業(yè)學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/3/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a1.gif)
![大作業(yè)學(xué)生成績(jī)管理系統(tǒng)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/3/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a2.gif)
![大作業(yè)學(xué)生成績(jī)管理系統(tǒng)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/3/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a3.gif)
![大作業(yè)學(xué)生成績(jī)管理系統(tǒng)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/3/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a4.gif)
![大作業(yè)學(xué)生成績(jī)管理系統(tǒng)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/3/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a/39f6ece8-dfb5-4d9a-b83f-9b398c6e475a5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大作業(yè) 背景說(shuō)明 : 為了能夠?qū)⒈菊n程所有章節(jié)的內(nèi)容融會(huì)貫通, 使得大家能夠綜合 應(yīng)用各章所學(xué)內(nèi)容完成一個(gè)規(guī)模稍大的任務(wù), 特別設(shè)計(jì)了此任務(wù)。 該 任務(wù)主要實(shí)現(xiàn)學(xué)生成績(jī)管理的功能。 通過(guò)該任務(wù)的實(shí)現(xiàn), 最終要求大 家能夠具備綜合應(yīng)用該課程各章的知識(shí)實(shí)現(xiàn)一個(gè)完整的小系統(tǒng)的能 力。 任務(wù)名稱 :學(xué)生成績(jī)管理系統(tǒng) 任務(wù)功能 :該系統(tǒng)由多個(gè)模塊構(gòu)成,主要包括菜單顯示、學(xué)生信息批 量錄入、單個(gè)學(xué)生信息添加、學(xué)生成績(jī)信息顯示或輸出、學(xué)生信息修 改、學(xué)生記錄刪除、平均成績(jī)計(jì)算、學(xué)號(hào)或平均分排序等模塊。 假設(shè)每個(gè)學(xué)生的信息包括學(xué)號(hào)、姓名、語(yǔ)文、數(shù)學(xué)、英語(yǔ)和平均 成績(jī)。成績(jī)單的格式如下: 學(xué)號(hào) 姓名 語(yǔ)文成績(jī)
2、數(shù)學(xué)成績(jī) 英語(yǔ)成績(jī) 平均成績(jī) 20111001 sarah 80 90 90 系統(tǒng)計(jì)算 20111002 micheal 70 90 80 20111003 linda 90 85 80 20111004 lee 80 88 92 功能模塊圖 : 實(shí)現(xiàn)方法:為了方便實(shí)現(xiàn), 通常會(huì)將一個(gè)復(fù)雜的任務(wù)分解為多個(gè)子任 務(wù)逐步實(shí)現(xiàn) 任務(wù) 1:顯示“學(xué)生成績(jī)管理系統(tǒng)”的菜單。在 VC+6.0 集成開(kāi)發(fā)環(huán)境下,編 程打印輸出如下圖的菜單。 任務(wù) 2:在任務(wù) 1 的基礎(chǔ)上,編寫(xiě)程序?qū)崿F(xiàn)選擇菜單項(xiàng)的功能。即從鍵盤(pán)輸入 09 之間的一個(gè)字符,然后顯示輸入字符對(duì)應(yīng)的信息。如輸入的字符是1 ,則顯 示:您選擇了“ 1
3、 創(chuàng)建成績(jī)單” ;如果輸入的字符不在 09 之間,則輸出: “非法輸入”。 任務(wù) 3:在任務(wù) 2的基礎(chǔ)上,編寫(xiě)程序?qū)崿F(xiàn)循環(huán)點(diǎn)菜功能。即從鍵盤(pán)輸入 09 之 間的一個(gè)字符,然后顯示輸入字符對(duì)應(yīng)的信息。如輸入的字符是 1,則顯示:您 選擇了“ 1創(chuàng)建成績(jī)單” ;如果輸入的字符不在 09 之間,則輸出“非法輸 入”。以上過(guò)程可以循環(huán)往復(fù)地執(zhí)行,直到輸入字符0,則顯示:您選擇了“ 0 退出”,然后按任意鍵結(jié)束整個(gè)程序的執(zhí)行。 任務(wù) 4:在任務(wù) 3 的基礎(chǔ)上,編寫(xiě)程序?qū)崿F(xiàn)成績(jī)管理的各菜單項(xiàng)的具體功能, 包括創(chuàng)建成績(jī)單(批量錄入學(xué)生數(shù)據(jù))和計(jì)算平均成績(jī)、添加單個(gè)學(xué)生信息、刪 除某學(xué)生信息、編輯學(xué)生信息、統(tǒng)
4、計(jì)優(yōu)秀成績(jī)的個(gè)數(shù)、 基于學(xué)號(hào)或平均成績(jī)排序、 顯示學(xué)生信息等功能。假設(shè)每個(gè)學(xué)生的信息包括學(xué)號(hào)、姓名、數(shù)學(xué)、語(yǔ)文、英語(yǔ) 和平均成績(jī)。 重點(diǎn)考慮: 1)學(xué)生全部數(shù)據(jù)的定義和組織:多個(gè)基本類型數(shù)組? 1 個(gè)結(jié)構(gòu)體數(shù)組? 2)各模塊的實(shí)現(xiàn)順序:先實(shí)現(xiàn)創(chuàng)建成績(jī)單,即成績(jī)單錄入模塊,然后實(shí)現(xiàn)顯示 成績(jī)模塊,然后實(shí)現(xiàn)其他模塊。 3)無(wú)論實(shí)現(xiàn)那個(gè)模塊, 當(dāng)前表中的實(shí)際人數(shù)和表容納的最大人數(shù)都是需要注意 的重要對(duì)象。 4) 創(chuàng)建成績(jī)單 創(chuàng)建成績(jī)單:實(shí)現(xiàn)成績(jī)錄入,成績(jī)輸入過(guò)程如下圖: 基本思路 : 如果成績(jī)單存在則不可二次創(chuàng)建,即當(dāng)前表中人數(shù) 0 時(shí),不可創(chuàng)建; 否則(表中無(wú)人)可創(chuàng)建成績(jī)單,即可批量錄入學(xué)生信息
5、。每個(gè)人的平 均成績(jī)?cè)阡浫牒?,系統(tǒng)直接計(jì)算。 錄入時(shí)需要注意兩點(diǎn) : a、結(jié)束標(biāo)記,比如可以設(shè)計(jì)學(xué)號(hào)為 0 時(shí),錄入結(jié)束; b、 成績(jī)表中實(shí)際人數(shù)達(dá)到最大值,也要結(jié)束錄入。 4)顯示成績(jī) 如果表中無(wú)人,提示用戶無(wú)成績(jī)存在,否則輸出全部信息。當(dāng)前表中的實(shí)際 人數(shù)依然是關(guān)鍵。 5) 添加學(xué)生 先判斷表中人數(shù), 如果表中人數(shù)達(dá)到最大值, 則提示用戶不可添加學(xué)生信息, 否則方可添加學(xué)生信息。添加學(xué)生后,注意更新表中現(xiàn)有學(xué)生人數(shù)。 6) 編輯學(xué)生信息 以學(xué)號(hào)為修改的關(guān)鍵字。要求用戶輸入要修改學(xué)生的學(xué)號(hào),然后查找該學(xué)生 信息,如果表中無(wú)該學(xué)號(hào), 提示用戶無(wú)此人, 否則允許用戶輸入新的信息來(lái)覆蓋 舊的信息
6、7)刪除學(xué)生信息 以學(xué)號(hào)為刪除的關(guān)鍵字。要求用戶輸入要?jiǎng)h除學(xué)生的學(xué)號(hào),然后查找該學(xué)生 信息,如果表中無(wú)該學(xué)號(hào),提示用戶無(wú)此人;否則刪除該學(xué)生信息,并提示用戶 已刪除。 8)統(tǒng)計(jì)成績(jī) 統(tǒng)計(jì)每科成績(jī)?yōu)閮?yōu)秀(大于等于 90 分)的學(xué)生人數(shù),并輸出結(jié)果。依然需 要判斷表中是否有人,如果無(wú)人提示用戶,否則統(tǒng)計(jì)并輸出結(jié)果。 9 ) 排序成績(jī)單 最好提供如下圖所示的子菜單,否則就只能實(shí)現(xiàn)一種排序。 a、 成績(jī)表中少于 2 人(實(shí)際人數(shù) 2)不應(yīng)做排序 b、 排序后不要直接輸出,提示用戶使用菜單項(xiàng) “ 7顯示成績(jī) ”輸出排序結(jié) 果。盡可能代碼重用,不要重復(fù)編寫(xiě)功能一樣的代碼。 任務(wù) 5:在任務(wù) 4 的基礎(chǔ)上,
7、追加從文件讀入數(shù)據(jù)和將數(shù)據(jù)寫(xiě)入文件的功能。 菜單截圖如下: 其中菜單項(xiàng) 8“從文件讀入” ,用于從文件中讀入學(xué)生成績(jī)信息;相反的,菜單項(xiàng)9“輸 出到文件”,用于將從鍵盤(pán)上輸入的學(xué)生數(shù)據(jù)保存在磁盤(pán)文件中。 磁盤(pán)文件的好處是可永久保存數(shù)據(jù)。 將學(xué)生數(shù)據(jù)保存在磁盤(pán)文件中, 可以讓數(shù)據(jù)獨(dú)立于 程序而存在。此外,從文件可以讀入學(xué)生數(shù)據(jù)進(jìn)行管理,以減少反復(fù)輸入的麻煩。 注意: a、 無(wú)論讀寫(xiě),文件打開(kāi)時(shí),應(yīng)該測(cè)試文件是否能正常打開(kāi),如果錯(cuò)誤給出出錯(cuò)提示。 b、 文件的格式,建議為文本文件,即 ASCII 文件,這樣可以用記事本打開(kāi)查看結(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(| 學(xué)生成績(jī)管理系統(tǒng) |n); printf(|n); printf(|n); printf(|n); printf(|1 創(chuàng)建成績(jī)單|n); printf(|2 添加學(xué)生|n); printf(|3 編輯學(xué)生|n); printf(|4 刪除學(xué)生|n); printf(|5 統(tǒng)計(jì)成績(jī)
9、|n); printf(|6 排序成績(jī)單|n); printf(|7 顯示成績(jī)|n); printf(|8 從文件讀入|n); printf(|9 輸出到文件|n); printf(|0 退出|n); printf(|n); printf(請(qǐng)輸入編號(hào)( 0 9):); scanf(%d, if(button=9|button=N) printf( 已經(jīng)超出最大值,不能創(chuàng)建 ); /break; printf(輸入學(xué)號(hào)為 0 時(shí)退出。 ); for(i=0;stui.no!=0i+) printf(學(xué)號(hào):); scanf(%d, printf(姓名:); scanf(%s,);
10、 printf(數(shù)學(xué) :); scanf(%d, printf(語(yǔ)文:); scanf(%d, printf(英語(yǔ) :); scanf(%d, printf( 錄入結(jié)束 ); if(button=2) printf(輸入學(xué)號(hào)為 0時(shí)退出。 ); for(i=max;stui.no!=0 scanf(%s,); printf( 數(shù)學(xué) :); scanf(%d, printf( 語(yǔ)文:); scanf(%d, printf( 英語(yǔ) :); scanf(%d, else 10 printf(查無(wú)此人 ); if(button=4) printf( 請(qǐng)輸入將要?jiǎng)h除學(xué)生的學(xué)號(hào): ); scanf(%d, if(del=0 studel.math=0; studel.chi=0; studel.eng=0; printf( 該學(xué)生已刪除 ); else printf(查無(wú)此人 ); if(button=5) if(max!=0) for(i=0;i=90 if(stui.chi=90 if(stui.eng=90 11 printf( 數(shù)學(xué)優(yōu)秀學(xué)生數(shù): %dn 語(yǔ)文優(yōu)秀學(xué)生數(shù): %dn 英語(yǔ)優(yōu) 秀學(xué)生數(shù): %dn,num0,num1,num2); if(button=6) pr
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)技術(shù)在職教實(shí)訓(xùn)室的應(yīng)用前景
- 現(xiàn)代物流配送體系的智能化升級(jí)路徑
- 2024年學(xué)年八年級(jí)語(yǔ)文上冊(cè) 第一單元 愛(ài)在人間 第3課《蘆花蕩》說(shuō)課稿 滬教版五四制
- 2024年四年級(jí)英語(yǔ)下冊(cè) Unit 5 What will you do this weekend Lesson 25說(shuō)課稿 人教精通版(三起)
- Unit 1 Greetings(說(shuō)課稿)-2024-2025學(xué)年滬教版(五四制)(2024)英語(yǔ)一年級(jí)上冊(cè)
- 2023二年級(jí)數(shù)學(xué)下冊(cè) 7 萬(wàn)以內(nèi)數(shù)的認(rèn)識(shí)第2課時(shí) 1000以內(nèi)數(shù)的認(rèn)識(shí)(2)說(shuō)課稿 新人教版
- Unit 3 Food Let's Spell(說(shuō)課稿)-2024-2025學(xué)年人教新起點(diǎn)版英語(yǔ)三年級(jí)上冊(cè)
- 2024-2025學(xué)年高一地理《宇宙中的地球》說(shuō)課稿
- 2023六年級(jí)數(shù)學(xué)上冊(cè) 八 探索樂(lè)園單元概述和課時(shí)安排說(shuō)課稿 冀教版
- 2024-2025學(xué)年高中歷史 專題4 雅爾塔體制下的冷戰(zhàn)與和平 3 人類對(duì)和平的追求說(shuō)課稿(含解析)人民版選修3
- 《梅大高速茶陽(yáng)路段“5·1”塌方災(zāi)害調(diào)查評(píng)估報(bào)告》專題警示學(xué)習(xí)
- 2024年09月北京中信銀行北京分行社會(huì)招考(917)筆試歷年參考題庫(kù)附帶答案詳解
- 《大健康解讀》課件
- 2025年度交通運(yùn)輸規(guī)劃外聘專家咨詢協(xié)議3篇
- 專項(xiàng)債券培訓(xùn)課件
- 2024年公司領(lǐng)導(dǎo)在新年動(dòng)員會(huì)上的講話樣本(3篇)
- 2025年中國(guó)濕度傳感器行業(yè)深度分析、投資前景、趨勢(shì)預(yù)測(cè)報(bào)告(智研咨詢)
- 人教版道德與法治二年級(jí)下冊(cè)《第一單元 讓我試試看》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
- 甘肅省蘭州市蘭煉一中2025屆數(shù)學(xué)高一上期末統(tǒng)考試題含解析
- 聯(lián)合體三方協(xié)議合同模板
- 2024年3季度青島房地產(chǎn)市場(chǎng)季度簡(jiǎn)報(bào)
評(píng)論
0/150
提交評(píng)論