

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 我用VB制作這個(gè)程序的簡單計(jì)算器,它包括一個(gè)標(biāo)準(zhǔn)的計(jì)算器和一個(gè)科學(xué)計(jì)算器。它可以實(shí)現(xiàn)簡單的加減乘除四則運(yùn)算,數(shù)字的平方、平方根,正弦、余弦、正切,倒數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù),角度、弧度、梯度的轉(zhuǎn)換,以及各進(jìn)制的相互轉(zhuǎn)換。而且它的功能還有退格,清除當(dāng)前數(shù)據(jù),清除所有數(shù)據(jù),復(fù)制數(shù)據(jù),粘貼數(shù)據(jù)。</p><p&g
2、t; 在這個(gè)計(jì)算器的程序中,我用到了單行選擇語句If … Then …Else…,</p><p> 塊語句if…then…end if,If語句的嵌套,多條件選擇語句Select Case,而且還用到了按鈕、文本框、框架、單選按鈕控件,菜單的設(shè)計(jì)。</p><p> 在此報(bào)告中我重點(diǎn)敘述了計(jì)算機(jī)的各個(gè)功能及用法。特別是進(jìn)制間的轉(zhuǎn)換和數(shù)字與運(yùn)算符之間的聯(lián)系。。雖然描述的不太完整,但我
3、會(huì)盡力使用系統(tǒng)結(jié)構(gòu)圖,劃分多個(gè)模塊,讓大家明白我設(shè)計(jì)的運(yùn)算器的功能的。</p><p><b> 目 錄</b></p><p> 第一章、程序概述- 3 -</p><p> 1.1、創(chuàng)作目的- 3 -</p><p> 1.2、基本功能- 3 -</p><p> 第二章、總
4、體設(shè)計(jì)- 4 -</p><p> 2.1、程序輪廓圖- 4 -</p><p> 第三章、程序代碼- 6 -</p><p> 3.1、計(jì)算器界面- 6 -</p><p> 3.1.1、標(biāo)準(zhǔn)型計(jì)算器:- 6 -</p><p> 3.1.2、科學(xué)型計(jì)算器:- 7 -</p>&l
5、t;p> 3.2、標(biāo)準(zhǔn)計(jì)算器代碼- 8 -</p><p> 3.2.1、變量的定義及初始化- 8 -</p><p> 3.2.2、簡單的運(yùn)算- 8 -</p><p> 3.2.3、退格、清除、清空- 10 -</p><p> 3.2.4、復(fù)制、粘貼- 11 -</p><p> 3.
6、2.5、兩窗體的切換- 12 -</p><p> 3.3、科學(xué)型計(jì)算器的代碼- 12 -</p><p> 3.3.1、變量的定義及初始化- 12 -</p><p> 3.3.2、簡單的運(yùn)算- 13 -</p><p> 3.3.3、正弦、余弦、正切- 15 -</p><p> 3.3.4、平
7、方、立方、多次方- 15 -</p><p> 3.3.5、指數(shù)函數(shù)、對數(shù)函數(shù)- 16 -</p><p> 3.3.6、倒數(shù)、平方根- 16 -</p><p> 3.3.7、角度、弧度、梯度- 17 -</p><p> 3.3.8、各進(jìn)制轉(zhuǎn)換- 18 -</p><p> 3.3.9、退格、清
8、除、清空- 27 -</p><p> 3.3.10、復(fù)制、粘貼- 28 -</p><p> 3.3.11、兩窗體的切換- 29 -</p><p> 第四章、總結(jié)- 30 -</p><p> 4.1、對學(xué)習(xí)者知識的要求:- 30 -</p><p> 4.2、學(xué)習(xí)程序設(shè)計(jì)基本要求:- 30
9、-</p><p> 4.3、程序設(shè)計(jì)方法概述- 31 -</p><p> 4.4、如何學(xué)好VB- 31 -</p><p> 4.5、不足之處- 32 -</p><p> 參考文獻(xiàn)- 33 -</p><p><b> 第一章、程序概述</b></p><
10、;p><b> 1.1、創(chuàng)作目的</b></p><p> 本程序的目標(biāo)是建立一套可以計(jì)算數(shù)的平方,平方根,倒數(shù),正弦,余弦,正切,指數(shù)函數(shù),對數(shù)函數(shù),角度、弧度、梯度相互轉(zhuǎn)換和數(shù)字的</p><p> 進(jìn)制轉(zhuǎn)換的計(jì)算器系統(tǒng),系統(tǒng)可以幫助我們更快的計(jì)算,更好的學(xué)習(xí),更</p><p> 好的節(jié)省時(shí)間。還能避免出現(xiàn)一些不必要的計(jì)算錯(cuò)
11、誤。</p><p><b> 1.2、基本功能</b></p><p> 能夠完成整型和實(shí)型常數(shù)的四則運(yùn)算。</p><p> 能夠進(jìn)行如下函數(shù)的求值運(yùn)算,包括sin, cos,tan, exp, log, sqr, 1/x,及和園周率π。</p><p> 能夠?qū)崿F(xiàn)角度、弧度、梯度的相互轉(zhuǎn)換。</p&g
12、t;<p> 能夠?qū)崿F(xiàn)的進(jìn)制的相互轉(zhuǎn)換。</p><p> 輸出時(shí)的格式:結(jié)果為整數(shù)時(shí)不顯示小數(shù)點(diǎn),結(jié)果為1以下小數(shù)時(shí)要顯示前導(dǎo)0。</p><p> 分門別類采用控件數(shù)組,以減少事件處理的復(fù)雜程度,使程序簡潔高效。</p><p> 能夠?qū)崿F(xiàn)退格鍵、清除、清空功能。</p><p> 出錯(cuò)處理:操作數(shù)如果不符合數(shù)學(xué)上
13、的定義,應(yīng)該給出錯(cuò)誤信息。例:0做除數(shù),負(fù)數(shù)或0做真數(shù)等情況</p><p><b> 第二章、總體設(shè)計(jì)</b></p><p><b> 2.1、程序輪廓圖</b></p><p><b> 圖 一</b></p><p><b> 第三章、程序代碼<
14、;/b></p><p><b> 3.1、計(jì)算器界面</b></p><p> 3.1.1、標(biāo)準(zhǔn)型計(jì)算器:</p><p><b> 圖 二</b></p><p> 3.1.2、科學(xué)型計(jì)算器:</p><p><b> 圖 三</b&g
15、t;</p><p> 3.2、標(biāo)準(zhǔn)計(jì)算器代碼</p><p> 3.2.1、變量的定義及初始化</p><p> Dim dflag As Integer</p><p> Dim i As Integer</p><p> Dim opnre As Integer</p><p>
16、 Dim prev As Double</p><p> Dim oflag As Integer</p><p> Dim ind As Integer</p><p> Dim X As Double</p><p> Dim Y As Double</p><p> Private Sub Form_
17、Load()</p><p><b> prev = 0</b></p><p><b> oflag = 0</b></p><p><b> ind = 0</b></p><p><b> opnre = 0</b></p>&
18、lt;p> Clipboard.Clear</p><p> ang = 3.14 / 180</p><p><b> End Sub</b></p><p> 3.2.2、簡單的運(yùn)算</p><p> Private Sub Command1_Click(Index As Integer)</p
19、><p> If ind = 4 Then</p><p><b> prev = 0</b></p><p> Text1.Text = " "</p><p><b> ind = 0</b></p><p><b> End If&l
20、t;/b></p><p><b> opnre = 0</b></p><p> If oflag = 0 Then</p><p> Text1.Text = " "</p><p><b> End If</b></p><p><
21、;b> oflag = 1</b></p><p> If Command1(Index).Caption <> "." Then</p><p> If Text1.Text <> " 0" Then</p><p> Text1.Text = Text1.Text &
22、; Command1(Index).Caption</p><p><b> Else</b></p><p> Text1.Text = " " & Command1(Index).Caption</p><p><b> End If</b></p><p>&
23、lt;b> Else</b></p><p> If dflag = 0 Then</p><p> Text1.Text = Text1.Text & "."</p><p><b> dflag = 1</b></p><p><b> Else<
24、;/b></p><p> MsgBox ("Error")</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p&g
25、t; Private Sub Command2_Click(Index As Integer)</p><p> If opnre = 0 Or Index = 4 Then</p><p> If ind = 0 Then</p><p> prev = prev + Val(Text1.Text)</p><p> ElseIf
26、 ind = 1 Then</p><p> prev = prev - Val(Text1.Text)</p><p> ElseIf ind = 2 Then</p><p> If Val(Text1.Text) = 0 Then</p><p> MsgBox ("SORRY DIVIDE ZERO")&l
27、t;/p><p><b> Exit Sub</b></p><p><b> Else</b></p><p> prev = prev / Val(Text1.Text)</p><p><b> End If</b></p><p> Els
28、eIf ind = 3 Then</p><p> prev = prev * Val(Text1.Text)</p><p><b> End If</b></p><p> Text1.Text = Str(prev)</p><p><b> oflag = 0</b></p&g
29、t;<p><b> End If</b></p><p><b> opnre = 1</b></p><p> ind = Index</p><p><b> dflag = 0</b></p><p><b> End Sub</
30、b></p><p> 3.2.3、退格、清除、清空</p><p> Private Sub Command3_Click()</p><p> Dim length As Integer</p><p> length = Len(Text1.Text)</p><p> If length =
31、1 Then</p><p> If Text1.Text <> "0" Then</p><p> Text1.Text = "0"</p><p><b> End If</b></p><p><b> Else</b></p&
32、gt;<p> Text1.Text = Left(Text1.Text, length - 1)</p><p><b> End If</b></p><p> flag = True</p><p><b> End Sub</b></p><p> Private S
33、ub Command4_Click()</p><p><b> dflag = 0</b></p><p><b> prev = 0</b></p><p><b> oflag = 0</b></p><p><b> ind = 0</b>
34、</p><p><b> opnre = 0</b></p><p> Text1.Text = " 0"</p><p><b> End Sub</b></p><p> Private Sub Command5_Click()</p><p&g
35、t; Text1.Text = " 0"</p><p><b> End Sub</b></p><p> 3.2.4、復(fù)制、粘貼</p><p> Private Sub fz_Click()</p><p> Clipboard.Clear</p><p>
36、Clipboard.SetText Text1.Text</p><p><b> End Sub</b></p><p> Private Sub zt_Click()</p><p> Text1.Text = ""</p><p> Text1.Text = Clipboard.GetT
37、ext()</p><p><b> End Sub</b></p><p> 3.2.5、兩窗體的切換</p><p> Private Sub ck_Click()</p><p> form1.Hide</p><p> Form2.Show</p><p>
38、;<b> End Sub</b></p><p> Private Sub ckx_Click()</p><p> Form2.Hide</p><p> form1.Show</p><p><b> End Sub</b></p><p> 3.3、科學(xué)型
39、計(jì)算器的代碼</p><p> 3.3.1、變量的定義及初始化</p><p> Dim dflag As Integer</p><p> Dim i As Integer</p><p> Dim opnre As Integer</p><p> Dim prev As Double</p>
40、<p> Dim oflag As Integer</p><p> Dim ind As Integer</p><p> Dim X As Double</p><p> Dim Y As Double</p><p> Private Sub Form_Load()</p><p><
41、;b> prev = 0</b></p><p><b> oflag = 0</b></p><p><b> ind = 0</b></p><p><b> opnre = 0</b></p><p> Clipboard.Clear</
42、p><p> ang = 3.14 / 180</p><p><b> End Sub</b></p><p> 3.3.2、簡單的運(yùn)算</p><p> Private Sub Command1_Click(Index As Integer)</p><p> If ind = 4 Th
43、en</p><p><b> prev = 0</b></p><p> Text1.Text = " "</p><p><b> ind = 0</b></p><p><b> End If</b></p><p>&
44、lt;b> opnre = 0</b></p><p> If oflag = 0 Then</p><p> Text1.Text = " "</p><p><b> End If</b></p><p><b> oflag = 1</b><
45、;/p><p> If Command1(Index).Caption <> "." Then</p><p> If Text1.Text <> " 0" Then</p><p> Text1.Text = Text1.Text & Command1(Index).Caption</
46、p><p><b> Else</b></p><p> Text1.Text = " " & Command1(Index).Caption</p><p><b> End If</b></p><p><b> Else</b></p
47、><p> If dflag = 0 Then</p><p> Text1.Text = Text1.Text & "."</p><p><b> dflag = 1</b></p><p><b> Else</b></p><p>
48、MsgBox ("Error")</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub Command2_Click
49、(Index As Integer)</p><p> If opnre = 0 Or Index = 4 Then</p><p> If ind = 0 Then</p><p> prev = prev + Val(Text1.Text)</p><p> ElseIf ind = 1 Then</p><p
50、> prev = prev - Val(Text1.Text)</p><p> ElseIf ind = 2 Then</p><p> If Val(Text1.Text) = 0 Then</p><p> MsgBox ("SORRY DIVIDE ZERO")</p><p><b>
51、Exit Sub</b></p><p><b> Else</b></p><p> prev = prev / Val(Text1.Text)</p><p><b> End If</b></p><p> ElseIf ind = 3 Then</p>&l
52、t;p> prev = prev * Val(Text1.Text)</p><p><b> End If</b></p><p> Text1.Text = Str(prev)</p><p><b> oflag = 0</b></p><p><b> End If
53、</b></p><p><b> opnre = 1</b></p><p> ind = Index</p><p><b> dflag = 0</b></p><p><b> End Sub</b></p><p> 3.
54、3.3、正弦、余弦、正切</p><p> Private Sub Command5_Click()</p><p> Text1.Text = Str(Sin(ang * Val(Text1.Text)))</p><p><b> End Sub</b></p><p> Private Sub Comman
55、d6_Click()</p><p> Text1.Text = Str(Cos(ang * Val(Text1.Text)))</p><p><b> End Sub</b></p><p> Private Sub Command7_Click()</p><p> If (Cos(Val(Text1.Te
56、xt))) <> 0 Then</p><p> Text1.Text = Str(Sin(ang * Val(Text1.Text)) / Cos(ang * Val(Text1.Text)))</p><p><b> Else</b></p><p> MsgBox ("該數(shù)無正切值 ")</p
57、><p> Text1.Text = "0"</p><p><b> End If</b></p><p><b> End Sub</b></p><p> 3.3.4、平方、立方、多次方</p><p> Private Sub Command
58、8_Click()</p><p> X = Val(Text1.Text)</p><p> Text1.Text = X ^ 2</p><p><b> End Sub</b></p><p> Private Sub Command9_Click()</p><p> X = V
59、al(Text1.Text)</p><p> Text1.Text = X ^ 3</p><p><b> End Sub</b></p><p> Private Sub Command10_Click()</p><p> If (Text1.Text = "" Or prev = 0
60、) Then</p><p> MsgBox ("不合法輸入!?。?quot;)</p><p> Text1.Text = "0"</p><p><b> Else</b></p><p> prev = power(prev, Fix(Val(Text1.Text)))<
61、/p><p><b> End If</b></p><p><b> End Sub</b></p><p> 3.3.5、指數(shù)函數(shù)、對數(shù)函數(shù)</p><p> Private Sub Command11_Click()</p><p> e = Val(Text1.
62、Text)</p><p> Text1.Text = Exp(e)</p><p><b> End Sub</b></p><p> Private Sub Command12_Click()</p><p> L = Val(Text1.Text)</p><p> Text1.T
63、ext = Log(L)</p><p><b> End Sub</b></p><p> 3.3.6、倒數(shù)、平方根</p><p> Private Sub Command13_Click()</p><p> X = Val(Text1.Text)</p><p> If X =
64、0 Then</p><p> MsgBox ("除數(shù)不能為零!")</p><p><b> Else</b></p><p> Text1.Text = 1 / X</p><p><b> End If</b></p><p><b&g
65、t; End Sub</b></p><p> Private Sub Command14_Click()</p><p> If Text1.Text < 0 Then</p><p> MsgBox ("負(fù)數(shù)不能開方")</p><p> Text1.Text = "0"
66、</p><p><b> Else</b></p><p> Text1.Text = Str(Sqr(Val(Text1.Text)))</p><p><b> End If</b></p><p><b> End Sub</b></p><
67、p> 3.3.7、角度、弧度、梯度</p><p> Private Sub Option5_Click(Index As Integer)</p><p> Dim jd As Double, hu As Double, td As Double</p><p> ju = Val(Text1.Text)</p><p>
68、Select Case Index</p><p><b> Case 0</b></p><p> Text1.Text = ju</p><p><b> Case 1</b></p><p> hu = 3.141592654 / 180 * ju</p><p&g
69、t; Text1.Text = hu</p><p><b> Case 2</b></p><p> td = 3.141592654 / 200</p><p> Text1.Text = td</p><p> End Select</p><p> ind = Index<
70、;/p><p><b> End Sub</b></p><p> 3.3.8、各進(jìn)制轉(zhuǎn)換</p><p> Private Sub Option1_Click(Index As Integer)</p><p><b> Static r</b></p><p> S
71、elect Case Index</p><p><b> Case 0</b></p><p> Dim w As Integer</p><p> For w = 2 To 9</p><p> Command1(w).Enabled = True</p><p><b>
72、 Next w</b></p><p> For w = 0 To 5</p><p> Command3(w).Enabled = True</p><p><b> Next w</b></p><p> If r = 10 Then</p><p> Text1.Tex
73、t = trandec(Val(Text1.Text), 16)</p><p> ElseIf r = 2 Then</p><p> Text1.Text = Two16(Text1.Text)</p><p> ElseIf r = 8 Then</p><p> Text1.Text = OCT_to_HEX(Text1.Te
74、xt)</p><p><b> End If</b></p><p><b> r = 16</b></p><p><b> Case 1</b></p><p> Dim X As Integer</p><p> For X = 2 T
75、o 9</p><p> Command1(X).Enabled = True</p><p><b> Next X</b></p><p> For X = 0 To 5</p><p> Command3(X).Enabled = False</p><p><b> N
76、ext X</b></p><p> Text1.Text = Convert(Text1.Text, r)</p><p> If r = 8 Then Text1.Text = trandec(Val(Text1.Text), 10)</p><p><b> r = 10</b></p><p>
77、<b> Case 2</b></p><p> Dim Y As Integer</p><p> For Y = 2 To 7</p><p> Command1(Y).Enabled = True</p><p><b> Next Y</b></p><p>
78、; Command1(8).Enabled = False</p><p> Command1(9).Enabled = False</p><p> For Y = 0 To 5</p><p> Command3(Y).Enabled = False</p><p><b> Next Y</b></
79、p><p> If r = 10 Then</p><p> Text1.Text = trandec(Val(Text1.Text), 8)</p><p> ElseIf r = 16 Then</p><p> Text1.Text = HEX_to_OCT(Text1.Text)</p><p> Els
80、eIf r = 2 Then</p><p> Text1.Text = BIN_to_OCT(Text1.Text)</p><p><b> End If</b></p><p><b> r = 8</b></p><p><b> Case 3</b></
81、p><p> Dim z As Integer</p><p> For z = 2 To 9</p><p> Command1(z).Enabled = False</p><p><b> Next z</b></p><p> For z = 0 To 5</p>&l
82、t;p> Command3(z).Enabled = False</p><p><b> Next z</b></p><p> If r = 10 Then</p><p> Text1.Text = trandec(Val(Text1.Text), 2)</p><p><b> End
83、If</b></p><p> If r = 16 Then</p><p> Text1.Text = HEX_to_BIN(Text1.Text)</p><p> ElseIf r = 8 Then</p><p> Text1.Text = OCT_to_BIN(Text1.Text)</p><
84、;p><b> End If</b></p><p><b> r = 2</b></p><p> End Select</p><p><b> Y = N</b></p><p><b> End Sub</b></p>
85、<p> Function fact(num As Long) As Long</p><p> If (num < 0 Or num = 0) Then</p><p> MsgBox ("Error")</p><p> fact = num</p><p><b> Else&l
86、t;/b></p><p> If (num > 12) Then</p><p> MsgBox ("指太大")</p><p> fact = num</p><p><b> Else</b></p><p><b> re = 1<
87、/b></p><p> While (num > 0)</p><p> re = re * num</p><p> num = num - 1</p><p><b> Wend</b></p><p><b> fact = re</b><
88、/p><p><b> End If</b></p><p><b> End If</b></p><p> End Function</p><p> Public Function trandec$(ByVal m%, ByVal r%)</p><p> Dim
89、 strdtor$</p><p> Dim iB%, mr%</p><p> strdtor = ""</p><p> Do While m <> 0</p><p> mr = m Mod r</p><p><b> m = m \ r</b>&
90、lt;/p><p> If mr >= 10 Then</p><p> strdtor = Chr(mr - 10 + 65) & strdtor</p><p><b> Else</b></p><p> strdtor = mr & strdtor</p><p>
91、;<b> End If</b></p><p><b> Loop</b></p><p> trandec = strdtor</p><p> End Function</p><p> Public Function Convert(ByVal S As String, ByVal
92、 N As Integer) As Double</p><p> Dim r() As String</p><p> Dim i As Integer</p><p> Dim j As Integer</p><p> L = "0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|G|H|I|J|K|L|M
93、|N|O|P|Q|R|S|T|U|V|W|X|Y|Z"</p><p> r = Split(L, "|")</p><p> For i = 1 To Len(S)</p><p> For j = 0 To UBound(r)</p><p> If UCase(Mid(S, i, 1)) = r(j
94、) Then</p><p> Convert = Convert * N + j</p><p><b> End If</b></p><p><b> Next j</b></p><p><b> Next i</b></p><p>
95、 End Function</p><p> Private Function Two16(ByVal X As String) As String</p><p> Do While Len(X) Mod 4 <> 0</p><p> X = "0" + X</p><p><b> Lo
96、op</b></p><p> Do While Len(X) > 0</p><p> Select Case Right(X, 4)</p><p> Case "0000"</p><p> Two16 = "0" + Two16</p><p>
97、 Case "0001"</p><p> Two16 = "1" + Two16</p><p> Case "0010"</p><p> Two16 = "2" + Two16</p><p> Case "0011"</
98、p><p> Two16 = "3" + Two16</p><p> Case "0100"</p><p> Two16 = "4" + Two16</p><p> Case "0101"</p><p> Two16 = &q
99、uot;5" + Two16</p><p> Case "0110"</p><p> Two16 = "6" + Two16</p><p> Case "0111"</p><p> Two16 = "7" + Two16</p>
100、;<p> Case "1000"</p><p> Two16 = "8" + Two16</p><p> Case "1001"</p><p> Two16 = "9" + Two16</p><p> Case "101
101、0"</p><p> Two16 = "A" + Two16</p><p> Case "1011"</p><p> Two16 = "B" + Two16</p><p> Case "1100"</p><p>
102、 Two16 = "C" + Two16</p><p> Case "1101"</p><p> Two16 = "D" + Two16</p><p> Case "1110"</p><p> Two16 = "E" + Tw
103、o16</p><p> Case "1111"</p><p> Two16 = "F" + Two16</p><p> End Select</p><p> X = Left(X, Len(X) - 4)</p><p><b> Loop</b
104、></p><p> End Function</p><p> Public Function HEX_to_BIN(ByVal Hex As String) As String</p><p> Dim i As Long</p><p> Dim B As String</p><p> Hex
105、= UCase(Hex)</p><p> For i = 1 To Len(Hex)</p><p> Select Case Mid(Hex, i, 1)</p><p> Case "0": B = B & "0000"</p><p> Case "1": B
106、 = B & "0001"</p><p> Case "2": B = B & "0010"</p><p> Case "3": B = B & "0011"</p><p> Case "4": B = B &a
107、mp; "0100"</p><p> Case "5": B = B & "0101"</p><p> Case "6": B = B & "0110"</p><p> Case "7": B = B & &qu
108、ot;0111"</p><p> Case "8": B = B & "1000"</p><p> Case "9": B = B & "1001"</p><p> Case "A": B = B & "1010
109、"</p><p> Case "B": B = B & "1011"</p><p> Case "C": B = B & "1100"</p><p> Case "D": B = B & "1101"&
110、lt;/p><p> Case "E": B = B & "1110"</p><p> Case "F": B = B & "1111"</p><p> End Select</p><p><b> Next i</b&g
111、t;</p><p> Do While Left(B, 1) = "0"</p><p> B = Right(B, Len(B) - 1)</p><p><b> Loop</b></p><p> HEX_to_BIN = B</p><p> End Fun
112、ction</p><p> Public Function OCT_to_BIN(ByVal Oct As String) As String</p><p> Dim i As Long</p><p> Dim B As String</p><p> For i = 1 To Len(Oct)</p><p
113、> Select Case Mid(Oct, i, 1)</p><p> Case "0": B = B & "000"</p><p> Case "1": B = B & "001"</p><p> Case "2": B = B
114、 & "010"</p><p> Case "3": B = B & "011"</p><p> Case "4": B = B & "100"</p><p> Case "5": B = B & &qu
115、ot;101"</p><p> Case "6": B = B & "110"</p><p> Case "7": B = B & "111"</p><p> End Select</p><p><b> Nex
116、t i</b></p><p> While Left(B, 1) = "0"</p><p> B = Right(B, Len(B) - 1)</p><p><b> Wend</b></p><p> OCT_to_BIN = B</p><p>
117、 End Function</p><p> Public Function HEX_to_OCT(ByVal Hex As String) As String</p><p> Dim bin As String</p><p> Hex = UCase(Hex)</p><p> bin = HEX_to_BIN(Hex)<
118、/p><p> HEX_to_OCT = BIN_to_OCT(bin)</p><p> End Function</p><p> Public Function BIN_to_OCT(ByVal bin As String) As String</p><p> Dim i As Long</p><p>
119、 Dim H As String</p><p> If Len(bin) Mod 3 <> 0 Then</p><p> bin = String(3 - Len(bin) Mod 3, "0") & bin</p><p><b> End If</b></p><p>
120、; For i = 1 To Len(bin) Step 3</p><p> Select Case Mid(bin, i, 3)</p><p> Case "000": H = H & "0"</p><p> Case "001": H = H & "1"
121、</p><p> Case "010": H = H & "2"</p><p> Case "011": H = H & "3"</p><p> Case "100": H = H & "4"</p>
122、<p> Case "101": H = H & "5"</p><p> Case "110": H = H & "6"</p><p> Case "111": H = H & "7"</p><p>
123、; End Select</p><p><b> Next i</b></p><p> While Left(H, 1) = "0"</p><p> H = Right(H, Len(H) - 1)</p><p><b> Wend</b></p>
124、<p> BIN_to_OCT = H</p><p> End Function</p><p> Public Function OCT_to_DEC(ByVal Oct As String) As Long</p><p> Dim i As Long</p><p> Dim B As Long</p>
125、;<p> For i = 1 To Len(Oct)</p><p> Select Case Mid(Oct, Len(Oct) - i + 1, 1)</p><p> Case "0": B = B + 8 ^ (i - 1) * 0</p><p> Case "1": B = B + 8 ^
126、(i - 1) * 1</p><p> Case "2": B = B + 8 ^ (i - 1) * 2</p><p> Case "3": B = B + 8 ^ (i - 1) * 3</p><p> Case "4": B = B + 8 ^ (i - 1) * 4</p>
127、<p> Case "5": B = B + 8 ^ (i - 1) * 5</p><p> Case "6": B = B + 8 ^ (i - 1) * 6</p><p> Case "7": B = B + 8 ^ (i - 1) * 7</p><p> End Select
128、</p><p><b> Next i</b></p><p> OCT_to_DEC = B</p><p> End Function</p><p> Public Function OCT_to_HEX(ByVal Oct As String) As String</p><p>
129、; Dim bin As String</p><p> bin = OCT_to_BIN(Oct)</p><p> OCT_to_HEX = Two16(bin)</p><p> End Function</p><p> 3.3.9、退格、清除、清空</p><p> Private Sub Com
130、mand15_Click()</p><p> Dim length As Integer</p><p> length = Len(Text1.Text)</p><p> If length = 1 Then</p><p> If Text1.Text <> "0" Then</p>
131、;<p> Text1.Text = "0"</p><p><b> End If</b></p><p><b> Else</b></p><p> Text1.Text = Left(Text1.Text, length - 1)</p><p>&
132、lt;b> End If</b></p><p> flag = True</p><p><b> End Sub</b></p><p> Private Sub Command16_Click()</p><p><b> dflag = 0</b></p&g
133、t;<p><b> prev = 0</b></p><p><b> oflag = 0</b></p><p><b> ind = 0</b></p><p><b> opnre = 0</b></p><p> Text
134、1.Text = " 0"</p><p><b> End Sub</b></p><p> Private Sub Command17_Click()</p><p> Text1.Text = " 0"</p><p><b> End Sub</b&
135、gt;</p><p> 3.3.10、復(fù)制、粘貼</p><p> Private Sub fz_Click()</p><p> Clipboard.Clear</p><p> Clipboard.SetText Text1.Text</p><p><b> End Sub</b>
136、;</p><p> Private Sub zt_Click()</p><p> Text1.Text = ""</p><p> Text1.Text = Clipboard.GetText()</p><p><b> End Sub</b></p><p>
137、 3.3.11、兩窗體的切換</p><p> Private Sub ck_Click()</p><p> form1.Hide</p><p> Form2.Show</p><p><b> End Sub</b></p><p> Private Sub ckx_Click()
138、</p><p> Form2.Hide</p><p> form1.Show</p><p><b> End Sub</b></p><p><b> 第四章、總結(jié)</b></p><p> 經(jīng)過課程設(shè)計(jì)后我總結(jié)了一些學(xué)習(xí)方法,學(xué)到了一些知識,以下是我對此次實(shí)
139、習(xí)的總結(jié)</p><p> 4.1、對學(xué)習(xí)者知識的要求: </p><p> 首先,學(xué)習(xí)程序設(shè)計(jì)要有一定的邏輯思維能力,邏輯思維需要長時(shí)間的鍛煉,如果你覺得</p><p> 自己在邏輯思維能力上有不足,也沒有關(guān)系,因?yàn)榫帉懗绦虮旧硪彩菍壿嬎季S的鍛煉,</p><p> 初學(xué)程序設(shè)計(jì)應(yīng)具備的邏輯基礎(chǔ)可以從高中數(shù)學(xué)中學(xué)到。</p
140、><p> 其次,學(xué)習(xí)程序設(shè)計(jì)要具備一定的數(shù)學(xué)基礎(chǔ),計(jì)算機(jī)與數(shù)學(xué)有很大的聯(lián)系,綜觀計(jì)算機(jī)歷</p><p> 史,計(jì)算機(jī)的數(shù)學(xué)模型和體系結(jié)構(gòu)等都是由數(shù)學(xué)家提出的。因此,要學(xué)習(xí)好計(jì)算機(jī)就要有</p><p> 一定的數(shù)學(xué)基礎(chǔ),不過對于初學(xué)者來說,在數(shù)學(xué)基礎(chǔ)方面的要求并不是很高,從我個(gè)人的</p><p> 角度來看,有高中數(shù)學(xué)水平就差不多了
141、。</p><p> 4.2、學(xué)習(xí)程序設(shè)計(jì)基本要求:</p><p> 熟悉Visual Basic操作環(huán)境與設(shè)計(jì)工具,能設(shè)計(jì)應(yīng)用程序界面。</p><p> 掌握,理解面向?qū)ο蟪绦蛟O(shè)計(jì)基本概念。</p><p> 理解、運(yùn)用數(shù)據(jù)庫的連接,及調(diào)用 。</p><p> 掌握數(shù)據(jù)庫對數(shù)據(jù)的管理。</p&g
142、t;<p> 掌握VB語言的基礎(chǔ)知識,程序設(shè)計(jì)的方法。 </p><p> 能閱讀一般難的程序; </p><p> 能應(yīng)用編寫一些簡單程序;</p><p> 具有用Visual Basic開發(fā)Windows環(huán)境下應(yīng)用程序的能力和閱讀分析一般難度的VB程序的能力。 </p><p> 4.3、程序設(shè)計(jì)方法概述<
143、/p><p> 1、初期的程序設(shè)計(jì) </p><p> 高運(yùn)行效率,少占用內(nèi)存為目標(biāo) </p><p> 2、結(jié)構(gòu)化程序設(shè)計(jì) </p><p> 程序的可讀性,可維護(hù)性為目標(biāo) </p><p> 程序=算法+數(shù)據(jù)結(jié)構(gòu)+計(jì)算機(jī)語言+面向過程的程序設(shè)計(jì)方法 </p><p> 3、面向?qū)ο蟮?/p>
144、程序設(shè)計(jì)</p><p> 降低程序的復(fù)雜性,提高軟件的開法效率和改善工作界面為目標(biāo) </p><p> 程序=對象+消息+面向?qū)ο蟮某绦蛟O(shè)計(jì) </p><p> 4.4、如何學(xué)好VB</p><p> (1)養(yǎng)成良好的學(xué)習(xí)習(xí)慣 </p><p> (2)學(xué)習(xí)程序設(shè)計(jì)要注重理解一些重要的概念。 </p&
145、gt;<p> (3)自己動(dòng)手編寫程序 </p><p> (4)閱讀。借簽別人設(shè)計(jì)的好程序 </p><p> (5) VB程序設(shè)計(jì)學(xué)習(xí)的重點(diǎn) </p><p> (6)養(yǎng)成良好的編程習(xí)慣 </p><p><b> 4.5、不足之處</b></p><p> 由于水
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算器java課程設(shè)計(jì)--簡單計(jì)算器
- 簡單計(jì)算器課程設(shè)計(jì)
- vb課程設(shè)計(jì)簡易計(jì)算器
- vb計(jì)算器課程設(shè)計(jì)報(bào)告
- vb-計(jì)算器-課程設(shè)計(jì)
- 簡單計(jì)算器課程設(shè)計(jì)報(bào)告
- 簡單的計(jì)算器課程設(shè)計(jì)
- 課程設(shè)計(jì)---簡單的計(jì)算器
- 簡單的計(jì)算器課程設(shè)計(jì)
- 簡單計(jì)算器課程設(shè)計(jì)報(bào)告
- 簡易計(jì)算器vb課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)--簡單計(jì)算器的設(shè)計(jì)
- 課程設(shè)計(jì)--簡單的計(jì)算器設(shè)計(jì)
- 課程設(shè)計(jì)--簡單計(jì)算器的設(shè)計(jì)
- c++課程設(shè)計(jì)--簡單計(jì)算器
- c++課程設(shè)計(jì)--簡單計(jì)算器
- 簡易計(jì)算器vb課程設(shè)計(jì)報(bào)告報(bào)告
- c++簡單計(jì)算器課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--簡單計(jì)算器
- 《軟件設(shè)計(jì)基礎(chǔ)(vb)》簡單科學(xué)計(jì)算器課程設(shè)計(jì)報(bào)告書
評論
0/150
提交評論