基于Visual-Basic的編程實(shí)現(xiàn)一個(gè)計(jì)算器_第1頁(yè)
基于Visual-Basic的編程實(shí)現(xiàn)一個(gè)計(jì)算器_第2頁(yè)
基于Visual-Basic的編程實(shí)現(xiàn)一個(gè)計(jì)算器_第3頁(yè)
基于Visual-Basic的編程實(shí)現(xiàn)一個(gè)計(jì)算器_第4頁(yè)
基于Visual-Basic的編程實(shí)現(xiàn)一個(gè)計(jì)算器_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

8、開(kāi)發(fā)集聲音、圖像、動(dòng)畫(huà)、字處理、Web等對(duì)象于一體的應(yīng)用程序。Active技術(shù)可以使開(kāi)發(fā)人員擺脫特定語(yǔ)言的束縛,方便的使用標(biāo)準(zhǔn)的Active部件,調(diào)用標(biāo)準(zhǔn)的接口,實(shí)現(xiàn)特定功能。2.2.3界面介紹1 .開(kāi)發(fā)環(huán)境界面介紹在集成開(kāi)發(fā)環(huán)境中可以進(jìn)行程序設(shè)計(jì)、編輯、編譯和調(diào)試等幾個(gè)子窗口:工具箱、窗體窗程窗口、屬性窗口及窗體布工作。集成開(kāi)發(fā)環(huán)境的頂部有標(biāo)題欄、主菜單和工具欄。下部有 u 陽(yáng) -I jx-j/pi rw- 夏覽E編提舊規(guī)鼠辦工程回調(diào)莉m運(yùn)行間查田叱圖看口 T具外建浮景山甯口空emj”VM市舊稔微計(jì)_1_ n_i_,'*4IR1-Fornd(«叫-(TSD-有甯住affi-

9、FormlAjjearue«涯&般當(dāng)一個(gè)對(duì)象在運(yùn)行時(shí)是否以30如累圖2-1開(kāi)發(fā)環(huán)境界面1)、工具箱(2)、控制菜單框(3)、標(biāo)題欄(4)、工具欄(5)、工程管理器(6)、屬性窗口(7)、窗體窗口(8)、窗體布局窗口2 .菜單欄介紹菜單欄中含了使用VB6.0所需要的命令。主菜單中共有13個(gè)菜單項(xiàng),每個(gè)菜單項(xiàng)都有一個(gè)下拉菜單,內(nèi)含若干個(gè)菜單命令,單擊某個(gè)菜單項(xiàng),即可打開(kāi)該菜單,單擊某個(gè)菜單中的某一條,就執(zhí)行相應(yīng)的命令。具體如圖2-1所示:第3章系統(tǒng)設(shè)計(jì)3.1界面設(shè)計(jì)界面設(shè)計(jì)要求遵循簡(jiǎn)介美觀、方便易用的基本原則,具體設(shè)計(jì)如下。在VisualBasic集成開(kāi)發(fā)環(huán)境中新建一個(gè)工程,將其

10、保存到名為“工程l.vbp”的工程文件中,然后進(jìn)入工程的默認(rèn)窗體Forml,一步一步進(jìn)行設(shè)計(jì)工作。操作步驟如下:將其標(biāo)題屬性設(shè)置為“計(jì)算器”將BorderStyle屬性設(shè)為1-FixedSingle,MaxButton和MinButton屬性設(shè)置為False,這樣會(huì)使設(shè)計(jì)的計(jì)算器窗口大小固定,不允許用戶(hù)在運(yùn)行時(shí)改變。具體界面如圖3-1所示:ISIrwiu<«rf義舟。端陽(yáng)H9UJIffipj荀也礙而西.的日砒叨瞞0工&0外掰國(guó)£lfnisj戟叱114TjMr器B Iftl Fatal &鵬筋b/力£0二二電商 7 利2第號(hào)宵方嗯列南f Ti-

11、"1» I 檢 Ifflw 1hi I Az Mihlc 號(hào)上也eta也-TWi (TSi ti>)- t e比Qu i-rffd.srt.iTiri4wU Sfib Cotridl 口時(shí)口3 U Ikl«-|irl if 罩川 Tw-T ft»If lidvM - wl It工Mii.TwiriiwTwII.TbeI:,CrtandLCnlisi 1 1;Hie hriliEff' - FormlLhdTflrtl.Tm - TitUl Ten & MsMI 汕f 1 匚呼乜 bd ifT-rvJ hffi工|SfwHIMiM)|

