


版權(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ī)數(shù)學(xué)成績(jī)英語(yǔ)成績(jī)平均
2、成績(jī)20111001sarah809090系統(tǒng)計(jì)算20111002micheal70908020111003linda90858020111004lee808892功能模塊圖 :實(shí)現(xiàn)方法:為了方便實(shí)現(xiàn), 通常會(huì)將一個(gè)復(fù)雜的任務(wù)分解為多個(gè)子任務(wù)逐步實(shí)現(xiàn)任務(wù) 1:顯示“學(xué)生成績(jī)管理系統(tǒng)”的菜單。在 VC+6.0 集成開發(fā)環(huán)境下,編 程打印輸出如下圖的菜單。任務(wù) 2:在任務(wù) 1 的基礎(chǔ)上,編寫程序?qū)崿F(xiàn)選擇菜單項(xiàng)的功能。即從鍵盤輸入09 之間的一個(gè)字符,然后顯示輸入字符對(duì)應(yīng)的信息。如輸入的字符是1 ,則顯示:您選擇了“ 1 創(chuàng)建成績(jī)單” ;如果輸入的字符不在 09 之間,則輸出: “非法輸入”。任務(wù)
3、3:在任務(wù) 2的基礎(chǔ)上,編寫程序?qū)崿F(xiàn)循環(huán)點(diǎ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ǔ)上,編寫程序?qū)崿F(xiàn)成績(jī)管理的各菜單項(xiàng)的具體功能, 包括創(chuàng)建成績(jī)單(批量錄入學(xué)生數(shù)據(jù))和計(jì)算平均成績(jī)、添加單個(gè)學(xué)生信息、刪 除某學(xué)生信息、編輯學(xué)生信息、統(tǒng)計(jì)優(yōu)秀成績(jī)的個(gè)數(shù)、 基于學(xué)號(hào)或平均成績(jī)排序、 顯示學(xué)生信息等功能。假設(shè)每個(gè)學(xué)生的信息包括
4、學(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é)生信息。每個(gè)人的平 均成績(jī)?cè)阡浫牒?,系統(tǒng)直接計(jì)算。錄入時(shí)需要注意兩點(diǎn) : a、結(jié)束標(biāo)記,比如可以設(shè)計(jì)學(xué)號(hào)
5、為 0 時(shí),錄入結(jié)束; b、 成績(jī)表中實(shí)際人數(shù)達(dá)到最大值,也要結(jié)束錄入。4)顯示成績(jī)?nèi)绻碇袩o(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)覆蓋 舊的信息7)刪除學(xué)生信息 以學(xué)號(hào)為刪除的關(guān)鍵字。要求用戶輸入要?jiǎng)h除學(xué)生的學(xué)號(hào),然后查找該學(xué)生 信息,如果表中無(wú)該學(xué)號(hào),提
6、示用戶無(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ù)編寫功能一樣的代碼。任務(wù) 5:在任務(wù) 4 的基礎(chǔ)上,追加從文件讀入數(shù)據(jù)和將數(shù)據(jù)寫入文件的功能。 菜單截圖如下:其中菜單項(xiàng) 8“從文件讀入” ,用于從文件中讀入學(xué)生成績(jī)
7、信息;相反的,菜單項(xiàng)9“輸出到文件”,用于將從鍵盤上輸入的學(xué)生數(shù)據(jù)保存在磁盤文件中。磁盤文件的好處是可永久保存數(shù)據(jù)。 將學(xué)生數(shù)據(jù)保存在磁盤文件中, 可以讓數(shù)據(jù)獨(dú)立于程序而存在。此外,從文件可以讀入學(xué)生數(shù)據(jù)進(jìn)行管理,以減少反復(fù)輸入的麻煩。注意:a、 無(wú)論讀寫,文件打開時(shí),應(yīng)該測(cè)試文件是否能正常打開,如果錯(cuò)誤給出出錯(cuò)提示。b、 文件的格式,建議為文本文件,即 ASCII 文件,這樣可以用記事本打開查看結(jié)果, 文件內(nèi)容如下圖所示:#include<stdio.h>#define N 10 main() int button,button2,i,max=0,change,del,num3=
8、0,0,0; struct stuint 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é)生
9、|n");printf("|4 刪除學(xué)生|n");printf("|5 統(tǒng)計(jì)成績(jī)|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",&a
10、mp;button); if(button>=9|button<=0)printf("非法輸入 !n");if(button=1)printf(" 您選擇了 1創(chuàng)建成績(jī)單: %dn",button);if(max>=N)printf(" 已經(jīng)超出最大值,不能創(chuàng)建 ");/break;printf("輸入學(xué)號(hào)為 0 時(shí)退出。 ");for(i=0;stui.no!=0&&i<=N;i+)printf("學(xué)號(hào):");scanf("%d",&
11、amp;stui.no);printf("姓名:");scanf("%s",);printf("數(shù)學(xué) :");scanf("%d",&stui.math);printf("語(yǔ)文:");scanf("%d",&stui.chi);printf("英語(yǔ) :");scanf("%d",&stui.eng);printf(" 錄入結(jié)束 ");if(button=2)printf(&q
12、uot;輸入學(xué)號(hào)為 0時(shí)退出。 ");for(i=max;stui.no!=0&&i<=N;i+)printf("學(xué)號(hào):"); scanf("%d",&stui.no);printf("姓名:"); scanf("%s",);printf("數(shù)學(xué) :"); scanf("%d",&stui.math); printf("語(yǔ)文:"); scanf("%d",&stu
13、i.chi);printf("英語(yǔ) :"); scanf("%d",&stui.eng); printf("添加結(jié)束 ");if(button=3)printf(" 請(qǐng)輸入將要編輯學(xué)生的學(xué)號(hào): "); scanf("%d",&change);if(change>=0&&change<=max)printf(" 姓名:"); scanf("%s",); printf(" 數(shù)學(xué)
14、:"); scanf("%d",&stuchange.math); printf(" 語(yǔ)文:"); scanf("%d",&stuchange.chi); printf(" 英語(yǔ) :"); scanf("%d",&stuchange.eng);else10printf("查無(wú)此人 ");if(button=4)printf(" 請(qǐng)輸入將要?jiǎng)h除學(xué)生的學(xué)號(hào): "); scanf("%d",&del)
15、;if(del<=max&&del>=0&&del!=0)studel.no=0;studel.math=0;studel.chi=0;studel.eng=0;printf(" 該學(xué)生已刪除 ");elseprintf("查無(wú)此人 ");if(button=5)if(max!=0)for(i=0;i<=max;i+)if(stui.math>=90&&stui.no!=0) num0+;if(stui.chi>=90&&stui.no!=0) num1+;if(stui.eng>=90&&stui.no!=0)num2+;11printf(" 數(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)printf("|");printf("| |"); printf(
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深信服aES產(chǎn)品技術(shù)白皮書-V1.5
- 3.3汽化和液化 說(shuō)課稿2025年初中人教版物理八年級(jí)上冊(cè)
- 我奮斗我幸福心得體會(huì)
- 積極心理學(xué)理論下護(hù)理在細(xì)菌性陰道炎患者中的應(yīng)用
- 《會(huì)計(jì)信息系統(tǒng)應(yīng)用》課件 學(xué)習(xí)情境5 薪資管理系統(tǒng)應(yīng)用
- 餐廚垃圾收運(yùn)合作協(xié)議書
- 二零二五圖書倉(cāng)儲(chǔ)與倉(cāng)儲(chǔ)物流信息化合同樣本
- 二零二五年度辦公大樓自來(lái)水供應(yīng)與智能抄表服務(wù)合同
- 健康飲食規(guī)劃實(shí)踐指南
- 三農(nóng)村資源利用優(yōu)化方案設(shè)計(jì)
- 六年級(jí)語(yǔ)文下冊(cè)10.古詩(shī)三首《竹石》課件
- FZ/T 07025-2022針織行業(yè)綠色工廠評(píng)價(jià)要求
- 反洗錢:非自然人客戶信息登記表
- 人教鄂教版小學(xué)科學(xué)三年級(jí)下冊(cè)全冊(cè)教案教學(xué)設(shè)計(jì)
- 雙減作業(yè):小學(xué)語(yǔ)文四年級(jí)下冊(cè)第二單元書面作業(yè)設(shè)計(jì)
- 水利網(wǎng)絡(luò)與信息安全體系建設(shè)基本技術(shù)要求
- 大健康馬術(shù)俱樂部項(xiàng)目運(yùn)營(yíng)方案
- 藥品2023年江蘇職教高考文化綜合理論試卷
- 基于單片機(jī)的智能感應(yīng)監(jiān)控系統(tǒng)的設(shè)計(jì)
- 學(xué)校勞動(dòng)教育安全應(yīng)急預(yù)案
- 應(yīng)急救援協(xié)會(huì)成立籌備申請(qǐng)書
評(píng)論
0/150
提交評(píng)論