基于VisualBasic的編程實現(xiàn)一個計算器_第1頁
基于VisualBasic的編程實現(xiàn)一個計算器_第2頁
基于VisualBasic的編程實現(xiàn)一個計算器_第3頁
基于VisualBasic的編程實現(xiàn)一個計算器_第4頁
基于VisualBasic的編程實現(xiàn)一個計算器_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 緒論1.1課題簡介課程設(shè)計題目基于Visual Basic的計算器的制作課題要求基于Visual Basic的編程實現(xiàn)一個計算器軟件,要求計算器能夠?qū)崿F(xiàn):加法、減法、乘法、除法、乘方、立方、正弦、余弦、正切、余切、開平方等功能。而且還要實現(xiàn)計算器界面有一個與系統(tǒng)時間同步的時鐘。要求界面簡單美觀,操作簡單方便,類似于我們一直在用的計算器。課題工作內(nèi)容1、掌握一些程序設(shè)計算法的分析,學(xué)會使用控件數(shù)組;2、掌握VB程序的編寫方法,學(xué)會VB函數(shù)的調(diào)用;3、學(xué)會應(yīng)用軟件界面的設(shè)計和界面的布局、美化;4、學(xué)會編寫與系統(tǒng)時間同步的時鐘;5、撰寫課程設(shè)計報告。1.2系統(tǒng)分析開發(fā)背景計算機已經(jīng)成為我們學(xué)

2、習(xí)和工作的得力助手:今天,計算機的價格已經(jīng)十分低廉,性能卻有了長足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計算機之所以如此流行的原因主要有以下幾個方面:1,計算機可以代替人工進(jìn)行許多繁雜的勞動;2,計算機可以節(jié)省許多資源;3,計算機可以大大的提高人們的工作效率;4,計算機可以使敏感文檔更加安全等。第2章 開發(fā)環(huán)境及實現(xiàn)技術(shù)2.1開發(fā)環(huán)境硬件系統(tǒng):奔騰166MX以上CPU、32M以上內(nèi)存、1G以上硬盤、光驅(qū)。軟件系統(tǒng):Windows 98/ME/2000/XP、Visual Basic 6.0中文版。2.2開發(fā)工具簡介總體介紹微軟公司的Visual Basic 6.0是Windows應(yīng)用程序開發(fā)工具,是

3、目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設(shè)計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設(shè)計過程,從而有效的提高了應(yīng)用程序的運行效率和可靠性。故而,實現(xiàn)本系統(tǒng)VB是一個相對較好的選擇。Access2000 就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access 允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)

4、庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。Access 是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access 作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強大功能。微軟的JET數(shù)據(jù)庫引擎提供了與數(shù)據(jù)庫打交道的途徑,我們是通過它以及Visual Basic 來訪問數(shù)據(jù)庫并對其進(jìn)行各種操作。Visual Basic、Access以及其他微軟的軟件產(chǎn)品都是通過共用JET數(shù)據(jù)庫引擎,從而給用戶提供了豐富的數(shù)據(jù)類型。DATA 控件在數(shù)據(jù)庫中的信息與將信息顯示給用戶看的Visual Basic程序之間架起了

5、一座橋梁。我們可以設(shè)置DATA控件的各個屬性,告訴它要調(diào)用那個數(shù)據(jù)庫的哪個部分。缺省情況下,DATA控件根據(jù)數(shù)據(jù)庫中的一個或多個數(shù)據(jù)表建立一個dynaset-type(動態(tài)集合)類型的記錄集合。一個記錄集合是動態(tài)的也就意味著,當(dāng)原來的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會隨之改變。DATA控件還提供了用來瀏覽不同記錄的各種跳轉(zhuǎn)按鈕。將DATA控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫之間建立聯(lián)系。詳細(xì)介紹1.Visual Basic6.0的語言特性VB語言是一種以事件驅(qū)動作為運行機制的可視化的程序設(shè)計語言。它不僅提供了常規(guī)的編程環(huán)境,還提供了一套可視化的設(shè)計工具,便于程序