12、Fm】tijk :擊b Ilk girlMil Ti1 T梃二母患苛 If rr TTau力胖4廿9弱L劉褊t聞We白BsjdfiLx葉 im:f.E *MTat ?«tlr?3-*HlTMT-tTltui - ij =3f E |Qr| giu變t Wil kllidF illClijCihiLH7ra汨tetg工CnL-xilpaiIruCuse.091 已工* ECm I:出】工二£ - £山JU出2曲13 - tejj' Fw0 - SdLidOrflLUiJ>:aa 2Fw+r Tz - r r rR01N圖3-1VB的界面設(shè)計(jì)第二步,選擇

13、窗體或控件進(jìn)行屬性設(shè)置,如圖為“窗體”按鈕的屬性設(shè)置界面,如圖3-2所示:-益稱(chēng))Ant oEtir awfJor ierS t jrle C肛t i。幾 ClipConlrolsform11 -3D,-一嫡00mosf&2 -SixaLleFormlTrus3-2窗體界面的屬性值第三步,顯示文本框設(shè)計(jì),具體步驟如下:1. 單擊控件工具箱中的Label控件,向窗口中添加三個(gè)Label標(biāo)簽;2. 單擊控件工具箱中的Frame控件,向窗口中添加一個(gè)Frame標(biāo)簽;3. 單擊控件工具箱中的Text控件,向Frame中添加一個(gè)文本框Text;4. 單擊控件工具箱中的Command控件,向Fra

14、me中添加26個(gè)Command;5. 單擊控件工具箱中的Timer控件,向窗口中添加一個(gè)Timer控件這些控件的具體名稱(chēng)和屬性值如表3-1。表3-1控件屬性表控件屬性作用LabelCaption顯示名稱(chēng),計(jì)算器Caption顯示北京時(shí)間Caption系統(tǒng)時(shí)間顯示方位Frame將所有的按鈕做升-個(gè)整體Text顯示輸入數(shù)據(jù)和顯示計(jì)算結(jié)果Commandl0單擊時(shí)輸入數(shù)據(jù)01單擊時(shí)輸入數(shù)據(jù)12單擊時(shí)輸入數(shù)據(jù)23單擊時(shí)輸入數(shù)據(jù)34單擊時(shí)輸入數(shù)據(jù)45單擊時(shí)輸入數(shù)據(jù)56單擊時(shí)輸入數(shù)據(jù)67單擊時(shí)輸入數(shù)據(jù)78單擊時(shí)輸入數(shù)據(jù)89單擊時(shí)輸入數(shù)據(jù)9單擊時(shí)輸入小數(shù)點(diǎn)Command2+計(jì)算兩個(gè)數(shù)據(jù)的和一計(jì)算兩個(gè)數(shù)據(jù)的差*

15、計(jì)算兩個(gè)數(shù)據(jù)的乘積/計(jì)算兩個(gè)數(shù)據(jù)的商MA2計(jì)算X的平方MA3計(jì)算X的立方Sin計(jì)算X的正弦Cos計(jì)算X的余弦Tan計(jì)算X的正切Cot計(jì)算X的余切Ln計(jì)算X的對(duì)數(shù)Sqrt計(jì)算X的開(kāi)方=求的最后結(jié)果Command3清除將輸入的數(shù)據(jù)清除為0Command4關(guān)閉關(guān)閉計(jì)算器軟件Timer設(shè)置系統(tǒng)時(shí)間的同步顯示第四步計(jì)算器界面的設(shè)計(jì),將上述控件按照?qǐng)D3-3所示布置到界面上,要求布置合理,界面設(shè)置美觀大方,位置布置合理、方便,使使用者使用起來(lái)覺(jué)得舒服和應(yīng)手。圖3-3計(jì)算器界面布置3.2代碼編寫(xiě)1.通用型代碼編寫(xiě):此段代碼的作用主要是聲明pi、布爾型變量V、變量S、X、Y。具體代碼如下:' 定義 pi

16、' 是否第一次單擊運(yùn)算符' 存放上次按的運(yùn)算符' 存放第一個(gè)操作數(shù)'存放第二個(gè)操作數(shù)Constpi=3.1415926DimvAsBooleanDimsAsIntegerDimXAsDoubleDimYAsDouble2 .Form的代碼編寫(xiě):此段代碼的作用主要是實(shí)現(xiàn)系統(tǒng)時(shí)間在Label3中的同步顯示,具體代碼如下:PrivateSubForm_Load()Form1.Tag="T"Timer1.Enabled=TrueTimer1.Interval=1000'設(shè)定間隔1000=1秒'一秒顯示一次當(dāng)前時(shí)間EndSub3 .Co

