vb課程設(shè)計(計算器)要點_第1頁
vb課程設(shè)計(計算器)要點_第2頁
vb課程設(shè)計(計算器)要點_第3頁
vb課程設(shè)計(計算器)要點_第4頁
vb課程設(shè)計(計算器)要點_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、沈陽航空航天大學(xué)課程設(shè)計學(xué) 號班級姓名指導(dǎo)教師2012年 7 月 1日課程設(shè)計任務(wù)書學(xué)院:航空宇航工程學(xué)部 專業(yè):飛行器制造工程班級:學(xué)號: 題目:我愛背單詞、課程設(shè)計時間201112第2學(xué)期 第17周,共計1周,20學(xué)時。、課程設(shè)計內(nèi)容設(shè)計一個背單詞系統(tǒng)。詞庫為“大學(xué)英語四級詞庫”或“大學(xué)英語六級詞庫”,可選擇記憶單詞的范圍可選擇單詞 的顯示方式為“循環(huán)”或“隨機(jī)”,可調(diào)整單詞顯示時的字體、大小和顏色等,可選擇單詞 切換的速度。模擬英語詞庫由學(xué)生自行編寫, 參考界面如下。三、課程設(shè)計要求 程序質(zhì)量: 貫徹事件驅(qū)動的程序設(shè)計思想。用戶界面友好,功能明確,操作方 便;可以增加其它功能或修飾。代碼

2、應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。課程設(shè)計說明書:課設(shè)結(jié)束后,上交課程設(shè)計說明書和源程序。課程設(shè)計說明書的 內(nèi)容參見提供的模板。四、指導(dǎo)教師和學(xué)生簽字指導(dǎo)教師: 學(xué)生簽名: 五、成績 六、教師評語沈陽航空航天大學(xué)設(shè)計用紙i I一、需求分析3二、設(shè)計分析4三、技術(shù)要點5四、主界面截圖8五、總結(jié).11六、完整的源程序.12七、參考文獻(xiàn)2020一、需求分析設(shè)計一個背單詞系統(tǒng)。詞庫為“大學(xué)英語四級詞庫” 或“大學(xué)英語六級詞庫”, 可選擇記憶單詞的范圍可選擇單詞的顯示方式為“循環(huán)”或“隨機(jī)”,可調(diào)整單詞顯示時的字體、大小和顏色等,可選擇單詞切換的速度。模擬英語詞 庫由學(xué)生自行編寫。1)