6、員進(jìn)行可視化的程序設(shè)計。它不僅具有傳統(tǒng)程序設(shè)計語言的基本功能,而且在軟件的不斷升級中,功能也越來越強。2.Visual Basic6.0的特點與傳統(tǒng)的程序設(shè)計語言相比,VB的主要特點介紹如下。(1)面向?qū)ο蟮目梢暬幊淘赩B應(yīng)用程序開發(fā)環(huán)境下,應(yīng)用了面向?qū)ο蟮某绦蛟O(shè)計方法;即把程序和數(shù)據(jù)封裝起來視為一個對象工具,每個對象都是可是的。程序設(shè)計員在設(shè)計是只需要根據(jù)設(shè)計界面的要求利用現(xiàn)有的對象工具,直接在屏幕上設(shè)計不同的對象(如:窗口、菜單、按鈕、滾動條等),并為每個對象設(shè)置屬性。(2)結(jié)構(gòu)化程序設(shè)計語言VB系統(tǒng)提供了豐富的數(shù)據(jù)類型、眾多的內(nèi)部函數(shù)、子程序、事件子程序和自定義函數(shù),各個子程序模塊之間

7、可以彼此獨立,也可以相互聯(lián)系,形成了結(jié)構(gòu)化程序結(jié)構(gòu),易學(xué)通用。(3)事件驅(qū)動的編程機制事件驅(qū)動是增強程序圖形界面交互性的主要方法。用戶的每一個動作或操作行為都可以產(chǎn)生一個事件,每個事件都可以驅(qū)動一段程序的運行。程序員只需編寫響應(yīng)用戶動作的代碼,各個動作之間不一定有聯(lián)系。代碼短、易編寫、易維護(hù)。(4)可以對多種數(shù)據(jù)庫進(jìn)行訪問利用數(shù)據(jù)控件或ODBC能夠訪問Access、Excel、FoxPro、dBASE、Btrieve、Lotus1-2-3、Paradox等類型的數(shù)據(jù)庫和電子表格。(5)OLE和Active技術(shù)的應(yīng)用使用OLE(對象鏈接與嵌入技術(shù))能夠開發(fā)集聲音、圖像、動畫、字處理、Web等對象

8、于一體的應(yīng)用程序。Active技術(shù)可以使開發(fā)人員擺脫特定語言的束縛,方便的使用標(biāo)準(zhǔn)的Active部件,調(diào)用標(biāo)準(zhǔn)的接口,實現(xiàn)特定功能。界面介紹1開發(fā)環(huán)境界面介紹53124678圖2-1開發(fā)環(huán)境界面在集成開發(fā)環(huán)境中可以進(jìn)行程序設(shè)計、編輯、編譯和調(diào)試等工作。集成開發(fā)環(huán)境的頂部有標(biāo)題欄、主菜單和工具欄。下部有幾個子窗口:工具箱、窗體窗口、工程窗口、屬性窗口及窗體布局窗口,根據(jù)需要,這些子窗口可以被關(guān)閉或打開。具體如圖2-1所示:(1)、工具箱(2)、控制菜單框(3)、標(biāo)題欄(4)、工具欄(5)、工程管理器(6)、屬性窗口(7)、窗體窗口(8)、窗體布局窗口2.菜單欄介紹菜單欄中含了使用VB6.0所需要

9、的命令。主菜單中共有13個菜單項,每個菜單項都有一個下拉菜單,內(nèi)含若干個菜單命令,單擊某個菜單項,即可打開該菜單,單擊某個菜單中的某一條,就執(zhí)行相應(yīng)的命令。具體如圖2-1所示:第3章 系統(tǒng)設(shè)計3.1界面設(shè)計界面設(shè)計要求遵循簡介美觀、方便易用的基本原則,具體設(shè)計如下。在Visual Basic集成開發(fā)環(huán)境中新建一個工程,將其保存到名為“工程1.vbp”的工程文件中,然后進(jìn)入工程的默認(rèn)窗體Form1,一步一步進(jìn)行設(shè)計工作。操作步驟如下:將其標(biāo)題屬性設(shè)置為“計算器”將BorderStyle屬性設(shè)為1-Fixed Single,MaxButton和MinButton屬性設(shè)置為False,這樣會使設(shè)計的

