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