3、運行界面上安放Label,TextBox,CheckBox,OptionButton,ComboBox,HScrollBox,Timer ,CommandButton 控件。2)可打開“大學(xué)英語四級詞庫”或“大學(xué)英語六級詞庫”,讀取有效內(nèi)容。3) 能夠?qū)崿F(xiàn)改變背景色,字體大小,顯示速度。4) 可選擇顯示單詞的字首字母范圍。5) 程序可“暫?!?“繼續(xù)”,并可“退出”。6)點擊“使用說明”,可提示相應(yīng)說明。二、設(shè)計分析(1)基本原理:創(chuàng)建程序和各按鈕,(2):總體設(shè)計:r讀取詞庫文件1)(3)詳細(xì)設(shè)計:選擇詞庫|:播放方言建立相應(yīng)控件與數(shù)據(jù)文件的連接。/顯示)(點擊開始1j文本框按相讀取詞庫應(yīng)字

4、體大小,文件/ 背景顏色,播'1 放速度顯示。1三、技術(shù)要點A、時鐘與滾動將時鐘的Interval設(shè)定為顯示速度滾動條的值的線性函數(shù)(Timerl.Interval = HScrollI.Value * 20),時鐘的速度便由滾動條的值控制,成為為可調(diào)的。為了循環(huán)的執(zhí)行,這里 定義一個隨機(jī)變量k。隨著時鐘計時,當(dāng)textl中顯示內(nèi)容從左起 的第一個字符的ASCII碼大于零,則其字幕顯示為前一個詞從第 四位開始取長度為這個詞長度減三的部分和后一個詞前三位部分,k=k+3。而當(dāng)textl中顯示內(nèi)容從左起的第一個字符的ASCII碼小于零,則其字幕顯示為前一個詞從第二位開始取長度為這個 詞長度

5、減一的部分和后一個詞第一位部分,k=k+K如此便形成了 字幕可以以不同速度滾動的效果。B、詞庫選擇與調(diào)用文檔當(dāng)詞庫選擇的組合框1選擇大學(xué)英語四級詞匯時,便 open大學(xué)英語四級詞匯的文本文檔命名為 #1以input形式使用; 當(dāng)詞庫選擇的組合框1選擇大學(xué)英語六級詞匯時,便 open大學(xué)英 語六級詞匯的文本文檔命名為#1以input形式使用。注意:文檔 中的單詞按順序排列,一行一個,首字前有四個空格,每一次首 字母變化前加入書寫“ /”的一行,以便后面設(shè)定范圍之用。通過 while循環(huán),文檔內(nèi)容以字符串nextline按行輸入遇到“ /”則顯 示空白。C、范圍設(shè)定范圍設(shè)定有兩個方面。1)若下限比

6、上限小,下限設(shè)定 為空白。如此便滿足了下限不比上限小的要求。2)組合框2和3是 用來設(shè)定范圍的,他們的每個選項都有一個編號 Listindex 。設(shè)定 上限時,我們再一次用到ASCII碼。當(dāng)用來存放nextline的數(shù)組 s()的元素s(m)的第五位(即單詞首字母)的 ASCII碼比組合框 2的ListIndex+96的值大的時候,用來存放有效字符串的數(shù)組t(r) 的下標(biāo)r開始計數(shù)。令s(m)=t(r),則上限設(shè)定成功。設(shè)定下限時, 我們用變量j來對“ / ”計數(shù)。當(dāng)j比組合框3的ListIndex 大時,跳出while循環(huán)。如此,下限便得到了控制。D、對隨機(jī)顯示的控制未選擇復(fù)選框1時,用fo