10、計算器窗口大小固定,不允許用戶在運行時改變。具體界面如圖3-1所示:圖3-1VB的界面設(shè)計第二步,選擇窗體或控件進(jìn)行屬性設(shè)置,如圖為“窗體”按鈕的屬性設(shè)置界面,如圖3-2所示:圖3-2窗體界面的屬性值第三步,顯示文本框設(shè)計,具體步驟如下:1. 單擊控件工具箱中的Label控件,向窗口中添加三個Label標(biāo)簽;2. 單擊控件工具箱中的Frame控件,向窗口中添加一個Frame標(biāo)簽;3. 單擊控件工具箱中的Text控件,向Frame中添加一個文本框Text;4. 單擊控件工具箱中的Command控件,向Frame中添加26個Command;5. 單擊控件工具箱中的Timer控件,向窗口中添加一個T

11、imer控件。這些控件的具體名稱和屬性值如表3-1。表3-1控件屬性表控件屬性作用LabelCaption顯示名稱,計算器Caption顯示北京時間Caption系統(tǒng)時間顯示方位Frame將所有的按鈕做為一個整體Text顯示輸入數(shù)據(jù)和顯示計算結(jié)果Command10單擊時輸入數(shù)據(jù)01單擊時輸入數(shù)據(jù)12單擊時輸入數(shù)據(jù)23單擊時輸入數(shù)據(jù)34單擊時輸入數(shù)據(jù)45單擊時輸入數(shù)據(jù)56單擊時輸入數(shù)據(jù)67單擊時輸入數(shù)據(jù)78單擊時輸入數(shù)據(jù)89單擊時輸入數(shù)據(jù)9·單擊時輸入小數(shù)點Command2+計算兩個數(shù)據(jù)的和計算兩個數(shù)據(jù)的差*計算兩個數(shù)據(jù)的乘積/計算兩個數(shù)據(jù)的商M2計算X的平方M3計算X的立方Sin計算

12、X的正弦Cos計算X的余弦Tan計算X的正切Cot計算X的余切Ln計算X的對數(shù)Sqrt計算X的開方=求的最后結(jié)果Command3清除將輸入的數(shù)據(jù)清除為0Command4關(guān)閉關(guān)閉計算器軟件Timer設(shè)置系統(tǒng)時間的同步顯示第四步計算器界面的設(shè)計,將上述控件按照圖3-3所示布置到界面上,要求布置合理,界面設(shè)置美觀大方,位置布置合理、方便,使使用者使用起來覺得舒服和應(yīng)手。 圖3-3計算器界面布置3.2代碼編寫1.通用型代碼編寫:此段代碼的作用主要是聲明pi、布爾型變量V、變量S、X、Y。具體代碼如下:Const pi = 3.1415926 '定義piDim v As Boolean '

13、;是否第一次單擊運算符Dim s As Integer '存放上次按的運算符Dim X As Double '存放第一個操作數(shù)Dim Y As Double '存放第二個操作數(shù)2.Form的代碼編寫:此段代碼的作用主要是實現(xiàn)系統(tǒng)時間在Label3中的同步顯示,具體代碼如下:Private Sub Form_Load()Form1.Tag = "T"Timer1.Enabled = TrueTimer1.Interval = 1000 '設(shè)定間隔1000=1秒 '一秒顯示一次當(dāng)前時間End Sub3. Command1的代碼編寫: 此段

14、代碼的作用主要是實現(xiàn)將Command上的數(shù)字在Text中顯示,具體代碼如下:Private Sub Command1_Click(Index As Integer)If Form1.Tag = "T" Then '向顯示中的數(shù)追加新數(shù)If Index = 10 ThenText1.Text = "0."ElseText1.Text = Command1(Index).CaptionEnd IfForm1.Tag = ""ElseText1.Text = Text1.Text & Command1(Index).Capt

