第一篇:vb程序設(shè)計課程設(shè)計題目
VB程序設(shè)計課程設(shè)計
一.題目:
1.記事本的設(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.自己獨立完成,最終提交課程設(shè)計報告和實驗成果
2.對各個系統(tǒng)實現(xiàn)功能進行分析并設(shè)計好系統(tǒng)界面,要求界面設(shè)計美觀方便
3.課程設(shè)計報告格式:封面、題目、時間地點、要求、內(nèi)容、詳細步驟和過程、總結(jié) 1)功能描述
對系統(tǒng)要實現(xiàn)的功能進行確切的描述。
2)概要設(shè)計
根據(jù)功能分析,建立系統(tǒng)的體系結(jié)構(gòu),即將整個系統(tǒng)分解成若干子模塊,用框圖表示各功能模塊之間的接口關(guān)系
3)詳細設(shè)計
詳細說明各功能模塊的實現(xiàn)過程,所用到的算法、技巧等(附上代碼)。
4)效果及存在問題
說明系統(tǒng)的運行效果(附上界面圖形)、存在哪些不足以及預(yù)期的解決辦法。
5)心得 :談?wù)勗谡n程設(shè)計過程中的心得體會。4.指定時間必須在實驗機房上機
5.最終成績包括平時成績(30%)和最終考核成績(70%)
6.實驗設(shè)計內(nèi)容必須以老師指定的題目為準,老師指定的題目為最終檢查的依據(jù) 三.內(nèi)容:
1. 仿照windows記事本應(yīng)用程序,要求實現(xiàn)新建,打開,保存文件,對文本進行字體顏色編輯,對文本實現(xiàn)查找,能夠復(fù)制粘貼功能。
2. 學(xué)生成績管理系統(tǒng)要求實現(xiàn)用戶登陸管理,瀏覽、添加、刪除和修改學(xué)生的成績信息,提供多種成績的查詢方式。1)登陸模塊
每個用戶只有三次登陸機會,三次均未能輸入正確的用戶名和密碼,系統(tǒng)將強行推出。參考界面如下所示
2)主控模塊
進入系統(tǒng)主界面后,自動打開學(xué)生成績數(shù)據(jù)庫,“學(xué)號”,“姓名”,“班級”,“英語”,“VB”,“數(shù)據(jù)庫”6個字段分別綁定相應(yīng)文本框,“總分”和“平均分”的內(nèi)容根據(jù)“英
語”,“VB”,“數(shù)據(jù)庫”文本框內(nèi)容的改變而改變。
單擊“首記錄”,“尾記錄”,“上一條”,“下一條”按鈕可以瀏覽數(shù)據(jù)庫,但不能修改記錄。通過選擇相關(guān)菜單命令可以執(zhí)行相應(yīng)的操作。其中執(zhí)行“輸入”和“修改”命令后,“首記錄”和“尾記錄”按鈕隱藏,“上一條”,“下一條”按鈕變?yōu)椤按_定”和“取消”按鈕,參考界面如下:
3)查詢模塊
可以通過選擇不同的菜單命令進入查詢模塊后,根據(jù)用戶輸入不同的查詢條件在查詢窗體中顯示查詢菜單,參考圖如下所示:
根據(jù)不同的查詢所得查詢界面參考下圖:
3.彈球游戲要求理解游戲玩法,正確設(shè)計游戲規(guī)則,合理設(shè)計實現(xiàn)算法,參照演示程序?qū)崿F(xiàn)功能。
4.圖書館管理系統(tǒng)要求實現(xiàn)功能有:用戶登陸,圖書的借閱和歸回,圖書信息的添加,修改,查詢和刪除操作。
5.打字練習(xí)程序要求自行設(shè)計程序界面,能夠?qū)崿F(xiàn)打字測試和打字練習(xí)功能,對打字正確率和速度進行測試,并給出測試結(jié)果。
6. 超市銷售管理系統(tǒng)要求實現(xiàn)登陸管理,超市銷售商品管理(銷售商品的添加、刪除和修改)查看超市的全部銷售記錄,可按銷售記錄號、銷售商品名稱查詢相關(guān)銷售記錄、銷售統(tǒng)計等功能。
7.小型測試系統(tǒng)的設(shè)計與實現(xiàn)要求能夠隨機生成20道數(shù)學(xué)計算題(要求有加,減,乘,除運算,規(guī)定操作數(shù)的個數(shù)),對用戶結(jié)果進行判斷,并能最終計算總成績,要求用戶在規(guī)定的時間內(nèi)做完試題,超時自動終止并給出成績。
8.倉庫管理系統(tǒng)要求實現(xiàn)注冊登陸功能,對倉庫信息的添加、刪除和修改,入庫和出庫的登記和查詢操作等。
9.猜數(shù)字游戲要求:游戲開始電腦隨機產(chǎn)生一個數(shù)字不重復(fù)的四位數(shù);將猜的數(shù)填在框內(nèi)按回車或者確定按鈕提交;電腦會將提交的數(shù)與它自動產(chǎn)生的數(shù)進行比較,結(jié)果顯示成“*A*B”。A代表位置正確數(shù)字也正確,B代表數(shù)字正確但位置不正確,比如:“2A2B”表示有2個數(shù)字的位置正確且數(shù)值也正確,除此以外,還猜對了2個數(shù)字,但位置不對;共有10次機會,在10次內(nèi),如果結(jié)果為“4A0B”,游戲成功。如果10次里都沒有猜對游戲失敗。
10.工資管理系統(tǒng):建立職工數(shù)據(jù)庫表,能夠存儲每個職工當(dāng)月的工資信息,包括:編號、部門、姓名、基本工資、崗位工資、職務(wù)補貼、獎金、房租、水電費、實發(fā)工資等數(shù)據(jù)。系統(tǒng)應(yīng)具有增加人員、刪除人員、查詢數(shù)據(jù)、修改數(shù)據(jù)、統(tǒng)計實發(fā)工資、報表輸出、退出系統(tǒng)等功能。
第二篇:VB程序設(shè)計課程設(shè)計
VB程序設(shè)計課程設(shè)計
1、目的
VB程序設(shè)計課程設(shè)計是考察學(xué)生對VB程序設(shè)計課程相關(guān)知識點掌握情況的重要環(huán)節(jié),也是激勵學(xué)生進一步學(xué)習(xí)VB、提高運用VB開發(fā)實際計算機程序的能力。課程設(shè)計的重點在于學(xué)生利用VB開發(fā)程序的能力。
2、課程設(shè)計題目
學(xué)生信息管理系統(tǒng)
3、程序功能
該程序具有建立數(shù)據(jù)庫,建立數(shù)據(jù)庫表,添加數(shù)據(jù),刪除數(shù)據(jù),查詢學(xué)生每學(xué)期成績、不及格情況、積點情況等相關(guān)信息的功能。
4、實現(xiàn)要求
每個學(xué)生建立一個數(shù)據(jù)庫(名字自擬),數(shù)據(jù)庫中建立學(xué)生基本信息表(學(xué)號、姓名、性別、出生年、出生月、出生日、聯(lián)系電話、年級、班級、住址等)、學(xué)生成績表(學(xué)號、課程號、成績、學(xué)期等)、課程信息表(課程號、課程名稱、出版社、出版日期、版次、頁碼、價格、課程類型(基礎(chǔ)課、專業(yè)基礎(chǔ)課、選修課等)、開課學(xué)院等)。
把課程信息、每一學(xué)期的成績等分別輸入相應(yīng)的表中,其中學(xué)生基本信息表記錄不少于5個學(xué)生的信息。
在以上數(shù)據(jù)的基礎(chǔ)上,實現(xiàn)相關(guān)的程序功能(不僅僅第3條指定的功能)。
設(shè)計多界面程序,相關(guān)查詢結(jié)果應(yīng)由不同的界面顯示,每個同學(xué)顯示結(jié)果的形式應(yīng)盡量不同。
5、考核
根據(jù)學(xué)生實現(xiàn)程序功能多少(40分)、界面設(shè)計情況(20分)、課程設(shè)計報告撰寫情況(20)、答辯情況(20分)進行考核。雷同者應(yīng)重做。
6、課程設(shè)計報告內(nèi)容
1)課程設(shè)計題目
2)課程設(shè)計的目的3)程序功能介紹
4)程序界面設(shè)計與控件屬性設(shè)置
5)程序代碼編寫
6)程序演示(將運行過程用截圖方式截下來,并對輸入數(shù)據(jù)、輸出的結(jié)果進行適當(dāng)說明)
7)課程學(xué)習(xí)與課程設(shè)計心得體會
7、上交材料
本次課程設(shè)計以小班為單位上交如下資料:
1)光盤:每一小班建立一個目錄(專業(yè)年級班級),在此目錄下建立每個同學(xué)的目錄(學(xué)號姓名),在每個同學(xué)的目錄下保存該同學(xué)的電子版的課程設(shè)計報告、打包的程序。
2)紙制版的課程設(shè)計報告
第三篇:程序設(shè)計與算法語言課程設(shè)計題目
程序設(shè)計與算法語言課程設(shè)計大綱
理學(xué)院數(shù)學(xué)系所開設(shè)的程序設(shè)計與算法語言課程設(shè)計是教學(xué)實踐環(huán)節(jié)中一項重要內(nèi)容,進行此課程設(shè)計的旨在:
1.提高和加強學(xué)生的計算機應(yīng)用與軟件開發(fā)能力,使學(xué)生由初學(xué)者向?qū)I(yè)的程序員過渡。
2.培養(yǎng)學(xué)生獨立分析問題、解決問題、查閱資料以及自學(xué)能力,以適應(yīng)計算機產(chǎn)業(yè)日新月異發(fā)展的形勢。
3.學(xué)習(xí)和掌握C或C++程序設(shè)計方法以及上機調(diào)試技巧,為今后學(xué)習(xí)其它專業(yè)課程打好基礎(chǔ)。
本次課程設(shè)計是以學(xué)生獨立思考解決問題為主,教師指導(dǎo)為輔,結(jié)合上機操作,完成指定的任務(wù),作出設(shè)計報告。
具體安排如下:
采用C或C++進行程序設(shè)計,設(shè)計以下系統(tǒng),任意選一個題目。1.職工信息管理
職工信息包括職工號、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號不重復(fù))。試設(shè)計一職工信息管理系統(tǒng),系統(tǒng)以菜單方式工作,使之能提供以下功能: ? 職工信息錄入功能(職工信息用文件保存)? 職工信息瀏覽功能
? 查詢和排序功能:按工資查詢和按學(xué)歷查詢或按年齡等查詢 ? 職工信息刪除、修改功能 ? 統(tǒng)計功能 2.圖書管理
圖書信息包括:登錄號、書名、作者名、分類號、出版單位、出版時間、價格等。試設(shè)計一圖書信息管理系統(tǒng),系統(tǒng)以菜單方式工作,使之能提供以下功能: ? 圖書信息錄入功能(圖書信息用文件保存)? 圖書信息瀏覽功能
? 查詢和排序功能,按書名查詢和按作者名查詢或價格等查詢 ? 圖書信息的刪除與修改 ? 統(tǒng)計功能 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)計數(shù)據(jù):按學(xué)號升序顯示全部學(xué)生的信息;
? 按平均分降序打印全部學(xué)生的信息,并保存到磁盤文件“.txt”; ? 統(tǒng)計不及格課程學(xué)生的信息。? 對上題的學(xué)生數(shù)據(jù)原型為:
99101
李強
男
99102
王麗
女
...........................4.作一個背單詞的小程序
設(shè)計一背單詞的小程序,程序以菜單方式工作,字典使用文本文件存放就可以了。使之能提供以下功能: ? 添加新詞
? 支持順序測驗和隨即測驗 ? 記錄沒背過的詞
? 查找單詞的漢語或英語意思(輸入中文查對應(yīng)的英語意思,輸入英文查對應(yīng)漢語意思)
5.賓館客房管理
賓館的客房信息包括客房號、客房類型、客房價格、空閑情況、客人姓名、客人身份證號、入住時間、退房時間,預(yù)付費用等信息。試設(shè)計一賓館客房管理系統(tǒng)統(tǒng),系統(tǒng)以菜單方式工作,使之能提供以下功能: ? 客房信息的錄入功能 ? 客人入住登記 ? 客人退房結(jié)算
? 客房信息瀏覽功能,瀏覽全部客房的信息
? 客房信息查詢:查詢空房間情況、按姓名或房間號查詢 ? 客房信息的刪除、修改功能 6.電腦報價
電腦各部件的信息包括:部件名、價格、分類號、型號,廠商、報價時間等。試設(shè)計一電腦報價系統(tǒng),系統(tǒng)以菜單方式工作,使之能提供以下功能: ? 添加電腦各部件的信息功能(用文件保存)? 查詢功能,按類型、價格等查詢 ? 生成報價單
? 電腦各部件的信息的刪除與修改 7.工資管理
一高校有五類職工:教師,實驗員,行政人員,教師兼職實驗員,行政人員兼職教師?,F(xiàn)要求編寫程序來完成如下功能:
? 職工工資的輸入
? 職工工資的刪除和修改 ? 查詢和統(tǒng)計功能 ? 輸出顯示。
其中工資的基本構(gòu)成如下:
教師:基本工資(1000)+課時費(月工作量—24)X30; 實驗員:基本工資(800)+實驗室補助(150); 行政人員:基本工資(900)+行政補貼(250); 教師兼職實驗員:基本工資(1000)+課時費[(月工作量—12)X30]+實驗室補助(150); 行政人員兼職教師:基本工資(900)+行政補貼(210)+課時費(月工作量X30); 8.學(xué)生通訊系統(tǒng)
學(xué)生通信錄信息包括:姓名、學(xué)號、年齡、性別、家庭住址、聯(lián)系電話、寢室號等信息?,F(xiàn)要求編寫程序來完成如下功能:
? 學(xué)生通信錄信息的輸入
? 學(xué)生的通信錄信息刪除和修改 ? 學(xué)生的通信錄信息查詢和統(tǒng)計功能 ? 學(xué)生的通信錄信息輸出顯示。9.模擬物體的自由落體
內(nèi)容:模擬一個物體的自由落體過程。從“高空”釋放一個物體,它在下降的過程中速度會越來越快,落地反彈后在上升的過程中它的速度會越來越慢。要求:聯(lián)系判斷和循環(huán)語句的使用,延遲函數(shù)的使用。
10.大整數(shù)階乘新思路
內(nèi)容:實現(xiàn)一個計算大整數(shù)階乘的程序。通常使用遞歸來計算一個整數(shù)的階乘。但是,應(yīng)為計算本身能夠表示的最大整數(shù)是有限的。所以能夠計算的階乘整數(shù)要受到限制。本程序用數(shù)組來存儲足夠大的數(shù)組就能計算任意大的整數(shù)。要求:巧用算數(shù)運算符和數(shù)組實現(xiàn)大整數(shù)的階乘計算。
11.多樣的立方體
在DOS環(huán)境下用C語言中的圖像函數(shù)制作一系列立方體圖,從一系列變化的立方體中抽選出幾個,并且立方體的大小和位置在不斷的變化,然后做了一系列正面不同填充的變化。要求:使用循環(huán)語句和制圖函數(shù)。
12.簡易時鐘 內(nèi)容:在DOS環(huán)境下用C語言中的圖形函數(shù)制作一個簡易時鐘,這個時鐘由圓和直線構(gòu)成,時鐘所取時間為系統(tǒng)的當(dāng)前時間,并且每個1秒刷新一次圖像。要求:使用宏定義、循環(huán)語句和制圖函數(shù)。13.用柱狀圖表示學(xué)生成幾個分段比率
內(nèi)容:隨機生成N個學(xué)生的成績,并且計算每個分數(shù)段學(xué)生的人數(shù),然后使用柱狀圖在屏幕上顯示學(xué)生成績的分布情況。要求:使用循環(huán)語句和制圖函數(shù)。
14、簡單圖形處理系統(tǒng)
設(shè)某圖形處理程序只考慮點、直線、圓三種基本圖形。對于點,給出點的橫縱坐標;對于直線,給出直線方程ax+by+c=0的三個系數(shù)a,b,c;對于圓,給出圓心坐標和半徑。試說明圖形的幾何形狀類型,并編寫輸入和輸出圖形數(shù)據(jù)、求兩點矩離、求兩直線交點、已知點和半徑形成圓、已知兩點形成直線等函數(shù)。
15、模擬時鐘轉(zhuǎn)動程序
要求: 能模擬機械鐘表行走,還要準確地利用數(shù)字顯示日期和時間,在屏幕上顯示一個活動時鐘,按任意鍵時程序退出。
16、皇后問題
在國際象棋中,能否在空棋盤上擺放八個皇后,并使其中任意兩個皇后不能在同一行或同一列或同一對角線上,并編寫完整的擺放八皇后問題的程序。要求:第一個皇后的起始位置由鍵盤輸入,國際象棋的棋盤為8*8的方格。
17.紅旗圖案的制作
內(nèi)容:在DOS環(huán)境下用C語言中的圖形函數(shù)制作一個紅旗。關(guān)鍵點是模擬出紅旗的波浪形狀。
要求:使用宏定義、循環(huán)語句和制圖函數(shù)。
18、雙向鏈表的排序
要求:輸入一個雙向鏈表,顯示些雙向鏈表并對此雙向鏈表排序
19、學(xué)生籍貫信息記錄簿
編制一個學(xué)生籍貫信息記錄簿,每個學(xué)生信息包括:學(xué)號、姓名、籍貫。具體功能:
(1)創(chuàng)建信息鏈表并以磁盤文件保存;
(2)讀取磁盤文件并顯示輸出所有學(xué)生的籍貫信息;
(3)按學(xué)號或姓名查詢其籍貫;
(4)按籍貫查詢并輸出該籍貫的所有學(xué)生;(5)能添加、刪除和修改學(xué)生的籍貫信息;
(6)顯示輸出四川籍和非四川籍學(xué)生的信息并可分別存盤。20、學(xué)生選修課程系統(tǒng)設(shè)計
假定有n門課程,每門課程有課程編號,課程名稱,課程性質(zhì),總學(xué)時,授課學(xué)時,實驗或上機學(xué)時,學(xué)分,開課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課。試設(shè)計一選修課程系統(tǒng),使之能提供以下功能: 系統(tǒng)以菜單方式工作? 課程信息錄入功能(課程信息用文件保存)--輸入? 課程信息瀏覽功能--輸出? 查詢功能:(至少一種查詢方式)--算法? 按學(xué)分查詢? 按課程性質(zhì)查詢? 學(xué)生選修課程(可選項)? 21.設(shè)計一個簡單計算器
要求: 在功能上功能盡量模擬windows操作系統(tǒng)中的計算器,系統(tǒng)界面不做強制要求。
22、編寫一萬年歷系統(tǒng)
要求: 模仿現(xiàn)實生活中的掛歷.當(dāng)前頁以系統(tǒng)當(dāng)前日期的月份為準顯示當(dāng)前月的每一天(顯示出日及對應(yīng)的星期幾).當(dāng)系統(tǒng)日期變到下一月時,系統(tǒng)自動翻頁到下一月
23、成績排序
假設(shè)某年級有4個班,每班有45名同學(xué)。本學(xué)期有5門課程考試,每門課程成績是百分制。假定每個同學(xué)的成績記錄包含:學(xué)號、姓名各門課程的成績共7項,其中學(xué)號是一個10位的字符串,每個學(xué)生都有唯一的學(xué)號,并且這4個班的成績分別放在4個數(shù)組中,完成以下操作要求:
⑴ 編寫一個成績生成函數(shù),使用隨機數(shù)方法,利用隨機函數(shù)生成學(xué)生的各門課程的成績(每門課程的成績都是0∽100之間的整數(shù)),通過調(diào)用該函數(shù)生成全部學(xué)生的成績;
⑵ 編寫一個平均成績計算函數(shù),計算每個同學(xué)的平均成績并保存在成績數(shù)組中; ⑶ 用冒泡排序法對4個班的成績按每個同學(xué)的平均成績的以非遞增方式 進行班內(nèi)排序;
⑷ 用選擇排序法對4個班的成績按每個同學(xué)的平均成績的以非遞增方式進行班內(nèi)排序;
⑸ 對已按平均成績排好序的4個班的同學(xué)的構(gòu)造一個所有按平均成績的以非遞增方式排列的新的單鏈表;
⑹ 設(shè)計一個菜單,至少具有上述操作要求的基本功能。
24、航班信息管理 問題描述:
飛機航班系統(tǒng)的數(shù)據(jù)包括兩部分:
① 航班信息:航班號、最大載客數(shù)、起飛地點、起飛時間、降落地點、降落時間,單價;
② 乘客信息:航班號、身份證號碼、姓名、性別、出生年月、座位號。乘客訂票的主要方式是:乘客提出航班號、起飛地點、起飛時間、降落地點、訂票數(shù)等訂票要求,根據(jù)事先保存的航班數(shù)據(jù)決定乘客能否訂票?只有全部滿足了乘客的訂票要求并且所訂航班有足夠的未訂座位之后才能完成訂票處理,并且修改該航班的未訂座位數(shù)(每個航班的未訂座位數(shù)的初始值就是該航班的最大載客數(shù));否則,訂票失敗,并且給出不能訂票的原因。
要求將航班數(shù)據(jù)保存在數(shù)據(jù)文件中,在處理時按航班的起飛地點建立不同的鏈表。
功能要求 :
⑴ 增加航班記錄。將新的航班記錄增加到原有的航班數(shù)據(jù)文件中。在進行處理時必須檢查所要增加的航班記錄是否存在,如果已經(jīng)存在,應(yīng)給出提示信息后停止增加;
⑵ 航班取消。如果某次航班的乘客數(shù)太少(已訂票的少于本次航班最大載客數(shù)的10%),將取消該航班,但該航班的記錄仍然保存在原有的航班數(shù)據(jù)文件中; ⑶ 航班查詢。應(yīng)該有以下幾種基本的查詢方式:按航班號、按起飛地點和起飛時間、按降落地點,按起飛地點和降落地點;
⑷ 航班訂票。按上述問題描述中的乘客訂票方式完成航班訂票處理。⑸ 設(shè)計一個菜單,至少具有上述操作要求的基本功能。
25、猴子摘桃子 問題描述:
五只猴子一起摘了一堆桃子,因為太累,五只猴子決定先睡一覺再分。不久,其中一只猴子醒來了,它見別的猴子沒有醒來,便將一堆桃子平均分成 5 份,結(jié)果多了一個,就將多的這個吃了,拿走其中的一份并離開。又不久,第二只猴子醒來了,它不知道有一個同伴已經(jīng)拿走過桃子,便又將剩下的桃子平均分成 5 份,發(fā)現(xiàn)也多了一個,同樣吃了這一個,拿走其中的一份。如此類推第3只,第4只,第5 只猴子都是這樣分、吃、拿走。問這5只猴子至少摘了多少個桃子? 根據(jù)上述描述,編制程序解決問題。
26、運動會管理系統(tǒng) 問題描述:
校際運動會管理系統(tǒng)。設(shè)有n個學(xué)校參加校際運動會,共有男子競賽項目數(shù)m,女子競賽項目數(shù)w。每個學(xué)??梢詤⒓铀懈傎愴椖?,也可以只參加部分競賽項目,每個學(xué)校對每個項目的參賽運動員不能超過4人,每個運動員最多只能參加3項單項比賽,團體賽不受限制。
各項目名次取法有如下幾種:用戶自定義:(各名次權(quán)值由用戶指定)
① 參賽人數(shù)超過6人,取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;
②參賽人數(shù)不超過6人,取前3名:第1名得分 5,第2名得分 3,第3名得分2;
③ 團體項目的名次取法和上面相同,但分數(shù)加倍。功能要求 :
⑴ 運動員報名登記,以學(xué)校為單位進行運動員報名登記,登記的限制要求按問題描述的要求;
⑵ 參賽信息查詢,查看參賽學(xué)校信息和比賽項目信息; ⑶ 競賽檢錄,每項比賽開始前完成參賽運動員的檢錄; ⑷ 競賽成績登記,填寫比賽名次,然后根據(jù)競賽檢錄的運動員人數(shù)和上述的記分方式自動完成各學(xué)校的成績登記并實時生成各學(xué)校的團體總分;
⑸ 比賽成績查詢,可以按競賽項目、參賽學(xué)校、參賽運動員查看比賽成績; ⑹ 競賽成績排序,以學(xué)校為單位,按總成績的高低,分別排序輸出每個學(xué)校的總成績、男子總成績、女子總成績;
⑺ 設(shè)計一個菜單,至少具有上述操作要求的基本功能。
27、集合運算
設(shè)有兩個用單鏈表表示的集合A、B,其元素類型是int且以非遞減方式存儲,其頭結(jié)點分別為a、b。要求下面各問題中的結(jié)果集合同樣以非遞減方式存儲,結(jié)果集合不影響原集合。實現(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è)計一個菜單,具有輸入集合元素、求集合A、B的交C、求集合A、B的并D、求集合A與B的對稱差E、退出等基本的功能。
測試數(shù)據(jù):由讀者自定,但集合A、B的元素個數(shù)不得少于16個。
第四篇:VB 課程設(shè)計
學(xué)生成績管理系統(tǒng)一、功能描述
首先簡單地闡述本人所要實現(xiàn)系統(tǒng)的目的,然后應(yīng)較詳細的敘述本系統(tǒng)所要實現(xiàn)的功能。
************ *******
二、概要設(shè)計
1、系統(tǒng)功能模塊框圖設(shè)計
根據(jù)功能描述,建立系統(tǒng)的體系結(jié)構(gòu),即將整個系統(tǒng)分解成若干子功能模塊,并用框圖表示各功能模塊之間的銜接關(guān)系,并簡要說明各模塊的功能。
程序流程框圖如圖所示:(僅供參考)
圖1 程序流程圖
2、數(shù)據(jù)庫設(shè)計
包括數(shù)據(jù)庫的組成說明,數(shù)據(jù)庫中各表的結(jié)構(gòu)說明(包括字段名、字段類型等),可以包含圖片例如下表:
表1 學(xué)生信息表
三、詳細設(shè)計
詳細說明主要窗體的實現(xiàn)過程,包括窗體的設(shè)計圖片及其上所包含的控件名和屬性設(shè)置;
詳細說明主要操作的代碼實現(xiàn)過程,包括過程間的調(diào)用關(guān)系(注:在此給出不完全代碼)。如下所示:
1、賬號登錄
帳號登錄模塊中登錄與注冊兩按鈕,單擊注冊會進入注冊模塊中,單擊登錄會進入系統(tǒng)進行下一步的操作,帳號文本框與數(shù)據(jù)庫相連接,當(dāng)在帳號文本框輸入帳號后點擊登錄按鈕后,會在數(shù)據(jù)庫中進行查詢看數(shù)據(jù)庫中是否會有該帳號,且該帳號的密碼是否與密碼框中輸入的相同,如果相同會進入系統(tǒng),如果不存在該賬號或密碼與帳號不相匹配,則會提示“帳號或密碼錯誤”,帳號文本框會得到焦點,讓重新輸入。
(1)窗體截圖(如圖2)
圖2 注冊窗體
(2)功能實現(xiàn)
2、學(xué)生信息查詢窗體
圖3 查詢窗體
四、調(diào)試中存在的問題及解決方法
包括調(diào)試過程中遇到的主要問題及采取的解決方法。例如:
1、注冊賬號出現(xiàn)的錯誤
數(shù)據(jù)庫中帳號被設(shè)為主鍵,當(dāng)注冊時的帳號與數(shù)局庫中的帳號有相同時就會出錯。
2、解決方法:在寫入數(shù)據(jù)庫前先進行查詢數(shù)據(jù)庫
五、心得體會
本人在本次實習(xí)中取得的收獲、遇到的困難、如何面對和克服各種困難、本系統(tǒng)的不足之處,將要改進的思想等。
六、參考文獻
[1] 羅朝盛.Visual Basic 6.0程序設(shè)計教程(第3版).人民郵電出版社,2009年2月
[2] [3]
七、附錄
包括全部源程序清單(程序中應(yīng)有足夠的注釋)。
第五篇:VB課程設(shè)計
課程設(shè)計
學(xué) 院 班 級
指導(dǎo)老師
姓 名 學(xué) 號 成 績
2013年 月 10
日
一.課程設(shè)計題目
學(xué)生管理系統(tǒng)
二.功能描述
按設(shè)定的用戶名密碼進行登錄后,可按需求進行對數(shù)據(jù)庫中已有的學(xué)生信息及成績進行查詢,添加,刪除,修改等操作。
三.概要設(shè)計
登錄界面功能:讓用戶進行登錄。主界面功能:讓用戶選擇進行哪項操作。
查詢學(xué)生信息菜單功能:輸入學(xué)生學(xué)號,對該學(xué)生的個人信息以
及成績進行查詢,若直接點擊查詢按鈕,則顯示全部學(xué)生個人信息及成績。
編輯學(xué)生信息菜單功能:可對數(shù)據(jù)庫中已有的學(xué)生信息進行查
詢,添加,刪除,修改等操作。
學(xué)生信息維護菜單功能:可對數(shù)據(jù)庫中已有的學(xué)生成績進行查
詢,添加,刪除,修改等操作。
四.詳細設(shè)計
五.效果以及存在問題
說明系統(tǒng)的運行效果(附上運行界面圖片)、存在哪些不足以及預(yù)期的解決辦法。
登錄界面
登錄學(xué)生管理系統(tǒng)
按查詢條件查詢
打開修改學(xué)生信息子窗口
學(xué)生成績維護子窗口
垂直窗口排列
關(guān)于窗口
不足:1.沒有實現(xiàn)用戶登錄界面中的注冊功能
2.沒有實現(xiàn)主界面中文件下的新建和保存功能。
六.心得體會
經(jīng)過幾天的苦戰(zhàn),終于把課程設(shè)計粗略的做完了。剛開始做的時候,毫無頭緒,一片茫然。好在書本上有類似的實驗,可以供參考。盡管如此,真正做起項目來,還是有著這樣那樣的困難,有時一個空格少打都會出錯,導(dǎo)致我檢查了半天才發(fā)現(xiàn)問題所在。由于VB語法還運用不熟練,很多代碼都是模仿書本上的敲的,許多代碼往往能編譯通過,但很多都會拋出各種異常,讓人頭疼。有時系統(tǒng)就給出個有個參數(shù)沒有被指定值,就可以讓人搞的焦頭爛額。因此,寫程序真的也很需要強大的耐心,只要熬下去了,當(dāng)你做出程序時,也會倍有成就感。目前,程序是基本寫完了,平常學(xué)的理論都得到了運用,感覺自己的能力也增強了。一句話,實踐才是硬道理。
七.附錄代碼
(附上各模塊代碼)
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é)生成績維護菜單
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
八.參考文庫
百度文庫,百度知道