7、r循環(huán)按Textl.Text 二Textl.Text & t(n)使字幕順序顯示;選擇時,用 Randomize產(chǎn)生1到r-1之間的隨機(jī)數(shù),將r的值依次存入到數(shù)組a(n)中,用for 循環(huán)按Textl.Text = Textl.Text & t(a(n)使字幕隨機(jī)顯示。E、循環(huán)控制由于時鐘不會停,系統(tǒng)默認(rèn)的是循環(huán),所以我們只需對 不選復(fù)選框2的情況進(jìn)行控制。我們在 A中提到的k值,在這里 開始顯示作用。當(dāng)k的值大于textl顯示內(nèi)容的總長度后,輸出 空白,即不循環(huán)。F、字幕的左右移動當(dāng)點擊按鈕 5 時,我們用 Textl.Text = Mid(Text1.Text, 11, L

8、en(Textl.Text) - 10) & Left(Text1.Text, 10)來使字幕左移;當(dāng)點擊按鈕 6時,我們用Text1.Text = Mid(Text1.Text,Len(Textl.Text) - 9, 10) & Left(Text1.Text, Len(Textl.Text)-10)來使字幕右移。四、主要界面截圖五、總結(jié)通過這次課程設(shè)計,VB編程水平有了很大的提高。從最開始 編寫這個程序到程序運行,經(jīng)過對程序的反復(fù)調(diào)試與修改,深刻 感受到編寫一個程序是一個漫長而辛苦的過程,需要編程人員具 備足夠的耐心與細(xì)心。與此同時也培養(yǎng)我們查閱知識并通過自學(xué) 掌握知識的

9、能力。程序的入手階段是困難的,首先要做一些準(zhǔn)備工作。要了解這個 程序是干什么的,它應(yīng)具備怎樣的功能。當(dāng)明確了這些問題以后, 就要針對不同的功能逐一的思考實現(xiàn)該功能的方法。對于每一個 功能的實現(xiàn)需要用到那些知識,通過查閱相關(guān)知識,做到心中有 數(shù),再進(jìn)行編程。編程時要先制定一個大的框架,用幾個模塊, 什么模塊,那些事件過程,那些通用過程,當(dāng)大致的輪廓出來后 再進(jìn)行深一步的編寫,考慮語句的語法、邏輯,各個通用過程的 調(diào)用,事件過程的實現(xiàn)。這里會遇到真正難以解決的問題,要再 次通過查閱多方資料并結(jié)合認(rèn)真思考來尋找解題思路。當(dāng)然在編 程的過程中最重要的一點就是善于總結(jié),這樣可以避免重蹈覆轍。 在程序編寫

10、結(jié)束后,更要進(jìn)行總結(jié),認(rèn)真思考怎樣編寫一個過程 是簡便快捷的,在下次遇到同樣問題時可以節(jié)省時間,提高效率。這次做課程設(shè)計,了解了程序的編制過程和基本的思維方法 同時也對編程產(chǎn)生了濃厚的興趣,希望能在課余時間多編制一些 這樣的小程序,可以學(xué)到更多的知識,同時提高編程的速度,鍛 煉思考方式,為我們今后的學(xué)習(xí)打下一個良好的基礎(chǔ)。六、完整的源程序(1)主界面(Forml):Dim i%, k%, m%, r%Private Sub Check1_Click()Check2.Value = 0If Checkl.Value = 1 ThenCheck2.Enabled = False ElseCheck

11、2.Enabled = TrueEnd If End Sub'實現(xiàn)隨機(jī)與循環(huán)復(fù)選框的選擇Private Sub Combo2_click() Combo3_Click End SubPrivate Sub Combo3_Click()If Combo3.ListIndex < Combo2.ListIndex Then Combo3.Text =""End IfEnd Sub防止出現(xiàn)上標(biāo)大于下標(biāo)出現(xiàn)Private Sub Command1_Click() Command2.Enabled = TrueDim j%, n%Dim s() As StringDim

12、 t() As String j = 0 k = 0 m = 0r = 0Timerl.Interval = HScrollI.Value * 20If Combol.Text =" 大學(xué)英語四級詞匯"ThenOpen背單詞程序完整 大學(xué)英語四級.txt" For Input As#1ElseIf Combo1.Text ="大學(xué)英語六級詞匯"Then背單詞程序完整大學(xué)英語六級詞匯.txt" ForInput As #1End If'詞庫選擇Do While Not EOF(1)On Error Resume NextLine

13、 Input #1, nextline m = m + 1ReDim Preserve s(m)s(m) = nextline If nextline = " /" Then j = j + 1 s(m)="" End IfIf Asc(Mid(s(m), 5, 1) > Combo2.ListIndex + 96 Then r = r + 1ReDim Preserve t(r) t(r) = s(m) End IfIf j > Combo3.ListIndex ThenExit DoEnd IfLoop'將詞庫每行數(shù)據(jù)存入 s(n

14、)中,下標(biāo)對應(yīng)行號。實現(xiàn)范圍選 擇,并將范圍內(nèi)的每行數(shù)據(jù)存入t(r)中,下標(biāo)對應(yīng)行號。Select Case Check1.ValueCase 0Text1.Text =""For n = 1 To rText1.Text = Text1.Text & t(n)Next n Text1.Text="& Textl.Text'未選擇隨機(jī)時的文本輸出Case 1Dim a() As StringDim Y%, X%, z%Textl.Text ="" z = r - 1For n = 1 To r - 1 Randomize

15、Y = Int(z - 1) * Rnd) + 1 ReDim Preserve a(n) a(n) = t(Y) For X = Y To z - 1t(X) = t(X + 1)'將t()中已經(jīng)選擇存入a(n)中的元素剔除 Next Xz = z - 1Next n'將t(r)中的全部元素以隨機(jī)的順序存入 a(n)For n = 1 To r - 1Text1.Text = Text1.Text & a(n) Next nText1.Text="& Text1.Text '隨機(jī)方式輸出End SelectCloseTimer1.Enable