15、ionEnd IfEnd Sub4. Command3的代碼編寫:此段代碼主要是實現(xiàn)對Text中的數(shù)據(jù)清零,具體代碼如下:Private Sub Command3_Click(Index As Integer)Text1.Text = "0"X = 0Y = 0End Sub5.Command4的代碼編寫:此段代碼主要是實現(xiàn)將計算器程序關(guān)閉。Private Sub Command4_Click(Index As Integer)Unload MeEnd Sub6.Command2的代碼編寫:此段代碼是這個計算器軟件的主體部分,它能夠?qū)崿F(xiàn)計算器上的各類功能,并且能按照具體情況

16、分別顯示我們所想要的結(jié)果。具體代碼如下:Private Sub Command2_Click(Index As Integer)Form1.Tag = "T" '第一次按運算符 If v Then X = Val(Text1.Text) '將鍵入的數(shù)字存入x f = Not v Else Y = Val(Text1.Text) Select Case s Case 0 Text1.Text = X + Y Case 1 Text1.Text = X - Y Case 2 Text1.Text = X * Y Case 3 If Y <> 0 Th

17、en Text1.Text = X / Y Else MsgBox ("不能以0為除數(shù)") Text1.Text = X v = False End If Case 4 X = Val(Text1.Text) X = X 2 Text1.Text = X Case 5 X = Val(Text1.Text) X = X 3 Text1.Text = X Case 6 X = Val(Text1.Text) X = Sin(X * pi / 180) Text1.Text = X Case 7 X = Val(Text1.Text) X = Cos(X * pi / 180)

18、 Text1.Text = X Case 8 X = Val(Text1.Text) X = Tan(X * pi / 180) Text1.Text = X Case 9 X = Val(Text1.Text) X = Atn(X * pi / 180) Text1.Text = X Case 10 X = Val(Text1.Text) X = Sqr(X) Text1.Text = X Case 11 X = Val(Text1.Text) X = Log(X) Text1.Text = X Case 12 Y = 0 v = False End Select X = Val(Text1

19、.Text) End Ifs = IndexEnd Sub7.Timer的代碼編寫:此段程序主要是實現(xiàn)將系統(tǒng)時間顯示在Label3中。具體代碼如下:Private Sub Timer1_Timer()Label3.Enabled = TrueLabel3.Caption = Format(Time, "ttttt AM/PM")End Sub3.3代碼編寫中用到的函數(shù)計算器軟件中用到的函數(shù)如表3-2所示:表3-2編程中所用的函數(shù)函數(shù)名稱函數(shù)作用正弦函數(shù)Sin求的輸入數(shù)據(jù)的正弦值余弦函數(shù)Cos求的輸入數(shù)據(jù)的余弦值正切函數(shù)Tan求的輸入數(shù)據(jù)的正切值余切函數(shù)Cot求的輸入數(shù)據(jù)的余切值對數(shù)函數(shù)Ln求的輸入數(shù)據(jù)的對數(shù)值開方函數(shù)Sqrt求的輸入數(shù)據(jù)的開方值系統(tǒng)時間函數(shù)Time輸出系統(tǒng)的當(dāng)前時間值第4章 結(jié)論(設(shè)計心得)經(jīng)過一段時間的設(shè)計和編寫,計算器軟件基本設(shè)計完畢。本軟件能夠?qū)崿F(xiàn)計算器的很多功能,譬如:加法、減法、乘法、除法、乘方、立方、正弦、余弦、正切、余切、開平方等。而且該計算器的界面上還有一個與系統(tǒng)時間同步的時鐘。該計算器界面簡單美觀,操作簡單方便,類似于我們平時使用的計算器。但是由于課程設(shè)計的時間較短,所以該計算器還有

溫馨提示

  • 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

提交評論