17、mmand1的代碼編寫(xiě):此段代碼的作用主要是實(shí)現(xiàn)將Command上的數(shù)字在Text中顯示,具體代碼如下:PrivateSubCommand1_Click(IndexAsInteger)IfForm1.Tag="T"Then'向顯示中的數(shù)追加新數(shù)IfIndex=10ThenText1.Text="0."ElseText1.Text=Command1(Index).CaptionEndIfForm1.Tag=""ElseText1.Text=Text1.Text&Command1(Index).CaptionEndIfEn

18、dSub4 .Command3的代碼編寫(xiě):此段代碼主要是實(shí)現(xiàn)對(duì)Text中的數(shù)據(jù)清零,具體代碼如下:PrivateSubCommand3_Click(IndexAsInteger)Text1.Text="0"EndSub5 .Command4的代碼編寫(xiě):此段代碼主要是實(shí)現(xiàn)將計(jì)算器程序關(guān)閉。PrivateSubCommand4_Click(IndexAsInteger)UnloadMeEndSub6 .Command2的代碼編寫(xiě):此段代碼是這個(gè)計(jì)算器軟件的主體部分,它能夠?qū)崿F(xiàn)計(jì)算器上的各類(lèi)功能,并且能按照具體情況分別顯示我們所想要的結(jié)果。具體代碼如下:PrivateSubCom

19、mand2_Click(IndexAsInteger)Form1.Tag="T"'第一次按運(yùn)算符IfvThenX=Val(Text1.Text)'將鍵入的數(shù)字存入xf=NotvElseY = Val(Text1.T ext)SelectCasesCase0Text1.Text=X+YCase 1Text1.Text=X-YCase 2Text1.Text=X*YCase 3IfY<>0ThenText1.Text=X/YElseMsgBox("不能以0為除數(shù)")Text1.Text=Xv=FalseEndIfCase 4X=V

20、al(Text1.Text)X=XA2Case5X=Val(Text1.Text)X=XA3Text1.Text=XCase6X=Val(Text1.Text)X=Sin(X*pi/180)Text1.Text=XCase7X=Val(Text1.Text)X=Cos(X*pi/180)Text1.Text=XCase8X=Val(Text1.Text)X=Tan(X*pi/180)Text1.Text=XCase9X=Val(Text1.Text)X=Atn(X*pi/180)Text1.Text=XCase 10X=Val(Text1.Text)X=Sqr(X)Text1.Text=XCa

21、se 11X=Val(Text1.Text)X=Log(X)Text1.Text=XCase 12 v=FalseEndSelectX=Val(Text1.Text)EndIfs=IndexEndSub7.Timer的代碼編寫(xiě):此段程序主要是實(shí)現(xiàn)將系統(tǒng)時(shí)間顯示在Label3中。具體代碼如下:PrivateSubTimer1_Timer()Label3.Enabled=TrueLabel3.Caption=Format(Time,"tttttAM/PM")EndSub3.3代碼編寫(xiě)中用到的函數(shù)計(jì)算器軟件中用到的函數(shù)如表3-2所示:表3-2編程中所用的函數(shù)函數(shù)名稱(chēng)函數(shù)作用正弦函數(shù)Sin求的輸入數(shù)據(jù)的正弦值余弦函數(shù)Cos求的輸入數(shù)據(jù)的余弦值正切函數(shù)Tan求的輸入數(shù)據(jù)的正切值余切函數(shù)Cot求的輸入數(shù)據(jù)的余切值對(duì)數(shù)函數(shù)Ln求的輸入數(shù)據(jù)的對(duì)數(shù)值開(kāi)方函數(shù)Sqrt求的輸入數(shù)據(jù)的開(kāi)方值系統(tǒng)時(shí)間函數(shù)Time輸出系統(tǒng)的當(dāng)前時(shí)間值第4章結(jié)論(設(shè)計(jì)心得)經(jīng)過(guò)一段時(shí)間的設(shè)計(jì)和編寫(xiě),計(jì)算器軟件基本設(shè)計(jì)完畢。本軟件能夠?qū)崿F(xiàn)計(jì)算器的很多功能,譬如:加法、減法、乘法、除法、乘方、立方、正弦、余弦、正切、余切、開(kāi)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論