版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C語(yǔ)言程序設(shè)計(jì)</b></p><p><b> 課程設(shè)計(jì)材料</b></p><p> 學(xué)生姓名: 學(xué) 號(hào): </p><p> 系 (院): </p><p> 專 業(yè):
2、 </p><p> 設(shè)計(jì)(論文)題目: </p><p> 完成日期: </p><p> 指導(dǎo)教師: </p><p><b> 目錄</b></
3、p><p> 課程設(shè)計(jì)目的……………………………………………………2</p><p> 課程設(shè)計(jì)內(nèi)容……………………………………………………2</p><p> 總體設(shè)計(jì)…………………………………………………………2</p><p> 詳細(xì)設(shè)計(jì)…………………………………………………………3</p><p> 運(yùn)行
4、結(jié)果…………………………………………………………6</p><p> 編程體會(huì)…………………………………………………………8</p><p><b> 一、課程設(shè)計(jì)目的</b></p><p> 1. 在《C語(yǔ)言程序設(shè)計(jì)》課程學(xué)習(xí)和課程實(shí)驗(yàn)的基礎(chǔ)上,加上老師的課外輔導(dǎo)與幫助,利用Visual C++6.0 MFC編程,實(shí)現(xiàn)一個(gè)存在界面的可
5、視程序;</p><p> 2.通過(guò)一定代碼量的實(shí)際編程,鞏固和加深對(duì)C語(yǔ)言課程的基本知識(shí)的理解和掌握,掌握C語(yǔ)言編程和程序調(diào)試的基本技能;</p><p> 3.檢驗(yàn)《C語(yǔ)言程序設(shè)計(jì)》課程的學(xué)習(xí)效果,及時(shí)了解自身情況;</p><p> 4. 通過(guò)課程設(shè)計(jì),培養(yǎng)對(duì)編寫(xiě)程序的興趣,為后續(xù)專業(yè)課程的學(xué)習(xí)奠定程序設(shè)計(jì)基礎(chǔ)。</p><p>
6、<b> 二、課程設(shè)計(jì)內(nèi)容</b></p><p> 設(shè)計(jì)一個(gè)程序,得到一個(gè)可管理學(xué)生成績(jī)的系統(tǒng),通過(guò)功能選項(xiàng)的選擇可建立信息文件保存學(xué)生信息,并通過(guò)計(jì)算機(jī)的幫助對(duì)學(xué)生信息做刪除、添加、修改等相關(guān)操作。具體功能實(shí)現(xiàn)如下:</p><p> 信息錄入:實(shí)現(xiàn)學(xué)生成績(jī)信息的錄入功能,可按班級(jí)分類將學(xué)生成績(jī)信息保存在不同的文件夾中;</p><p&g
7、t; 編輯功能:實(shí)現(xiàn)對(duì)學(xué)生成績(jī)信息的添加與刪除,并對(duì)指定學(xué)生的成績(jī)信息進(jìn)行修改;</p><p> 信息瀏覽功能:通過(guò)選項(xiàng)選擇讀入的文件對(duì)指定的班級(jí)的學(xué)生的成績(jī)信息進(jìn)行瀏覽;</p><p> 查詢功能:實(shí)現(xiàn)按學(xué)員學(xué)號(hào)查詢學(xué)生成績(jī)信息的功能;</p><p> 系統(tǒng)以菜單方式工作,界面清晰,易于操作。</p><p><b>
8、; 三、總體設(shè)計(jì)</b></p><p> 本系統(tǒng)的功能模塊如圖所示,主要有以下模塊:</p><p> 1. 主菜單界面:構(gòu)造函數(shù)void main(),實(shí)現(xiàn)歡迎使用學(xué)生成績(jī)管理系統(tǒng)的顯示,及菜單的顯示;</p><p> 學(xué)生信息錄入:構(gòu)造函數(shù)void input(),實(shí)現(xiàn)學(xué)生成績(jī)信息的錄入;</p><p> 顯示
9、學(xué)員信息:構(gòu)造函數(shù) void display(),實(shí)現(xiàn)學(xué)生成績(jī)信息的顯示,同時(shí)通過(guò)調(diào)用函數(shù)void average(),void sort(),實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的排名;</p><p> 添加學(xué)員信息:構(gòu)造函數(shù)void insert(),實(shí)現(xiàn)對(duì)學(xué)生成績(jī)信息的的添加;</p><p> 刪除學(xué)員信息:構(gòu)造函數(shù) void del(),實(shí)現(xiàn)對(duì)學(xué)生成績(jī)信息的刪除;</p><
10、p> 修改學(xué)員信息:構(gòu)造函數(shù) void modify(),實(shí)現(xiàn)對(duì)學(xué)生成績(jī)信息的修改;</p><p> 查詢學(xué)員信息:構(gòu)造函數(shù) void find(),實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的查詢;</p><p> 學(xué)員信息瀏覽: 打開(kāi)保存的文件,通過(guò)調(diào)用函數(shù) void display(),實(shí)現(xiàn)對(duì)學(xué)生成績(jī)信息的瀏覽。</p><p> 圖1 系統(tǒng)功能模塊圖</p>
11、;<p><b> 四、詳細(xì)設(shè)計(jì)</b></p><p><b> ?。ㄒ唬?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p> 本程序用到的數(shù)據(jù)結(jié)構(gòu)主要有:結(jié)構(gòu)體,文件等,程序最開(kāi)始聲明了struct student的結(jié)構(gòu)體,結(jié)構(gòu)體的定義如下:</p><p> struct student</p>
12、<p><b> {int no;</b></p><p><b> int pm;</b></p><p> char name[20];</p><p> char sex[4];</p><p> float score1;</p><p> fl
13、oat score2;</p><p> float score3;</p><p> float sort;</p><p> float ave;</p><p> float sum;</p><p><b> }</b></p><p><b>
14、 ?。ǘ┠K接口設(shè)計(jì)</b></p><p> 1. 所有函數(shù)的聲明如下:</p><p> void input();//原始數(shù)據(jù)錄入</p><p> void sort();//數(shù)據(jù)排序函數(shù)</p><p> void display();//信息瀏覽函數(shù)</p><p> void in
15、sert();//信息插入函數(shù)</p><p> void del();//數(shù)據(jù)刪除函數(shù)</p><p> void average();//求平均分函數(shù)</p><p> void find();//信息查詢函數(shù)</p><p> void save();//文件信息保存函數(shù)</p><p> void r
16、ead();//文件信息讀入函數(shù)</p><p> void del_file();//文件刪除函數(shù)</p><p> void modify();//信息修改函數(shù)</p><p> 2. 定義了一個(gè)全局變量:</p><p> int now_no=0;</p><p> 3. 主要模塊的實(shí)現(xiàn):</p
17、><p> 系統(tǒng)以主函數(shù)void main( )為入口,直接進(jìn)入主菜單。系統(tǒng)接收用戶輸入的選擇,調(diào)用相應(yīng)的函數(shù),進(jìn)入下一級(jí)菜單進(jìn)行相關(guān)工作。</p><p> 以下是幾個(gè)主要模塊的流程圖:</p><p><b> ?。?)主菜單函數(shù):</b></p><p><b> 圖2主函數(shù)流程圖</b>&
18、lt;/p><p><b> ?。?)信息瀏覽函數(shù)</b></p><p> 圖3 信息瀏覽流程圖</p><p> (3)信息修改函數(shù):</p><p> 圖4 信息修改流程圖</p><p> ?。?)信息錄入函數(shù):</p><p><b> 圖5信息錄入
19、流程圖</b></p><p><b> 五、運(yùn)行結(jié)果</b></p><p><b> 主菜單界面:</b></p><p><b> 圖6 主菜單界面</b></p><p> 輸入功能選項(xiàng),系統(tǒng)自動(dòng)進(jìn)入相應(yīng)的功能界面</p><p&
20、gt;<b> 信息錄入界面:</b></p><p> 圖7(a)信息錄入界面</p><p> 圖7(b)信息錄入界面</p><p> 圖7(c)信息錄入界面</p><p> 圖7(d)信息錄入界面</p><p> 語(yǔ)文、數(shù)學(xué)成績(jī)的輸入界面與圖7(d)一樣,程序設(shè)計(jì)分?jǐn)?shù)在0—
21、150之間信息輸入正確</p><p><b> 信息瀏覽界面:</b></p><p><b> 圖8信息瀏覽界面</b></p><p><b> 信息修改界面:</b></p><p><b> 圖9信息修改界面</b></p>
22、<p> 信息查詢界面與信息錄入界面相類似</p><p><b> 六、編程體會(huì)</b></p><p> 這次可真的被C課程設(shè)計(jì)給折騰死了,前前后后持續(xù)了將近要一個(gè)學(xué)期了。都說(shuō)“經(jīng)歷風(fēng)雨才能見(jiàn)彩虹”,真正意義上完成這次課程設(shè)計(jì)的算是體會(huì)到其中的內(nèi)涵了。接下來(lái)我要來(lái)談?wù)勎业木幊腆w會(huì)。</p><p> 雖然對(duì)編程沒(méi)有
23、什么概念,也不是很了解,但是我還是給這門課程給予了高度的重視,在程序的準(zhǔn)備、提交、修改這三個(gè)過(guò)程我都是盡100分的努力在做。這是我對(duì)網(wǎng)上的一個(gè)程序的修改。從網(wǎng)上搜索來(lái)的源代碼雖然說(shuō)是沒(méi)有任何嚴(yán)重的大問(wèn)題,在VC6.0的環(huán)境中能夠準(zhǔn)確運(yùn)行,只是經(jīng)不起任何的推敲。而我對(duì)整個(gè)程序的改變可以用這樣一句話來(lái)概括:使一個(gè)瘦骨嶙峋的老頭改造成了一個(gè)健壯的青年。</p><p> 首先,我將程序中的信息錄入的功能進(jìn)行了完善。原
24、程序中,關(guān)于信息的輸入方面,只要是輸進(jìn)去的信息他都全盤接受,像是學(xué)生學(xué)號(hào)就算是100位都沒(méi)關(guān)系,而成績(jī)輸入負(fù)數(shù)或是一個(gè)不可能的數(shù)字也是沒(méi)有任何提示的。在意識(shí)到這個(gè)問(wèn)題后,運(yùn)用已學(xué)的知識(shí)以及查閱書(shū)籍,我對(duì)其中的一些條件進(jìn)行了控制,例如:提醒學(xué)號(hào)的長(zhǎng)度,對(duì)于不合法的學(xué)號(hào)輸入進(jìn)行提醒并重新輸入;成績(jī)的分?jǐn)?shù)控制在正常的范圍內(nèi)。信息查詢功能的輸入也被類似的修改了。因?yàn)槟芰?wèn)題,有些還是不是很完善,缺少對(duì)姓名長(zhǎng)度的控制和輸入錯(cuò)誤性別的提醒。整個(gè)控制
25、的程序是自己獨(dú)立完成的,這雖然沒(méi)什么可驕傲的,但是還是有點(diǎn)高興。</p><p> 其次要說(shuō)到的是程序修改這一塊功能。原程序關(guān)于修改部分沒(méi)有選擇修改內(nèi)容這一功能,對(duì)于用戶來(lái)說(shuō),有選擇性的修改才是最理想的,當(dāng)單個(gè)人的信息很多,而只需修改其中一項(xiàng)是,原程序是極其的不符合用戶的要求的。因此針對(duì)這個(gè)問(wèn)題,我將它改為了可選擇的程序模塊。模仿主函數(shù)中對(duì)switch語(yǔ)句的運(yùn)用,將修改部分改為選擇不同信息修改這樣一個(gè)功能模塊。
26、沒(méi)有調(diào)用子函數(shù),所以程序看上去有些累贅,不美觀,想嘗試其他的辦法,只是沒(méi)有成功。以前對(duì)switch語(yǔ)句只是停留在書(shū)本的概念上,而這次能將其真正的,并且正確的運(yùn)用在程序中,我感到無(wú)比的開(kāi)心。</p><p> 最后要講到我對(duì)程序排序這一功能的增加以及對(duì)源程序一些細(xì)節(jié)方面的處理。站在客戶的角度,我覺(jué)得他們?cè)谔幚硪环莩煽?jī)報(bào)告,最希望看到的應(yīng)該是成績(jī)的排名,所以理所當(dāng)然的我想到了增加排序這一功能。在定義struct s
27、tudent 這一結(jié)構(gòu)體時(shí)增加了float pm這樣一個(gè)變量。這樣只需要增加一個(gè)排序的子函數(shù),另一方面,在瀏覽信息時(shí)對(duì)排名一目了然,減少了用戶其它不必要的操作。原程序?qū)σ恍┘?xì)節(jié)方面處理的很不到位,例如:運(yùn)行查詢這一操作時(shí),找到信息時(shí)顯示,而無(wú)此學(xué)生信息卻是顯示按任意鍵返回,沒(méi)有任何提醒的話語(yǔ),這會(huì)讓用戶感到不快。而修改或是刪除信息等功能遇到這類問(wèn)題也都沒(méi)有解決。針對(duì)這方面,我也做了很多改善,盡量站在用戶的立場(chǎng)進(jìn)行了修改。</p&g
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)c++課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)--c語(yǔ)言課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論