版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、30.net程序設(shè)計(jì) 課程設(shè)計(jì)學(xué) 院 班 級(jí) 姓 名 學(xué) 號(hào) 姓 名 學(xué) 號(hào) 成 績(jī) 指導(dǎo)老師 2015年 01 月 15 日目錄第一章 課程設(shè)計(jì)任務(wù)3第二章 總體設(shè)計(jì)思路31.程序功能簡(jiǎn)介32.程序流程圖33.抽獎(jiǎng)程序類關(guān)系圖44.詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4第三章 程序測(cè)試51.測(cè)試抽獎(jiǎng)52.測(cè)試獲獎(jiǎng)名單123.測(cè)試重置124.測(cè)試查看抽獎(jiǎng)名單135.測(cè)試添加抽獎(jiǎng)?wù)?46.測(cè)試修改抽獎(jiǎng)?wù)咝畔?5第四章 設(shè)計(jì)體會(huì)16第五章 程序源碼第1章 課程設(shè)計(jì)任務(wù)1)能夠在電腦上抽獎(jiǎng),分別抽取4等獎(jiǎng)、3等獎(jiǎng)、2等獎(jiǎng)、1等獎(jiǎng)、特等獎(jiǎng),設(shè)定每種獎(jiǎng)項(xiàng)的人數(shù)后分別一次抽取每個(gè)獎(jiǎng)項(xiàng)。2)按給定的總?cè)藬?shù)以序號(hào)或電話號(hào)碼為抽獎(jiǎng)依
2、據(jù)。3)要求屏幕上能夠顯示抽獎(jiǎng)的號(hào)碼滾動(dòng)過(guò)程,按“停止”按鈕給出抽獎(jiǎng)結(jié)。第2章 總體設(shè)計(jì)思路1.程序功能簡(jiǎn)介:能夠?qū)崿F(xiàn)分別抽取4等獎(jiǎng)、3等獎(jiǎng)、2等獎(jiǎng)、1等獎(jiǎng)、特等獎(jiǎng)。能夠?qū)崿F(xiàn)重置抽獎(jiǎng)記錄。能夠?qū)崿F(xiàn)查詢抽取后的獲獎(jiǎng)情況。能夠?qū)崿F(xiàn)添加,查看,修改參與抽獎(jiǎng)的抽獎(jiǎng)人信息。2. 程序流程圖3. 抽獎(jiǎng)程序類關(guān)系form1類:主窗體用來(lái)選擇獎(jiǎng)項(xiàng)進(jìn)行抽獎(jiǎng),重置,顯示獲獎(jiǎng)名單,抽獎(jiǎng)管理hjjl類:是用來(lái)顯示獲獎(jiǎng)名單bjmd類:添加參與抽獎(jiǎng)的抽獎(jiǎng)?wù)叩男彰碗娫抍jgl類:用查看抽獎(jiǎng)?wù)撸薷某楠?jiǎng)?wù)咝畔ⅲ砑有碌某楠?jiǎng)?wù)遚kmd類:查看參與抽獎(jiǎng)的抽獎(jiǎng)?wù)呙麊蝖jjl類:顯示各獎(jiǎng)項(xiàng)抽獎(jiǎng)結(jié)果index.mdb:數(shù)據(jù)庫(kù)tjmd
3、:實(shí)現(xiàn)抽獎(jiǎng)?wù)咝畔⑻砑?.詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)第三章 程序測(cè)試1.測(cè)試抽獎(jiǎng)開(kāi)特等獎(jiǎng)一名:開(kāi)一等獎(jiǎng)一名:開(kāi)二等獎(jiǎng)兩名:三等獎(jiǎng)三名:四等獎(jiǎng)四名:2. 測(cè)試獲獎(jiǎng)名單3. 測(cè)試重置4. 測(cè)試查看抽獎(jiǎng)名單5. 測(cè)試添加抽獎(jiǎng)?wù)?. 測(cè)試修改抽獎(jiǎng)?wù)咝畔⒌?章 設(shè)計(jì)體會(huì)本次課程設(shè)計(jì),我們組的任務(wù)是通過(guò).net程序完成一個(gè)抽獎(jiǎng)程序設(shè)計(jì)。我們的這個(gè)抽獎(jiǎng)程序主要是使用了visual studio軟件和access來(lái)完成的。整個(gè)程序我們主要用form1這個(gè)類來(lái)實(shí)現(xiàn)主窗體設(shè)計(jì)并進(jìn)行選擇獎(jiǎng)項(xiàng),進(jìn)行抽獎(jiǎng),重置,顯示獲獎(jiǎng)名單,抽獎(jiǎng)管理。hjjl這個(gè)類主要是用來(lái)顯示獲獎(jiǎng)名單。bjmd類主要是用來(lái)添加參與抽獎(jiǎng)的抽獎(jiǎng)?wù)叩男彰碗娫挕jg
4、l類主要是用查看全部抽獎(jiǎng)?wù)咝畔?,修改抽?jiǎng)?wù)咝畔ⅲ砑有碌某楠?jiǎng)?wù)咝畔?。ckmd類主要是查看參與抽獎(jiǎng)的抽獎(jiǎng)?wù)呙麊巍jjl類主要是顯示各獎(jiǎng)項(xiàng)抽獎(jiǎng)結(jié)果。index.mdb:數(shù)據(jù)庫(kù)內(nèi)容。當(dāng)然我們編的這個(gè)程序也不是完全沒(méi)有問(wèn)題的,在這個(gè)完成的抽獎(jiǎng)程序中編輯參加抽獎(jiǎng)?wù)呙麊蔚墓δ軐?shí)現(xiàn)的不是很好,我們最后使用時(shí)發(fā)現(xiàn)了它存在一些小bug致使他不能正常的完成他應(yīng)該有的功能,還有就是我們抽獎(jiǎng)程序每個(gè)獎(jiǎng)項(xiàng)的獲獎(jiǎng)人數(shù)設(shè)定是內(nèi)置固定的不能實(shí)現(xiàn)外部的可設(shè)置可修改各獎(jiǎng)項(xiàng)的獲獎(jiǎng)人數(shù),對(duì)于這點(diǎn)我們感到很遺憾,這方面沒(méi)有達(dá)到開(kāi)始的時(shí)候設(shè)計(jì)的要求。在整個(gè)程序的界面設(shè)計(jì)上,我們?cè)O(shè)計(jì)的這個(gè)抽獎(jiǎng)程序,使用簡(jiǎn)潔的界面理念以及合理的布局,主要
5、是為了可以讓他擁有簡(jiǎn)單的操作。簡(jiǎn)單界面和布局可以讓用戶更好的體驗(yàn)功能,并可以使用戶較為快速的上手操作。為此我們?cè)诰W(wǎng)查找相關(guān)材料,參考一些別人設(shè)計(jì)的優(yōu)秀的例子,最終在大家的集思廣益下結(jié)合我們自己的的特色,完成了這個(gè)作品的外觀設(shè)計(jì)。對(duì)于這次.net的課程設(shè)計(jì),讓我們整個(gè)小組成員感慨很多,首先是與周圍同學(xué)在此課程上的一些差距,再就是組員之間的能力差距。在這個(gè)抽獎(jiǎng)系統(tǒng)開(kāi)發(fā)期間,我們小組也遇到了一些我們自己也無(wú)法解決的問(wèn)題,這個(gè)時(shí)候我們就會(huì)上網(wǎng)來(lái)查閱一些相關(guān)資料來(lái)加以了解和解決。這樣不僅鞏固了之前課上所學(xué)過(guò)的一些知識(shí),也讓我們學(xué)到了很多在書本上沒(méi)有學(xué)到的知識(shí)。對(duì)于在這次設(shè)計(jì),一切問(wèn)題必須要靠自己一點(diǎn)一滴
6、的解決,而在解決的過(guò)程當(dāng)中你會(huì)發(fā)現(xiàn)自己在飛速的提升。此次課程設(shè)計(jì)反映的是一個(gè)從理論到實(shí)際應(yīng)用的過(guò)程,但是更遠(yuǎn)一點(diǎn)可以聯(lián)系到以后畢業(yè)之后從學(xué)校轉(zhuǎn)到踏上社會(huì)的一個(gè)過(guò)程。小組人員的配合、相處,以及自身的動(dòng)腦和努力,都是以后工作中需要的。 第5章 源碼using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.threading.tasks;
7、using system.windows.forms;namespace cjxt public partial class bjmd : form public bjmd() initializecomponent(); private void button1_click(object sender, eventargs e) try class1 bj = new class1(); string sql = string.format("update shoujihao set shoujihaoma='0',name='1' where sh
8、oujihaoma='0'", textbox1.text, textbox2.text); if (textbox1.text = "") messagebox.show("手機(jī)號(hào)碼不能為空!"); else if (textbox2.text = "") messagebox.show("姓名不能為空!"); else if (bj.updatesql(sql) messagebox.show("修改成功!"); else messagebox.show("
9、;修改失?。?quot;); catch messagebox.show("數(shù)據(jù)輸入有誤!請(qǐng)重新試"); private void button2_click(object sender, eventargs e) textbox1.resettext(); textbox2.resettext(); using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using s
10、ystem.text;using system.threading.tasks;using system.windows.forms;namespace cjxt public partial class cjgl : form public cjgl() initializecomponent(); private void button1_click(object sender, eventargs e) ckmd ck = new ckmd(); ck.show(); private void button2_click(object sender, eventargs e) tjmd
11、tj = new tjmd(); tj.show(); private void button3_click(object sender, eventargs e) bjmd bj = new bjmd(); bj.show(); using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.threading.tasks;using
12、system.windows.forms;namespace cjxt public partial class ckmd : form public ckmd() initializecomponent(); private void ckmd_load(object sender, eventargs e) class1 ck = new class1(); string sql = string.format("select * from shoujihao"); ck.getdataset(sql); datagridview1.datasource = ck.ge
13、tdataset(sql).tables0;/將讀取出的數(shù)據(jù)按行顯示到表單中 using system;using system.collections.generic;using system.linq;using system.text;using system.threading.tasks;using system.data.oledb;using system.data;namespace cjxt class class1 public static string hjmd = new string100; public static int k=0; private static
14、 string conn = "provider=microsoft.jet.oledb.4.0;data source=index.mdb;persist security info=true" oledbconnection myconn = new oledbconnection(conn); public dataset getdataset(string sql)/使用數(shù)據(jù)集來(lái)儲(chǔ)存數(shù)據(jù) oledbdataadapter da = new oledbdataadapter(sql, myconn);/創(chuàng)建數(shù)據(jù)適配器 dataset ds = new dataset(
15、); da.fill(ds);/填充數(shù)據(jù) return ds; public void updatasql(string strsql)/更新或修改數(shù)據(jù)庫(kù) myconn.open(); oledbcommand cmd = new oledbcommand(strsql, myconn);/調(diào)用數(shù)據(jù)庫(kù) cmd.executenonquery();/執(zhí)行sql所相應(yīng)的行 public boolean updatesql(string strsql)/判斷更新或修改數(shù)據(jù)庫(kù)的真假并更新或修改數(shù)據(jù)庫(kù) oledbcommand mycmd = new oledbcommand(strsql, mycon
16、n);/調(diào)用數(shù)據(jù)庫(kù) try myconn.open(); mycmd.executenonquery();/執(zhí)行sql所相應(yīng)的行 return true; catch (exception e) return false; finally myconn.close(); system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.threadin
17、g.tasks;using system.windows.forms;using system.data.oledb;namespace cjxt public partial class form1 : form boolean tedengjiang = true; boolean yidengjiang = true; boolean erdengjiang = true; boolean sandengjiang = true; boolean sidengjiang = true; int n = 0, i = 0; int n1 = 0, n2 = 0, n3 = 0, n4 =
18、0, n5 = 0; public static string srt = new string30; random ra = new random();/隨機(jī)生成數(shù) public form1() initializecomponent(); private void button1_click(object sender, eventargs e) if (n = 0)/用n來(lái)判斷搖獎(jiǎng)是否是停止搖獎(jiǎng),是則開(kāi)始搖獎(jiǎng) if (combobox1.text != "") if (tedengjiang = true && combobox1.text = &qu
19、ot;特等級(jí)" && n1 < 1)/判斷特等級(jí)獎(jiǎng)項(xiàng)是否還有剩名額 button1.text = "停止" timer1.enabled = true; n+; n1+; if (n1 = 1) tedengjiang = false; else if (yidengjiang = true && combobox1.text = "一等獎(jiǎng)" && n2 < 1)/判斷一等級(jí)獎(jiǎng)項(xiàng)是否還有剩名額 button1.text = "停止" timer1.enabled =
20、 true; n+; n2+; if (n2 = 1) yidengjiang = false; else if (erdengjiang = true && combobox1.text = "二等獎(jiǎng)" && n3 < 2)/判斷二等級(jí)獎(jiǎng)項(xiàng)是否還有剩名額 button1.text = "停止" timer1.enabled = true; n+; n3+; if (n3 = 2) erdengjiang = false; else if (sandengjiang = true && combobo
21、x1.text = "三等獎(jiǎng)" && n4 < 3)/判斷三等級(jí)獎(jiǎng)項(xiàng)是否還有剩名額 button1.text = "停止" timer1.enabled = true; n+; n4+; if (n4 = 3) sandengjiang = false; else if (sidengjiang = true && combobox1.text = "四等獎(jiǎng)" && n5 < 4)/判斷四等級(jí)獎(jiǎng)項(xiàng)是否還有剩名額 button1.text = "停止" ti
22、mer1.enabled = true; n+; n5+; if (n5 = 4) sidengjiang = false; else messagebox.show("此獎(jiǎng)項(xiàng)已經(jīng)開(kāi)過(guò)了!"); else messagebox.show("請(qǐng)選擇要抽取的獎(jiǎng)項(xiàng)!"); else/停止搖獎(jiǎng) timer1.enabled = false; button1.text = "開(kāi)始" n = 0; if (combobox1.text = "特等級(jí)")/判斷下拉菜單是不是特等級(jí),是則將獲獎(jiǎng)?wù)咪浫氲綌?shù)組中 class1.hjmd
23、class1.k+ = "特等級(jí):" + label2.text; for (; i < srt.length; i+) if (srti != null) srti = srti + 1; else if (combobox1.text = "一等獎(jiǎng)")/判斷下拉菜單是不是一等級(jí),是則將對(duì)應(yīng)獲獎(jiǎng)?wù)咪浫氲綌?shù)組中 class1.hjmdclass1.k+ = "一等獎(jiǎng):" + label2.text; for (; i < srt.length; i+) if (srti != null) srti = srti + 1;
24、else if (combobox1.text = "二等獎(jiǎng)")/判斷下拉菜單是不是二等級(jí),是則將對(duì)應(yīng)獲獎(jiǎng)?wù)咪浫氲綌?shù)組中 class1.hjmdclass1.k+ = "二等獎(jiǎng):" + label2.text; for (; i < srt.length; i+) if (srti != null) srti = srti + 1; else if (combobox1.text = "三等獎(jiǎng)")/判斷下拉菜單是不是三等級(jí),是則將對(duì)應(yīng)獲獎(jiǎng)?wù)咪浫氲綌?shù)組中 class1.hjmdclass1.k+ = "三等獎(jiǎng):"
25、; + label2.text; for (; i < srt.length; i+) if (srti != null) srti = srti + 1; else if (combobox1.text = "四等獎(jiǎng)")/判斷下拉菜單是不是四等級(jí),是則將對(duì)應(yīng)獲獎(jiǎng)?wù)咪浫氲綌?shù)組中 class1.hjmdclass1.k+ = "四等獎(jiǎng):" + label2.text; for (; i < srt.length; i+) if (srti != null) srti = srti + 1; private void form1_load(obj
26、ect sender, eventargs e) string connstr = "provider=microsoft.jet.oledb.4.0;data source=index.mdb;persist security info=true"/sql連接語(yǔ)句 oledbconnection myconn = new oledbconnection(connstr);/創(chuàng)建數(shù)據(jù)庫(kù)連接 myconn.open();/打開(kāi)數(shù)據(jù)庫(kù) string sqlstr = "select * from shoujihao"/數(shù)據(jù)庫(kù)查詢語(yǔ)句 oledbcommand
27、 cmd = new oledbcommand(sqlstr, myconn);/調(diào)用數(shù)據(jù)庫(kù) oledbdatareader odr = cmd.executereader();/讀取數(shù)據(jù)庫(kù) while (odr.read() srti = "手機(jī)號(hào):" + odr"shoujihaoma".tostring() + "-姓名:" + odr"name".tostring(); i+; i = 0; myconn.close();/關(guān)閉數(shù)據(jù)庫(kù) private void timer1_tick_1(object se
28、nder, eventargs e)/每一百毫秒隨機(jī)讀取數(shù)組中的一個(gè)參與抽獎(jiǎng)?wù)?i = ra.next(srt.length); if (srti != null) label2.text = srti; private void linklabel1_linkclicked(object sender, linklabellinkclickedeventargs e)/將所有數(shù)據(jù)重置 tedengjiang = true; yidengjiang = true; erdengjiang = true; sandengjiang = true; sidengjiang = true; clas
29、s1.hjmd0 = "" class1.hjmd1 = "" class1.hjmd2 = "" class1.hjmd3 = "" class1.hjmd4 = "" class1.hjmd5 = "" class1.hjmd6 = "" class1.hjmd7 = "" class1.hjmd8 = "" class1.hjmd9 = "" class1.hjmd10 = "&q
30、uot; class1.k = 0; label2.text = "" n1 = 0; n2 = 0; n3 = 0; n4 = 0; n5 = 0; private void linklabel2_linkclicked(object sender, linklabellinkclickedeventargs e) hjjl h = new hjjl();/實(shí)例化h對(duì)象 h.show(); private void linklabel3_linkclicked(object sender, linklabellinkclickedeventargs e) cjgl c =
31、 new cjgl();/實(shí)例化c對(duì)象 c.show(); using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.threading.tasks;using system.windows.forms;namespace cjxt public partial class hjjl : form public hjjl() initializecomponent(); private void hjjl_load(object sender, eventargs e) label2.text = class1.hjmd0; label3.text = class1.hjmd1; label4.text = class1.hjmd2; label5.text = class1.hjmd3; label6.text = class1.hjmd4; label7.text = class1.hjmd5; label8.text = class1.hjmd6; label9.text = class1.hjmd7;
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高效房地產(chǎn)經(jīng)紀(jì)服務(wù)協(xié)議示例
- 2024年融資中介服務(wù)協(xié)議范本
- 2024年二手車交易協(xié)議樣本
- 2024年商用司機(jī)短期租賃協(xié)議
- DB11∕T 1692-2019 城市樹(shù)木健康診斷技術(shù)規(guī)程
- DB11∕T 1699-2019 在用氨制冷壓力管道X射線數(shù)字成像檢測(cè)技術(shù)要求
- 2024年工程裝修全包服務(wù)協(xié)議細(xì)則
- 2024年離婚財(cái)產(chǎn)分割協(xié)議格式
- 2024年法律顧問(wèn)聘請(qǐng)協(xié)議樣本
- 2024指定區(qū)域建筑工程修復(fù)施工協(xié)議
- 零部件英文縮寫及零部件中英文對(duì)照
- 血源性病原體職業(yè)接觸防護(hù)導(dǎo)則
- 煉鋼廠6機(jī)6流小方坯連鑄機(jī)技術(shù)操作規(guī)程
- 跌倒的護(hù)理 (養(yǎng)老護(hù)理員培訓(xùn)課件)
- 船舶租賃盡職調(diào)查
- 統(tǒng)編教學(xué)小學(xué)語(yǔ)文課外閱讀《細(xì)菌世界歷險(xiǎn)記》導(dǎo)讀課課件
- 植物生理學(xué)-植物的逆境生理
- 【課件】比的基本性質(zhì)
- 小學(xué)英語(yǔ)人教新起點(diǎn)五年級(jí)上冊(cè)Unit3Animalsunit3storytime
- 2023年江蘇省淮安市中考化學(xué)試卷
- 小學(xué)英語(yǔ)名師工作室工作計(jì)劃2篇
評(píng)論
0/150
提交評(píng)論