16、d = TrueIf Command2.Caption =" 繼續(xù)"ThenCommand2.Caption ="暫停" i = i + 1 End SubPrivate Sub Command2_Click()If i Mod 2 = 0 ThenCommand2.Caption ="繼續(xù)":Timer1.Enabled = FalseElseCommand2.Caption ="暫停":Timerl.Enabled = True End If i = i + 1 End SubPrivate Sub Comma

17、nd3_Click() 大學(xué)英語四六級.Visible = True Form1.Visible = False End SubPrivate Sub Command4_Click()Form2.Visible = True End SubPrivate Sub Command5_Click()Text1.Text = Mid(Text1.Text, 11, Len(Text1.Text) - 10)& Left(Text1.Text, 10)'使?jié)L動字幕左移10位End SubPrivate Sub Command6_Click()Text1.Text = Mid(Text1

18、.Text, Len(Text1.Text) - 9, 10)& Left(Text1.Text, Len(Text1.Text) - 10)'使?jié)L動字幕右移10位End SubPrivate Sub Form_Load()Move(Screen.Width - Width) / 2, (Screen.Height - Height) /2'窗口顯示居中Combo1.List(0)="大學(xué)英語四級詞匯"Combo1.List(1)="大學(xué)英語六級詞匯"Command2.Enabled = FalseCombo1.Text = Co

19、mbo1.List(0)Combo2.List(0) = "A"Combo2.List(1) = "B"Combo2.List(2) = "C"Combo2.List(3)=Combo2.List(4)=Combo2.List(5)=Combo2.List(6)=Combo2.List(7)=Combo2.List(8)=Combo2.List(9)=D” E”F” G”H”I"J”Combo2.List(10) = "K"Combo2.List(11) = "L"Combo2.Lis

20、t(12) = "M"Combo2.List(13) = "N"Combo2.List(14) = "O"Combo2.List(15) = "P"Combo2.List(16) = "Q"Combo2.List(17) = "R"Combo2.List(18) = "S"Combo2.List(19) = "T"Combo2.List(20) = "U"Combo2.List(21) = "V"

21、Combo2.List(22) = "W"Combo2.List(23) = "X"Combo2.List(24) = "Y"Combo2.List(25) = "Z"Combo2.ListIndex = 0Combo2.Text = Combo2.List(0)Combo3.List(0) = "A"Combo3.List(1) = "B"Combo3.List(2) = "C"Combo3.List(3) = "D"Combo3.L

22、ist(4) = "E"Combo3.List(5) = "F"Combo3.List(6) = "G"Combo3.List(7) = "H"Combo3.List(8) = "I"Combo3.List(9) = "J"Combo3.List(10) = "K"Combo3.List(11) = "L"Combo3.List(12) = "M"Combo3.List(13) = "N"Comb

23、o3.List(14) = "O"Combo3.List(15) = "P"Combo3.List(16) = "Q"Combo3.List(17) = "R"Combo3.List(18) = "S"Combo3.List(19) = "T"Combo3.List(20) = "U"Combo3.List(21) = "V"Combo3.List(22) = "W"Combo3.List(23) = "X

24、"Combo3.List(24) = "Y"Combo3.List(25) = "Z"Combo3.ListIndex = 25Combo3.Text = Combo3.List(25)Optionl.Value = TrueCheckl.Value = 0Check2.Value = 0HScroll2.Value = 255HScroll3.Value = 255HScroll4.Value = 255End SubPrivate Sub HScroll1_Change()Timerl.Interval = HScrolll.Value * 20End SubPrivate Sub HScroll2_Change()Textl.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)End SubPrivate Sub HScroll3_Change()Textl.BackColor = RGB(HScroll2.Value,

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論