第一篇:vb程序設(shè)計(jì)課程設(shè)計(jì)題目
VB程序設(shè)計(jì)課程設(shè)計(jì)
一.題目:
1.記事本的設(shè)計(jì)與實(shí)現(xiàn) 2.學(xué)生成績管理系統(tǒng) 3.彈球游戲
4.圖書館管理系統(tǒng) 5.打字練習(xí)程序 6.超市銷售管理 7.小型測試系統(tǒng) 8.倉庫管理系統(tǒng) 9.猜數(shù)字游戲 10.工資管理系統(tǒng) 二.要求和說明:
1.自己獨(dú)立完成,最終提交課程設(shè)計(jì)報(bào)告和實(shí)驗(yàn)成果
2.對各個(gè)系統(tǒng)實(shí)現(xiàn)功能進(jìn)行分析并設(shè)計(jì)好系統(tǒng)界面,要求界面設(shè)計(jì)美觀方便
3.課程設(shè)計(jì)報(bào)告格式:封面、題目、時(shí)間地點(diǎn)、要求、內(nèi)容、詳細(xì)步驟和過程、總結(jié) 1)功能描述
對系統(tǒng)要實(shí)現(xiàn)的功能進(jìn)行確切的描述。
2)概要設(shè)計(jì)
根據(jù)功能分析,建立系統(tǒng)的體系結(jié)構(gòu),即將整個(gè)系統(tǒng)分解成若干子模塊,用框圖表示各功能模塊之間的接口關(guān)系
3)詳細(xì)設(shè)計(jì)
詳細(xì)說明各功能模塊的實(shí)現(xiàn)過程,所用到的算法、技巧等(附上代碼)。
4)效果及存在問題
說明系統(tǒng)的運(yùn)行效果(附上界面圖形)、存在哪些不足以及預(yù)期的解決辦法。
5)心得 :談?wù)勗谡n程設(shè)計(jì)過程中的心得體會。4.指定時(shí)間必須在實(shí)驗(yàn)機(jī)房上機(jī)
5.最終成績包括平時(shí)成績(30%)和最終考核成績(70%)
6.實(shí)驗(yàn)設(shè)計(jì)內(nèi)容必須以老師指定的題目為準(zhǔn),老師指定的題目為最終檢查的依據(jù) 三.內(nèi)容:
1. 仿照windows記事本應(yīng)用程序,要求實(shí)現(xiàn)新建,打開,保存文件,對文本進(jìn)行字體顏色編輯,對文本實(shí)現(xiàn)查找,能夠復(fù)制粘貼功能。
2. 學(xué)生成績管理系統(tǒng)要求實(shí)現(xiàn)用戶登陸管理,瀏覽、添加、刪除和修改學(xué)生的成績信息,提供多種成績的查詢方式。1)登陸模塊
每個(gè)用戶只有三次登陸機(jī)會,三次均未能輸入正確的用戶名和密碼,系統(tǒng)將強(qiáng)行推出。參考界面如下所示
2)主控模塊
進(jìn)入系統(tǒng)主界面后,自動打開學(xué)生成績數(shù)據(jù)庫,“學(xué)號”,“姓名”,“班級”,“英語”,“VB”,“數(shù)據(jù)庫”6個(gè)字段分別綁定相應(yīng)文本框,“總分”和“平均分”的內(nèi)容根據(jù)“英
語”,“VB”,“數(shù)據(jù)庫”文本框內(nèi)容的改變而改變。
單擊“首記錄”,“尾記錄”,“上一條”,“下一條”按鈕可以瀏覽數(shù)據(jù)庫,但不能修改記錄。通過選擇相關(guān)菜單命令可以執(zhí)行相應(yīng)的操作。其中執(zhí)行“輸入”和“修改”命令后,“首記錄”和“尾記錄”按鈕隱藏,“上一條”,“下一條”按鈕變?yōu)椤按_定”和“取消”按鈕,參考界面如下:
3)查詢模塊
可以通過選擇不同的菜單命令進(jìn)入查詢模塊后,根據(jù)用戶輸入不同的查詢條件在查詢窗體中顯示查詢菜單,參考圖如下所示:
根據(jù)不同的查詢所得查詢界面參考下圖:
3.彈球游戲要求理解游戲玩法,正確設(shè)計(jì)游戲規(guī)則,合理設(shè)計(jì)實(shí)現(xiàn)算法,參照演示程序?qū)崿F(xiàn)功能。
4.圖書館管理系統(tǒng)要求實(shí)現(xiàn)功能有:用戶登陸,圖書的借閱和歸回,圖書信息的添加,修改,查詢和刪除操作。
5.打字練習(xí)程序要求自行設(shè)計(jì)程序界面,能夠?qū)崿F(xiàn)打字測試和打字練習(xí)功能,對打字正確率和速度進(jìn)行測試,并給出測試結(jié)果。
6. 超市銷售管理系統(tǒng)要求實(shí)現(xiàn)登陸管理,超市銷售商品管理(銷售商品的添加、刪除和修改)查看超市的全部銷售記錄,可按銷售記錄號、銷售商品名稱查詢相關(guān)銷售記錄、銷售統(tǒng)計(jì)等功能。
7.小型測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)要求能夠隨機(jī)生成20道數(shù)學(xué)計(jì)算題(要求有加,減,乘,除運(yùn)算,規(guī)定操作數(shù)的個(gè)數(shù)),對用戶結(jié)果進(jìn)行判斷,并能最終計(jì)算總成績,要求用戶在規(guī)定的時(shí)間內(nèi)做完試題,超時(shí)自動終止并給出成績。
8.倉庫管理系統(tǒng)要求實(shí)現(xiàn)注冊登陸功能,對倉庫信息的添加、刪除和修改,入庫和出庫的登記和查詢操作等。
9.猜數(shù)字游戲要求:游戲開始電腦隨機(jī)產(chǎn)生一個(gè)數(shù)字不重復(fù)的四位數(shù);將猜的數(shù)填在框內(nèi)按回車或者確定按鈕提交;電腦會將提交的數(shù)與它自動產(chǎn)生的數(shù)進(jìn)行比較,結(jié)果顯示成“*A*B”。A代表位置正確數(shù)字也正確,B代表數(shù)字正確但位置不正確,比如:“2A2B”表示有2個(gè)數(shù)字的位置正確且數(shù)值也正確,除此以外,還猜對了2個(gè)數(shù)字,但位置不對;共有10次機(jī)會,在10次內(nèi),如果結(jié)果為“4A0B”,游戲成功。如果10次里都沒有猜對游戲失敗。
10.工資管理系統(tǒng):建立職工數(shù)據(jù)庫表,能夠存儲每個(gè)職工當(dāng)月的工資信息,包括:編號、部門、姓名、基本工資、崗位工資、職務(wù)補(bǔ)貼、獎金、房租、水電費(fèi)、實(shí)發(fā)工資等數(shù)據(jù)。系統(tǒng)應(yīng)具有增加人員、刪除人員、查詢數(shù)據(jù)、修改數(shù)據(jù)、統(tǒng)計(jì)實(shí)發(fā)工資、報(bào)表輸出、退出系統(tǒng)等功能。
第二篇:VB程序設(shè)計(jì)課程設(shè)計(jì)
VB程序設(shè)計(jì)課程設(shè)計(jì)
1、目的
VB程序設(shè)計(jì)課程設(shè)計(jì)是考察學(xué)生對VB程序設(shè)計(jì)課程相關(guān)知識點(diǎn)掌握情況的重要環(huán)節(jié),也是激勵(lì)學(xué)生進(jìn)一步學(xué)習(xí)VB、提高運(yùn)用VB開發(fā)實(shí)際計(jì)算機(jī)程序的能力。課程設(shè)計(jì)的重點(diǎn)在于學(xué)生利用VB開發(fā)程序的能力。
2、課程設(shè)計(jì)題目
學(xué)生信息管理系統(tǒng)
3、程序功能
該程序具有建立數(shù)據(jù)庫,建立數(shù)據(jù)庫表,添加數(shù)據(jù),刪除數(shù)據(jù),查詢學(xué)生每學(xué)期成績、不及格情況、積點(diǎn)情況等相關(guān)信息的功能。
4、實(shí)現(xiàn)要求
每個(gè)學(xué)生建立一個(gè)數(shù)據(jù)庫(名字自擬),數(shù)據(jù)庫中建立學(xué)生基本信息表(學(xué)號、姓名、性別、出生年、出生月、出生日、聯(lián)系電話、年級、班級、住址等)、學(xué)生成績表(學(xué)號、課程號、成績、學(xué)期等)、課程信息表(課程號、課程名稱、出版社、出版日期、版次、頁碼、價(jià)格、課程類型(基礎(chǔ)課、專業(yè)基礎(chǔ)課、選修課等)、開課學(xué)院等)。
把課程信息、每一學(xué)期的成績等分別輸入相應(yīng)的表中,其中學(xué)生基本信息表記錄不少于5個(gè)學(xué)生的信息。
在以上數(shù)據(jù)的基礎(chǔ)上,實(shí)現(xiàn)相關(guān)的程序功能(不僅僅第3條指定的功能)。
設(shè)計(jì)多界面程序,相關(guān)查詢結(jié)果應(yīng)由不同的界面顯示,每個(gè)同學(xué)顯示結(jié)果的形式應(yīng)盡量不同。
5、考核
根據(jù)學(xué)生實(shí)現(xiàn)程序功能多少(40分)、界面設(shè)計(jì)情況(20分)、課程設(shè)計(jì)報(bào)告撰寫情況(20)、答辯情況(20分)進(jìn)行考核。雷同者應(yīng)重做。
6、課程設(shè)計(jì)報(bào)告內(nèi)容
1)課程設(shè)計(jì)題目
2)課程設(shè)計(jì)的目的3)程序功能介紹
4)程序界面設(shè)計(jì)與控件屬性設(shè)置
5)程序代碼編寫
6)程序演示(將運(yùn)行過程用截圖方式截下來,并對輸入數(shù)據(jù)、輸出的結(jié)果進(jìn)行適當(dāng)說明)
7)課程學(xué)習(xí)與課程設(shè)計(jì)心得體會
7、上交材料
本次課程設(shè)計(jì)以小班為單位上交如下資料:
1)光盤:每一小班建立一個(gè)目錄(專業(yè)年級班級),在此目錄下建立每個(gè)同學(xué)的目錄(學(xué)號姓名),在每個(gè)同學(xué)的目錄下保存該同學(xué)的電子版的課程設(shè)計(jì)報(bào)告、打包的程序。
2)紙制版的課程設(shè)計(jì)報(bào)告
第三篇:程序設(shè)計(jì)與算法語言課程設(shè)計(jì)題目
程序設(shè)計(jì)與算法語言課程設(shè)計(jì)大綱
理學(xué)院數(shù)學(xué)系所開設(shè)的程序設(shè)計(jì)與算法語言課程設(shè)計(jì)是教學(xué)實(shí)踐環(huán)節(jié)中一項(xiàng)重要內(nèi)容,進(jìn)行此課程設(shè)計(jì)的旨在:
1.提高和加強(qiáng)學(xué)生的計(jì)算機(jī)應(yīng)用與軟件開發(fā)能力,使學(xué)生由初學(xué)者向?qū)I(yè)的程序員過渡。
2.培養(yǎng)學(xué)生獨(dú)立分析問題、解決問題、查閱資料以及自學(xué)能力,以適應(yīng)計(jì)算機(jī)產(chǎn)業(yè)日新月異發(fā)展的形勢。
3.學(xué)習(xí)和掌握C或C++程序設(shè)計(jì)方法以及上機(jī)調(diào)試技巧,為今后學(xué)習(xí)其它專業(yè)課程打好基礎(chǔ)。
本次課程設(shè)計(jì)是以學(xué)生獨(dú)立思考解決問題為主,教師指導(dǎo)為輔,結(jié)合上機(jī)操作,完成指定的任務(wù),作出設(shè)計(jì)報(bào)告。
具體安排如下:
采用C或C++進(jìn)行程序設(shè)計(jì),設(shè)計(jì)以下系統(tǒng),任意選一個(gè)題目。1.職工信息管理
職工信息包括職工號、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號不重復(fù))。試設(shè)計(jì)一職工信息管理系統(tǒng),系統(tǒng)以菜單方式工作,使之能提供以下功能: ? 職工信息錄入功能(職工信息用文件保存)? 職工信息瀏覽功能
? 查詢和排序功能:按工資查詢和按學(xué)歷查詢或按年齡等查詢 ? 職工信息刪除、修改功能 ? 統(tǒng)計(jì)功能 2.圖書管理
圖書信息包括:登錄號、書名、作者名、分類號、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書信息管理系統(tǒng),系統(tǒng)以菜單方式工作,使之能提供以下功能: ? 圖書信息錄入功能(圖書信息用文件保存)? 圖書信息瀏覽功能
? 查詢和排序功能,按書名查詢和按作者名查詢或價(jià)格等查詢 ? 圖書信息的刪除與修改 ? 統(tǒng)計(jì)功能 3.學(xué)生成績管理
? 數(shù)據(jù)輸入:如果沒有數(shù)據(jù)文件,從鍵盤輸入學(xué)生數(shù)據(jù)(包括學(xué)生的學(xué)號、姓名、性別、年齡及五門功課的成績),并保存到磁盤文件“*.txt”。如果有數(shù)據(jù)文件,則可向該文件寫數(shù)據(jù)。
? 數(shù)據(jù)查詢:根據(jù)姓名或?qū)W號,查找相應(yīng)學(xué)生的信息并在屏幕上顯示。? 修改數(shù)據(jù):修改某名學(xué)生的某門課的成績(注意修改的權(quán)限)。? 統(tǒng)計(jì)數(shù)據(jù):按學(xué)號升序顯示全部學(xué)生的信息;
? 按平均分降序打印全部學(xué)生的信息,并保存到磁盤文件“.txt”; ? 統(tǒng)計(jì)不及格課程學(xué)生的信息。? 對上題的學(xué)生數(shù)據(jù)原型為:
99101
李強(qiáng)
男
99102
王麗
女
...........................4.作一個(gè)背單詞的小程序
設(shè)計(jì)一背單詞的小程序,程序以菜單方式工作,字典使用文本文件存放就可以了。使之能提供以下功能: ? 添加新詞
? 支持順序測驗(yàn)和隨即測驗(yàn) ? 記錄沒背過的詞
? 查找單詞的漢語或英語意思(輸入中文查對應(yīng)的英語意思,輸入英文查對應(yīng)漢語意思)
5.賓館客房管理
賓館的客房信息包括客房號、客房類型、客房價(jià)格、空閑情況、客人姓名、客人身份證號、入住時(shí)間、退房時(shí)間,預(yù)付費(fèi)用等信息。試設(shè)計(jì)一賓館客房管理系統(tǒng)統(tǒng),系統(tǒng)以菜單方式工作,使之能提供以下功能: ? 客房信息的錄入功能 ? 客人入住登記 ? 客人退房結(jié)算
? 客房信息瀏覽功能,瀏覽全部客房的信息
? 客房信息查詢:查詢空房間情況、按姓名或房間號查詢 ? 客房信息的刪除、修改功能 6.電腦報(bào)價(jià)
電腦各部件的信息包括:部件名、價(jià)格、分類號、型號,廠商、報(bào)價(jià)時(shí)間等。試設(shè)計(jì)一電腦報(bào)價(jià)系統(tǒng),系統(tǒng)以菜單方式工作,使之能提供以下功能: ? 添加電腦各部件的信息功能(用文件保存)? 查詢功能,按類型、價(jià)格等查詢 ? 生成報(bào)價(jià)單
? 電腦各部件的信息的刪除與修改 7.工資管理
一高校有五類職工:教師,實(shí)驗(yàn)員,行政人員,教師兼職實(shí)驗(yàn)員,行政人員兼職教師?,F(xiàn)要求編寫程序來完成如下功能:
? 職工工資的輸入
? 職工工資的刪除和修改 ? 查詢和統(tǒng)計(jì)功能 ? 輸出顯示。
其中工資的基本構(gòu)成如下:
教師:基本工資(1000)+課時(shí)費(fèi)(月工作量—24)X30; 實(shí)驗(yàn)員:基本工資(800)+實(shí)驗(yàn)室補(bǔ)助(150); 行政人員:基本工資(900)+行政補(bǔ)貼(250); 教師兼職實(shí)驗(yàn)員:基本工資(1000)+課時(shí)費(fèi)[(月工作量—12)X30]+實(shí)驗(yàn)室補(bǔ)助(150); 行政人員兼職教師:基本工資(900)+行政補(bǔ)貼(210)+課時(shí)費(fèi)(月工作量X30); 8.學(xué)生通訊系統(tǒng)
學(xué)生通信錄信息包括:姓名、學(xué)號、年齡、性別、家庭住址、聯(lián)系電話、寢室號等信息?,F(xiàn)要求編寫程序來完成如下功能:
? 學(xué)生通信錄信息的輸入
? 學(xué)生的通信錄信息刪除和修改 ? 學(xué)生的通信錄信息查詢和統(tǒng)計(jì)功能 ? 學(xué)生的通信錄信息輸出顯示。9.模擬物體的自由落體
內(nèi)容:模擬一個(gè)物體的自由落體過程。從“高空”釋放一個(gè)物體,它在下降的過程中速度會越來越快,落地反彈后在上升的過程中它的速度會越來越慢。要求:聯(lián)系判斷和循環(huán)語句的使用,延遲函數(shù)的使用。
10.大整數(shù)階乘新思路
內(nèi)容:實(shí)現(xiàn)一個(gè)計(jì)算大整數(shù)階乘的程序。通常使用遞歸來計(jì)算一個(gè)整數(shù)的階乘。但是,應(yīng)為計(jì)算本身能夠表示的最大整數(shù)是有限的。所以能夠計(jì)算的階乘整數(shù)要受到限制。本程序用數(shù)組來存儲足夠大的數(shù)組就能計(jì)算任意大的整數(shù)。要求:巧用算數(shù)運(yùn)算符和數(shù)組實(shí)現(xiàn)大整數(shù)的階乘計(jì)算。
11.多樣的立方體
在DOS環(huán)境下用C語言中的圖像函數(shù)制作一系列立方體圖,從一系列變化的立方體中抽選出幾個(gè),并且立方體的大小和位置在不斷的變化,然后做了一系列正面不同填充的變化。要求:使用循環(huán)語句和制圖函數(shù)。
12.簡易時(shí)鐘 內(nèi)容:在DOS環(huán)境下用C語言中的圖形函數(shù)制作一個(gè)簡易時(shí)鐘,這個(gè)時(shí)鐘由圓和直線構(gòu)成,時(shí)鐘所取時(shí)間為系統(tǒng)的當(dāng)前時(shí)間,并且每個(gè)1秒刷新一次圖像。要求:使用宏定義、循環(huán)語句和制圖函數(shù)。13.用柱狀圖表示學(xué)生成幾個(gè)分段比率
內(nèi)容:隨機(jī)生成N個(gè)學(xué)生的成績,并且計(jì)算每個(gè)分?jǐn)?shù)段學(xué)生的人數(shù),然后使用柱狀圖在屏幕上顯示學(xué)生成績的分布情況。要求:使用循環(huán)語句和制圖函數(shù)。
14、簡單圖形處理系統(tǒng)
設(shè)某圖形處理程序只考慮點(diǎn)、直線、圓三種基本圖形。對于點(diǎn),給出點(diǎn)的橫縱坐標(biāo);對于直線,給出直線方程ax+by+c=0的三個(gè)系數(shù)a,b,c;對于圓,給出圓心坐標(biāo)和半徑。試說明圖形的幾何形狀類型,并編寫輸入和輸出圖形數(shù)據(jù)、求兩點(diǎn)矩離、求兩直線交點(diǎn)、已知點(diǎn)和半徑形成圓、已知兩點(diǎn)形成直線等函數(shù)。
15、模擬時(shí)鐘轉(zhuǎn)動程序
要求: 能模擬機(jī)械鐘表行走,還要準(zhǔn)確地利用數(shù)字顯示日期和時(shí)間,在屏幕上顯示一個(gè)活動時(shí)鐘,按任意鍵時(shí)程序退出。
16、皇后問題
在國際象棋中,能否在空棋盤上擺放八個(gè)皇后,并使其中任意兩個(gè)皇后不能在同一行或同一列或同一對角線上,并編寫完整的擺放八皇后問題的程序。要求:第一個(gè)皇后的起始位置由鍵盤輸入,國際象棋的棋盤為8*8的方格。
17.紅旗圖案的制作
內(nèi)容:在DOS環(huán)境下用C語言中的圖形函數(shù)制作一個(gè)紅旗。關(guān)鍵點(diǎn)是模擬出紅旗的波浪形狀。
要求:使用宏定義、循環(huán)語句和制圖函數(shù)。
18、雙向鏈表的排序
要求:輸入一個(gè)雙向鏈表,顯示些雙向鏈表并對此雙向鏈表排序
19、學(xué)生籍貫信息記錄簿
編制一個(gè)學(xué)生籍貫信息記錄簿,每個(gè)學(xué)生信息包括:學(xué)號、姓名、籍貫。具體功能:
(1)創(chuàng)建信息鏈表并以磁盤文件保存;
(2)讀取磁盤文件并顯示輸出所有學(xué)生的籍貫信息;
(3)按學(xué)號或姓名查詢其籍貫;
(4)按籍貫查詢并輸出該籍貫的所有學(xué)生;(5)能添加、刪除和修改學(xué)生的籍貫信息;
(6)顯示輸出四川籍和非四川籍學(xué)生的信息并可分別存盤。20、學(xué)生選修課程系統(tǒng)設(shè)計(jì)
假定有n門課程,每門課程有課程編號,課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課。試設(shè)計(jì)一選修課程系統(tǒng),使之能提供以下功能: 系統(tǒng)以菜單方式工作? 課程信息錄入功能(課程信息用文件保存)--輸入? 課程信息瀏覽功能--輸出? 查詢功能:(至少一種查詢方式)--算法? 按學(xué)分查詢? 按課程性質(zhì)查詢? 學(xué)生選修課程(可選項(xiàng))? 21.設(shè)計(jì)一個(gè)簡單計(jì)算器
要求: 在功能上功能盡量模擬windows操作系統(tǒng)中的計(jì)算器,系統(tǒng)界面不做強(qiáng)制要求。
22、編寫一萬年歷系統(tǒng)
要求: 模仿現(xiàn)實(shí)生活中的掛歷.當(dāng)前頁以系統(tǒng)當(dāng)前日期的月份為準(zhǔn)顯示當(dāng)前月的每一天(顯示出日及對應(yīng)的星期幾).當(dāng)系統(tǒng)日期變到下一月時(shí),系統(tǒng)自動翻頁到下一月
23、成績排序
假設(shè)某年級有4個(gè)班,每班有45名同學(xué)。本學(xué)期有5門課程考試,每門課程成績是百分制。假定每個(gè)同學(xué)的成績記錄包含:學(xué)號、姓名各門課程的成績共7項(xiàng),其中學(xué)號是一個(gè)10位的字符串,每個(gè)學(xué)生都有唯一的學(xué)號,并且這4個(gè)班的成績分別放在4個(gè)數(shù)組中,完成以下操作要求:
⑴ 編寫一個(gè)成績生成函數(shù),使用隨機(jī)數(shù)方法,利用隨機(jī)函數(shù)生成學(xué)生的各門課程的成績(每門課程的成績都是0∽100之間的整數(shù)),通過調(diào)用該函數(shù)生成全部學(xué)生的成績;
⑵ 編寫一個(gè)平均成績計(jì)算函數(shù),計(jì)算每個(gè)同學(xué)的平均成績并保存在成績數(shù)組中; ⑶ 用冒泡排序法對4個(gè)班的成績按每個(gè)同學(xué)的平均成績的以非遞增方式 進(jìn)行班內(nèi)排序;
⑷ 用選擇排序法對4個(gè)班的成績按每個(gè)同學(xué)的平均成績的以非遞增方式進(jìn)行班內(nèi)排序;
⑸ 對已按平均成績排好序的4個(gè)班的同學(xué)的構(gòu)造一個(gè)所有按平均成績的以非遞增方式排列的新的單鏈表;
⑹ 設(shè)計(jì)一個(gè)菜單,至少具有上述操作要求的基本功能。
24、航班信息管理 問題描述:
飛機(jī)航班系統(tǒng)的數(shù)據(jù)包括兩部分:
① 航班信息:航班號、最大載客數(shù)、起飛地點(diǎn)、起飛時(shí)間、降落地點(diǎn)、降落時(shí)間,單價(jià);
② 乘客信息:航班號、身份證號碼、姓名、性別、出生年月、座位號。乘客訂票的主要方式是:乘客提出航班號、起飛地點(diǎn)、起飛時(shí)間、降落地點(diǎn)、訂票數(shù)等訂票要求,根據(jù)事先保存的航班數(shù)據(jù)決定乘客能否訂票?只有全部滿足了乘客的訂票要求并且所訂航班有足夠的未訂座位之后才能完成訂票處理,并且修改該航班的未訂座位數(shù)(每個(gè)航班的未訂座位數(shù)的初始值就是該航班的最大載客數(shù));否則,訂票失敗,并且給出不能訂票的原因。
要求將航班數(shù)據(jù)保存在數(shù)據(jù)文件中,在處理時(shí)按航班的起飛地點(diǎn)建立不同的鏈表。
功能要求 :
⑴ 增加航班記錄。將新的航班記錄增加到原有的航班數(shù)據(jù)文件中。在進(jìn)行處理時(shí)必須檢查所要增加的航班記錄是否存在,如果已經(jīng)存在,應(yīng)給出提示信息后停止增加;
⑵ 航班取消。如果某次航班的乘客數(shù)太少(已訂票的少于本次航班最大載客數(shù)的10%),將取消該航班,但該航班的記錄仍然保存在原有的航班數(shù)據(jù)文件中; ⑶ 航班查詢。應(yīng)該有以下幾種基本的查詢方式:按航班號、按起飛地點(diǎn)和起飛時(shí)間、按降落地點(diǎn),按起飛地點(diǎn)和降落地點(diǎn);
⑷ 航班訂票。按上述問題描述中的乘客訂票方式完成航班訂票處理。⑸ 設(shè)計(jì)一個(gè)菜單,至少具有上述操作要求的基本功能。
25、猴子摘桃子 問題描述:
五只猴子一起摘了一堆桃子,因?yàn)樘郏逯缓镒記Q定先睡一覺再分。不久,其中一只猴子醒來了,它見別的猴子沒有醒來,便將一堆桃子平均分成 5 份,結(jié)果多了一個(gè),就將多的這個(gè)吃了,拿走其中的一份并離開。又不久,第二只猴子醒來了,它不知道有一個(gè)同伴已經(jīng)拿走過桃子,便又將剩下的桃子平均分成 5 份,發(fā)現(xiàn)也多了一個(gè),同樣吃了這一個(gè),拿走其中的一份。如此類推第3只,第4只,第5 只猴子都是這樣分、吃、拿走。問這5只猴子至少摘了多少個(gè)桃子? 根據(jù)上述描述,編制程序解決問題。
26、運(yùn)動會管理系統(tǒng) 問題描述:
校際運(yùn)動會管理系統(tǒng)。設(shè)有n個(gè)學(xué)校參加校際運(yùn)動會,共有男子競賽項(xiàng)目數(shù)m,女子競賽項(xiàng)目數(shù)w。每個(gè)學(xué)校可以參加所有競賽項(xiàng)目,也可以只參加部分競賽項(xiàng)目,每個(gè)學(xué)校對每個(gè)項(xiàng)目的參賽運(yùn)動員不能超過4人,每個(gè)運(yùn)動員最多只能參加3項(xiàng)單項(xiàng)比賽,團(tuán)體賽不受限制。
各項(xiàng)目名次取法有如下幾種:用戶自定義:(各名次權(quán)值由用戶指定)
① 參賽人數(shù)超過6人,取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;
②參賽人數(shù)不超過6人,取前3名:第1名得分 5,第2名得分 3,第3名得分2;
③ 團(tuán)體項(xiàng)目的名次取法和上面相同,但分?jǐn)?shù)加倍。功能要求 :
⑴ 運(yùn)動員報(bào)名登記,以學(xué)校為單位進(jìn)行運(yùn)動員報(bào)名登記,登記的限制要求按問題描述的要求;
⑵ 參賽信息查詢,查看參賽學(xué)校信息和比賽項(xiàng)目信息; ⑶ 競賽檢錄,每項(xiàng)比賽開始前完成參賽運(yùn)動員的檢錄; ⑷ 競賽成績登記,填寫比賽名次,然后根據(jù)競賽檢錄的運(yùn)動員人數(shù)和上述的記分方式自動完成各學(xué)校的成績登記并實(shí)時(shí)生成各學(xué)校的團(tuán)體總分;
⑸ 比賽成績查詢,可以按競賽項(xiàng)目、參賽學(xué)校、參賽運(yùn)動員查看比賽成績; ⑹ 競賽成績排序,以學(xué)校為單位,按總成績的高低,分別排序輸出每個(gè)學(xué)校的總成績、男子總成績、女子總成績;
⑺ 設(shè)計(jì)一個(gè)菜單,至少具有上述操作要求的基本功能。
27、集合運(yùn)算
設(shè)有兩個(gè)用單鏈表表示的集合A、B,其元素類型是int且以非遞減方式存儲,其頭結(jié)點(diǎn)分別為a、b。要求下面各問題中的結(jié)果集合同樣以非遞減方式存儲,結(jié)果集合不影響原集合。實(shí)現(xiàn)要求:
⑴ 編寫集合元素測試函數(shù)IN_SET,如果元素已經(jīng)在集合中返回0,否則返回1; ⑵ 編寫集合元素輸入并插入到單鏈表中的函數(shù)INSERT_SET,保證所輸入的集合中的元素是唯一且以非遞減方式存儲在單鏈表中;
⑶ 編寫集合元素輸出函數(shù),對建立的集合鏈表按非遞增方式輸出; ⑷ 編寫求集合A、B的交C=A∩B的函數(shù),并輸出集合C的元素; ⑸ 編寫求集合A、B的并D=A∪B的函數(shù),并輸出集合D的元素;
⑹ 求集合A與B的對稱差E=(A-B)∪(B-A)的函數(shù),并輸出集合D的元素; ⑺ 設(shè)計(jì)一個(gè)菜單,具有輸入集合元素、求集合A、B的交C、求集合A、B的并D、求集合A與B的對稱差E、退出等基本的功能。
測試數(shù)據(jù):由讀者自定,但集合A、B的元素個(gè)數(shù)不得少于16個(gè)。
第四篇:VB 課程設(shè)計(jì)
學(xué)生成績管理系統(tǒng)一、功能描述
首先簡單地闡述本人所要實(shí)現(xiàn)系統(tǒng)的目的,然后應(yīng)較詳細(xì)的敘述本系統(tǒng)所要實(shí)現(xiàn)的功能。
************ *******
二、概要設(shè)計(jì)
1、系統(tǒng)功能模塊框圖設(shè)計(jì)
根據(jù)功能描述,建立系統(tǒng)的體系結(jié)構(gòu),即將整個(gè)系統(tǒng)分解成若干子功能模塊,并用框圖表示各功能模塊之間的銜接關(guān)系,并簡要說明各模塊的功能。
程序流程框圖如圖所示:(僅供參考)
圖1 程序流程圖
2、數(shù)據(jù)庫設(shè)計(jì)
包括數(shù)據(jù)庫的組成說明,數(shù)據(jù)庫中各表的結(jié)構(gòu)說明(包括字段名、字段類型等),可以包含圖片例如下表:
表1 學(xué)生信息表
三、詳細(xì)設(shè)計(jì)
詳細(xì)說明主要窗體的實(shí)現(xiàn)過程,包括窗體的設(shè)計(jì)圖片及其上所包含的控件名和屬性設(shè)置;
詳細(xì)說明主要操作的代碼實(shí)現(xiàn)過程,包括過程間的調(diào)用關(guān)系(注:在此給出不完全代碼)。如下所示:
1、賬號登錄
帳號登錄模塊中登錄與注冊兩按鈕,單擊注冊會進(jìn)入注冊模塊中,單擊登錄會進(jìn)入系統(tǒng)進(jìn)行下一步的操作,帳號文本框與數(shù)據(jù)庫相連接,當(dāng)在帳號文本框輸入帳號后點(diǎn)擊登錄按鈕后,會在數(shù)據(jù)庫中進(jìn)行查詢看數(shù)據(jù)庫中是否會有該帳號,且該帳號的密碼是否與密碼框中輸入的相同,如果相同會進(jìn)入系統(tǒng),如果不存在該賬號或密碼與帳號不相匹配,則會提示“帳號或密碼錯(cuò)誤”,帳號文本框會得到焦點(diǎn),讓重新輸入。
(1)窗體截圖(如圖2)
圖2 注冊窗體
(2)功能實(shí)現(xiàn)
2、學(xué)生信息查詢窗體
圖3 查詢窗體
四、調(diào)試中存在的問題及解決方法
包括調(diào)試過程中遇到的主要問題及采取的解決方法。例如:
1、注冊賬號出現(xiàn)的錯(cuò)誤
數(shù)據(jù)庫中帳號被設(shè)為主鍵,當(dāng)注冊時(shí)的帳號與數(shù)局庫中的帳號有相同時(shí)就會出錯(cuò)。
2、解決方法:在寫入數(shù)據(jù)庫前先進(jìn)行查詢數(shù)據(jù)庫
五、心得體會
本人在本次實(shí)習(xí)中取得的收獲、遇到的困難、如何面對和克服各種困難、本系統(tǒng)的不足之處,將要改進(jìn)的思想等。
六、參考文獻(xiàn)
[1] 羅朝盛.Visual Basic 6.0程序設(shè)計(jì)教程(第3版).人民郵電出版社,2009年2月
[2] [3]
七、附錄
包括全部源程序清單(程序中應(yīng)有足夠的注釋)。
第五篇:VB課程設(shè)計(jì)
課程設(shè)計(jì)
學(xué) 院 班 級
指導(dǎo)老師
姓 名 學(xué) 號 成 績
2013年 月 10
日
一.課程設(shè)計(jì)題目
學(xué)生管理系統(tǒng)
二.功能描述
按設(shè)定的用戶名密碼進(jìn)行登錄后,可按需求進(jìn)行對數(shù)據(jù)庫中已有的學(xué)生信息及成績進(jìn)行查詢,添加,刪除,修改等操作。
三.概要設(shè)計(jì)
登錄界面功能:讓用戶進(jìn)行登錄。主界面功能:讓用戶選擇進(jìn)行哪項(xiàng)操作。
查詢學(xué)生信息菜單功能:輸入學(xué)生學(xué)號,對該學(xué)生的個(gè)人信息以
及成績進(jìn)行查詢,若直接點(diǎn)擊查詢按鈕,則顯示全部學(xué)生個(gè)人信息及成績。
編輯學(xué)生信息菜單功能:可對數(shù)據(jù)庫中已有的學(xué)生信息進(jìn)行查
詢,添加,刪除,修改等操作。
學(xué)生信息維護(hù)菜單功能:可對數(shù)據(jù)庫中已有的學(xué)生成績進(jìn)行查
詢,添加,刪除,修改等操作。
四.詳細(xì)設(shè)計(jì)
五.效果以及存在問題
說明系統(tǒng)的運(yùn)行效果(附上運(yùn)行界面圖片)、存在哪些不足以及預(yù)期的解決辦法。
登錄界面
登錄學(xué)生管理系統(tǒng)
按查詢條件查詢
打開修改學(xué)生信息子窗口
學(xué)生成績維護(hù)子窗口
垂直窗口排列
關(guān)于窗口
不足:1.沒有實(shí)現(xiàn)用戶登錄界面中的注冊功能
2.沒有實(shí)現(xiàn)主界面中文件下的新建和保存功能。
六.心得體會
經(jīng)過幾天的苦戰(zhàn),終于把課程設(shè)計(jì)粗略的做完了。剛開始做的時(shí)候,毫無頭緒,一片茫然。好在書本上有類似的實(shí)驗(yàn),可以供參考。盡管如此,真正做起項(xiàng)目來,還是有著這樣那樣的困難,有時(shí)一個(gè)空格少打都會出錯(cuò),導(dǎo)致我檢查了半天才發(fā)現(xiàn)問題所在。由于VB語法還運(yùn)用不熟練,很多代碼都是模仿書本上的敲的,許多代碼往往能編譯通過,但很多都會拋出各種異常,讓人頭疼。有時(shí)系統(tǒng)就給出個(gè)有個(gè)參數(shù)沒有被指定值,就可以讓人搞的焦頭爛額。因此,寫程序真的也很需要強(qiáng)大的耐心,只要熬下去了,當(dāng)你做出程序時(shí),也會倍有成就感。目前,程序是基本寫完了,平常學(xué)的理論都得到了運(yùn)用,感覺自己的能力也增強(qiáng)了。一句話,實(shí)踐才是硬道理。
七.附錄代碼
(附上各模塊代碼)
1.登錄界面
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Static n As Integer
If txtName.Text = “abc” And txtPassWord.Text = “123” Then
Dim form2 As New Form2()
form2.Show()
Me.Close()
Else
n = n + 1
If n < 5 Then
MsgBox(“請輸入正確的用戶名和密碼!”, MsgBoxStyle.Critical)
Else
MsgBox(“請輸入正確的用戶名和密碼!”, MsgBoxStyle.Critical)
Button1.Enabled = False
End If
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click
Me.Close()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button3.Click
Dim form3 As New Form3()
form3.Show()
Me.Close()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
End Sub End Class
2.查詢學(xué)生菜單代碼
Public Class Form6
Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
Dim objConn As New OleDb.OleDbConnection
Dim objDaXS_KC As New OleDb.OleDbDataAdapter
Dim objDaXS As New OleDb.OleDbDataAdapter
Dim objCommXS_KC As New OleDb.OleDbCommand
Dim objCommXS As New OleDb.OleDbCommand
Dim objDsXS_KC As New DataSet
Dim objDsXS As New DataSet
objConn.ConnectionString = “Provider = Microsoft.jet.OLEDB.4.0;data source = 'D:XSCJ.mdb'”
objCommXS.CommandText = “ Select * From XS ”
objCommXS_KC.CommandText = “ Select * From XS_KC ”
objCommXS_KC.Connection = objConn
objDaXS_KC.SelectCommand = objCommXS_KC
objCommXS.Connection = objConn
objDaXS.SelectCommand = objCommXS
objConn.Open()
objDaXS_KC.Fill(objDsXS_KC, “XS_KC”)
objDaXS.Fill(objDsXS, “XS”)
objConn.Close()
DataGridView1.DataSource = objDsXS_KC.Tables(“XS_KC”)
DataGridView2.DataSource = objDsXS.Tables(“XS”)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Dim objConn As New OleDb.OleDbConnection
Dim objDaXS_KC As New OleDb.OleDbDataAdapter
Dim objDaXS As New OleDb.OleDbDataAdapter
Dim objCommXS_KC As New OleDb.OleDbCommand
Dim objCommXS As New OleDb.OleDbCommand
Dim objDsXS_KC As New DataSet
Dim objDsXS As New DataSet
Dim WhereStr As String
WhereStr = “"
If Trim(TxtXH.Text)<> ”“ Then
WhereStr = ” 學(xué)號like “ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider = Microsoft.jet.OLEDB.4.0;data source = 'D:XSCJ.mdb'“
objCommXS.CommandText = ” Select * From XS “
objCommXS_KC.CommandText = ” Select * From XS_KC “
If WhereStr <> ”“ Then
objCommXS.CommandText = objCommXS.CommandText & ”where“ & WhereStr
objCommXS_KC.CommandText = objCommXS_KC.CommandText & ”where“ & WhereStr
End If
objCommXS_KC.Connection = objConn
objDaXS_KC.SelectCommand = objCommXS_KC
objCommXS.Connection = objConn
objDaXS.SelectCommand = objCommXS
objConn.Open()
objDaXS_KC.Fill(objDsXS_KC, ”XS_KC“)
objDaXS.Fill(objDsXS, ”XS“)
objConn.Close()
DataGridView1.DataSource = objDsXS_KC.Tables(”XS_KC“)
DataGridView2.DataSource = objDsXS.Tables(”XS“)
End Sub End Class
3編輯學(xué)生信息菜單
Public Class Form7
Dim objDs As New DataSet
Dim objxstable As DataTable
Dim objda As New OleDb.OleDbDataAdapter
Dim wherestr As String
Public Sub refreshdata()
objda.Update(objDs, ”XS“)
objxstable.Clear()
bindgridview(wherestr)
End Sub
Public Sub bindgridview(ByVal strXH As String)
Dim objConn As New OleDb.OleDbConnection
Dim objComm As New OleDb.OleDbCommand
WhereStr = ”“
If Trim(TxtXH.Text)<> ”“ Then
wherestr = ” 學(xué)號like“ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:XSCJ.mdb'“
objComm.CommandText = ” Select * From XS “
If WhereStr <> ”“ Then
objComm.CommandText = objComm.CommandText & ”where“ & WhereStr
End If
'把objConn設(shè)置為objConn的數(shù)據(jù)連接
objComm.Connection = objConn
objda.SelectCommand = objComm
'創(chuàng)建INSERT Command
Dim InsCommand As New OleDb.OleDbCommand(”INSERT INTO XS(學(xué)號,姓名,專業(yè)名,性別,出生日期,總學(xué)分,備注)VALUES(?,?,?,?,?,?,?)“, objConn)
InsCommand.Parameters.Add(”學(xué)號“, OleDb.OleDbType.VarChar, 6, ”學(xué)號“)
InsCommand.Parameters.Add(”姓名“, OleDb.OleDbType.VarChar, 8, ”姓名“)
InsCommand.Parameters.Add(”專業(yè)名“, OleDb.OleDbType.VarChar, 10, ”專業(yè)名“)
InsCommand.Parameters.Add(”性別“, OleDb.OleDbType.VarChar, 2, ”性別“)
InsCommand.Parameters.Add(”出生日期“, OleDb.OleDbType.Date, Nothing, ”出生日期“)
InsCommand.Parameters.Add(”總學(xué)分“, OleDb.OleDbType.Integer, Nothing, ”總學(xué)分“)
InsCommand.Parameters.Add(”備注“, OleDb.OleDbType.VarChar, Nothing, ”備注“)
objda.InsertCommand = InsCommand
'創(chuàng)建Delte Command
Dim delcommand As New OleDb.OleDbCommand(”DELETE * from XS where 學(xué)號=?“, objConn)
delcommand.Parameters.Add(”學(xué)號“, OleDb.OleDbType.Char, 6, ”學(xué)號“)
objda.DeleteCommand = delcommand
'創(chuàng)建Update Command
Dim updCommand As New OleDb.OleDbCommand(”UPDATE XS SET 學(xué)號=?,姓名=?,專業(yè)名=?,性別=?,出生日期=?,總學(xué)分=?,備注=? WHERE 學(xué)號=?“, objConn)
updCommand.Parameters.Add(”學(xué)號“, OleDb.OleDbType.VarChar, 6, ”學(xué)號“)
updCommand.Parameters.Add(”姓名“, OleDb.OleDbType.VarChar, 8, ”姓名“)
updCommand.Parameters.Add(”專業(yè)名“, OleDb.OleDbType.VarChar, 10, ”專業(yè)名“)
updCommand.Parameters.Add(”性別“, OleDb.OleDbType.VarChar, 2, ”性別“)
updCommand.Parameters.Add(”出生日期“, OleDb.OleDbType.Date, Nothing, ”出生日期“)
updCommand.Parameters.Add(”總學(xué)分“, OleDb.OleDbType.Integer, Nothing, ”總學(xué)分“)
updCommand.Parameters.Add(”備注“, OleDb.OleDbType.VarChar, Nothing, ”備注“)
updCommand.Parameters.Add(”學(xué)號“, OleDb.OleDbType.VarChar, 6, ”學(xué)號“)
objda.UpdateCommand = updCommand
objConn.Open()
'打開數(shù)據(jù)庫連接
objda.Fill(objDs, ”XS“)'填充數(shù)據(jù)
objxstable = objDs.Tables(”XS“)
objConn.Close()
'關(guān)閉數(shù)據(jù)集
'把DataGrid1的DataSource屬性設(shè)置為剛剛?cè)〉降臄?shù)據(jù)表,這樣就可以顯示數(shù)據(jù)了
DataGridView1.DataSource = objDs.Tables(”XS“)
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles DataGridView1.CellContentClick
TxtStuXH.Text = DataGridView1.CurrentRow.Cells.Item(0).Value.ToString '顯示學(xué)號
TxtStuXM.Text = DataGridView1.CurrentRow.Cells.Item(1).Value.ToString '顯示姓名
TxtZY.Text = DataGridView1.CurrentRow.Cells.Item(2).Value.ToString '顯示專業(yè)
TxtXB.Text = DataGridView1.CurrentRow.Cells.Item(3).Value.ToString '顯示性別
TxtCSRQ.Text = DataGridView1.CurrentRow.Cells.Item(4).Value.ToString '顯示出生日期
TxtStuZXF.Text = DataGridView1.CurrentRow.Cells.Item(5).Value.ToString '顯示總學(xué)分
TxtBZ.Text = DataGridView1.CurrentRow.Cells.Item(6).Value.ToString '顯示備注
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Dim objConn As New OleDb.OleDbConnection
Dim objDaXS As New OleDb.OleDbDataAdapter
Dim objCommXS As New OleDb.OleDbCommand
Dim objDsXS As New DataSet
Dim WhereStr As String
WhereStr = ”“
If Trim(TxtXH.Text)<> ”“ Then
WhereStr = ” 學(xué)號like “ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider = Microsoft.jet.OLEDB.4.0;data source = 'D:XSCJ.mdb'“
objCommXS.CommandText = ” Select * From XS “
If WhereStr <> ”“ Then
objCommXS.CommandText = objCommXS.CommandText & ”where“ & WhereStr
End If
objCommXS.Connection = objConn
objDaXS.SelectCommand = objCommXS
objConn.Open()
objDaXS.Fill(objDsXS, ”XS“)
objConn.Close()
DataGridView1.DataSource = objDsXS.Tables(”XS“)
End Sub
Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
wherestr = ”“
bindgridview(wherestr)
End Sub
Private Sub butAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butAdd.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要添加記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then
Dim myRow As DataRow = objxstable.NewRow()
myRow(”學(xué)號“)= TxtStuXH.Text
myRow(”姓名“)= TxtStuXM.Text
myRow(”專業(yè)名“)= TxtZY.Text
myRow(”性別“)= TxtXB.Text
myRow(”出生日期“)= TxtCSRQ.Text
myRow(”總學(xué)分“)= TxtStuZXF.Text
myRow(”備注“)= TxtBZ.Text
objxstable.Rows.Add(myRow)
refreshdata()
End If
End Sub
Private Sub butEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butEdit.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要修改記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then '用戶選擇“確定”
'修改學(xué)號
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(0)= TxtStuXH.Text
'修改姓名
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(1)= TxtStuXM.Text
'修改專業(yè)
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(2)= TxtZY.Text
'修改性別
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(3)= TxtXB.Text
'修改出生日期
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(4)= TxtCSRQ.Text
'修改總學(xué)分
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(5)= TxtStuZXF.Text
'修改備注
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Item(6)= TxtBZ.Text
refreshdata()'更新并刷新顯示
End If
End Sub
Private Sub butDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butDelete.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要刪除記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then '用戶選擇“確定”
'除學(xué)生成績表當(dāng)前記錄
objxstable.Rows.Item(DataGridView1.CurrentRow.Index).Delete()
refreshdata()'更新并刷新顯示
End If
End Sub End Class
4.學(xué)生成績維護(hù)菜單
Public Class Form4
Dim objDs As New DataSet
Dim objXSTable As DataTable
Dim objDa As New OleDb.OleDbDataAdapter
Dim WhereStr As String
Public Sub refreshdata()
objDa.Update(objDs, ”XS_KC“)
objXSTable.Clear()
bindgridview(WhereStr)
End Sub
Public Sub bindgridview(ByVal strXH As String)
Dim objConn As New OleDb.OleDbConnection
Dim objComm As New OleDb.OleDbCommand
WhereStr = ”“
If Trim(TxtXH.Text)<> ”“ Then
WhereStr = ” 學(xué)號like“ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:XSCJ.mdb'“
objComm.CommandText = ” Select * From XS_KC “
If WhereStr <> ”“ Then
objComm.CommandText = objComm.CommandText & ”where“ & WhereStr
End If
'把objConn設(shè)置為objConn的數(shù)據(jù)連接
objComm.Connection = objConn
objDa.SelectCommand = objComm
'創(chuàng)建INSERT Command
Dim InsCommand As New OleDb.OleDbCommand(”INSERT INTO XS_KC(學(xué)號,課程號,成績,學(xué)分)VALUES(?,?,?,?)“, objConn)
InsCommand.Parameters.Add(”學(xué)號“, OleDb.OleDbType.VarChar, 6, ”學(xué)號“)
InsCommand.Parameters.Add(”課程號“, OleDb.OleDbType.VarChar, 4, ”課程號“)
InsCommand.Parameters.Add(”成績“, OleDb.OleDbType.Integer, Nothing, ”成績“)
InsCommand.Parameters.Add(”學(xué)分“, OleDb.OleDbType.Integer, Nothing, ”學(xué)分“)
objDa.InsertCommand = InsCommand
'創(chuàng)建Delte Command
Dim delcommand As New OleDb.OleDbCommand(”DELETE * from XS_KC where 序號=?“, objConn)
delcommand.Parameters.Add(”序號“, OleDb.OleDbType.Char, 6, ”序號“)
objDa.DeleteCommand = delcommand
'創(chuàng)建Update Command
Dim updCommand As New OleDb.OleDbCommand(”UPDATE XS_KC set 學(xué)號=?,課程號=?,成績=?,學(xué)分=? where 序號=?“, objConn)
updCommand.Parameters.Add(”學(xué)號“, OleDb.OleDbType.VarChar, 6, ”學(xué)號“)
updCommand.Parameters.Add(”課程號“, OleDb.OleDbType.VarChar, 4, ”課程號“)
updCommand.Parameters.Add(”成績“, OleDb.OleDbType.Integer, Nothing, ”成績“)
updCommand.Parameters.Add(”學(xué)分“, OleDb.OleDbType.Integer, Nothing, ”學(xué)分“)
updCommand.Parameters.Add(”序號“, OleDb.OleDbType.Integer, Nothing, ”序號“)
objDa.UpdateCommand = updCommand
objConn.Open()
'打開數(shù)據(jù)庫連接
objDa.Fill(objDs, ”XS_KC“)'填充數(shù)據(jù)
objXSTable = objDs.Tables(”XS_KC“)
objConn.Close()
'關(guān)閉數(shù)據(jù)集
'把DataGrid1的DataSource屬性設(shè)置為剛剛?cè)〉降臄?shù)據(jù)表,這樣就可以顯示數(shù)據(jù)了
DataGridView1.DataSource = objDs.Tables(”XS_KC“)
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles DataGridView1.CellContentClick
txtStuXKID.Text = DataGridView1.CurrentRow.Cells.Item(0).Value.ToString '顯示ID
txtStuXH.Text = DataGridView1.CurrentRow.Cells.Item(1).Value.ToString '顯示學(xué)號
txtStuKCH.Text = DataGridView1.CurrentRow.Cells.Item(2).Value.ToString '顯示課程號
txtStuCJ.Text = DataGridView1.CurrentRow.Cells.Item(3).Value.ToString '顯示成績
txtStuXF.Text = DataGridView1.CurrentRow.Cells.Item(4).Value.ToString '顯示學(xué)分
End Sub
Private Sub btnDdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butAdd.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要添加記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then
Dim myRow As DataRow = objXSTable.NewRow()
myRow(”學(xué)號“)= txtStuXH.Text
myRow(”課程號“)= txtStuKCH.Text
myRow(”成績“)= txtStuCJ.Text
myRow(”學(xué)分“)= txtStuXF.Text
objXSTable.Rows.Add(myRow)
refreshdata()
End If
End Sub
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butEdit.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要修改記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then '用戶選擇“確定”
'修改學(xué)號
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Item(1)= txtStuXH.Text
'修改課程號
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Item(2)= txtStuKCH.Text
' 修改成績
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Item(3)= txtStuCJ.Text
'修改學(xué)分
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Item(4)= txtStuXF.Text
refreshdata()'更新并刷新顯示
End If
End Sub
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles butDelete.Click
Dim response As MsgBoxResult
response = MsgBox(”確定要刪除記錄嗎?“, vbOKCancel + vbQuestion, ”系統(tǒng)提示“)
If response = MsgBoxResult.Ok Then '用戶選擇“確定”
'除學(xué)生成績表當(dāng)前記錄
objXSTable.Rows.Item(DataGridView1.CurrentRow.Index).Delete()
refreshdata()'更新并刷新顯示
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Dim objConn As New OleDb.OleDbConnection
Dim objDaXS As New OleDb.OleDbDataAdapter
Dim objCommXS As New OleDb.OleDbCommand
Dim objDsXS As New DataSet
Dim WhereStr As String
WhereStr = ”“
If Trim(TxtXH.Text)<> ”“ Then
WhereStr = ” 學(xué)號like “ + Trim(TxtXH.Text)
End If
objConn.ConnectionString = ”Provider = Microsoft.jet.OLEDB.4.0;data source = 'D:XSCJ.mdb'“
objCommXS.CommandText = ” Select * From XS_KC “
If WhereStr <> ”“ Then
objCommXS.CommandText = objCommXS.CommandText & ”where“ & WhereStr
End If
objCommXS.Connection = objConn
objDaXS.SelectCommand = objCommXS
objConn.Open()
objDaXS.Fill(objDsXS, ”XS_KC“)
objConn.Close()
DataGridView1.DataSource = objDsXS.Tables(”XS_KC“)
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
WhereStr = ”"
bindgridview(WhereStr)
End Sub End Class
5.主菜單界面代碼
Public Class Form2
Private Sub quitMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles quitMenuItem.Click
Me.Close()
End Sub
Private Sub importscoreMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles importscoreMenuItem.Click
Dim form4 As New Form4
form4.MdiParent = Me
form4.WindowState = FormWindowState.Normal
form4.Show()
End Sub
Private Sub updateinfoMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles updateinfoMenuItem.Click
Dim form7 As New Form7
form7.MdiParent = Me
form7.WindowState = FormWindowState.Normal
form7.Show()
End Sub
Private Sub selectinfoMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles selectinfoMenuItem.Click
Dim form6 As New Form6
Form6.MdiParent = Me
form6.WindowState = FormWindowState.Normal
form6.Show()
End Sub
Private Sub cascadeMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles cascadeMenuItem.Click
Me.LayoutMdi(MdiLayout.Cascade)
End Sub
Private Sub horizonMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles horizonMenuItem.Click
Me.LayoutMdi(MdiLayout.TileHorizontal)
End Sub
Private Sub verticalMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles verticalMenuItem.Click
Me.LayoutMdi(MdiLayout.TileVertical)
End Sub
Private Sub aboutMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles aboutMenuItem.Click
Dim form5 As New Form5
form5.MdiParent = Me
form5.WindowState = FormWindowState.Normal
form5.Show()
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton1.Click
selectinfoMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton2.Click
updateinfoMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton3.Click
importscoreMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton4.Click
cascadeMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton5.Click
aboutMenuItem.PerformClick()
End Sub
Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripButton6.Click
quitMenuItem.PerformClick()
End Sub
Private Sub ToolStripStatusLabel1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles ToolStripStatusLabel1.Click
aboutMenuItem.PerformClick()
End Sub End Class
八.參考文庫
百度文庫,百度知道