vb課程設計--簡單計算器_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  摘 要</b></p><p>  我用VB制作這個程序的簡單計算器,它包括一個標準的計算器和一個科學計算器。它可以實現簡單的加減乘除四則運算,數字的平方、平方根,正弦、余弦、正切,倒數、指數函數、對數函數,角度、弧度、梯度的轉換,以及各進制的相互轉換。而且它的功能還有退格,清除當前數據,清除所有數據,復制數據,粘貼數據。</p><p&g

2、t;  在這個計算器的程序中,我用到了單行選擇語句If … Then …Else…,</p><p>  塊語句if…then…end if,If語句的嵌套,多條件選擇語句Select Case,而且還用到了按鈕、文本框、框架、單選按鈕控件,菜單的設計。</p><p>  在此報告中我重點敘述了計算機的各個功能及用法。特別是進制間的轉換和數字與運算符之間的聯系。。雖然描述的不太完整,但我

3、會盡力使用系統(tǒng)結構圖,劃分多個模塊,讓大家明白我設計的運算器的功能的。</p><p><b>  目 錄</b></p><p>  第一章、程序概述- 3 -</p><p>  1.1、創(chuàng)作目的- 3 -</p><p>  1.2、基本功能- 3 -</p><p>  第二章、總

4、體設計- 4 -</p><p>  2.1、程序輪廓圖- 4 -</p><p>  第三章、程序代碼- 6 -</p><p>  3.1、計算器界面- 6 -</p><p>  3.1.1、標準型計算器:- 6 -</p><p>  3.1.2、科學型計算器:- 7 -</p>&l

5、t;p>  3.2、標準計算器代碼- 8 -</p><p>  3.2.1、變量的定義及初始化- 8 -</p><p>  3.2.2、簡單的運算- 8 -</p><p>  3.2.3、退格、清除、清空- 10 -</p><p>  3.2.4、復制、粘貼- 11 -</p><p>  3.

6、2.5、兩窗體的切換- 12 -</p><p>  3.3、科學型計算器的代碼- 12 -</p><p>  3.3.1、變量的定義及初始化- 12 -</p><p>  3.3.2、簡單的運算- 13 -</p><p>  3.3.3、正弦、余弦、正切- 15 -</p><p>  3.3.4、平

7、方、立方、多次方- 15 -</p><p>  3.3.5、指數函數、對數函數- 16 -</p><p>  3.3.6、倒數、平方根- 16 -</p><p>  3.3.7、角度、弧度、梯度- 17 -</p><p>  3.3.8、各進制轉換- 18 -</p><p>  3.3.9、退格、清

8、除、清空- 27 -</p><p>  3.3.10、復制、粘貼- 28 -</p><p>  3.3.11、兩窗體的切換- 29 -</p><p>  第四章、總結- 30 -</p><p>  4.1、對學習者知識的要求:- 30 -</p><p>  4.2、學習程序設計基本要求:- 30

9、-</p><p>  4.3、程序設計方法概述- 31 -</p><p>  4.4、如何學好VB- 31 -</p><p>  4.5、不足之處- 32 -</p><p>  參考文獻- 33 -</p><p><b>  第一章、程序概述</b></p><

10、;p><b>  1.1、創(chuàng)作目的</b></p><p>  本程序的目標是建立一套可以計算數的平方,平方根,倒數,正弦,余弦,正切,指數函數,對數函數,角度、弧度、梯度相互轉換和數字的</p><p>  進制轉換的計算器系統(tǒng),系統(tǒng)可以幫助我們更快的計算,更好的學習,更</p><p>  好的節(jié)省時間。還能避免出現一些不必要的計算錯

11、誤。</p><p><b>  1.2、基本功能</b></p><p>  能夠完成整型和實型常數的四則運算。</p><p>  能夠進行如下函數的求值運算,包括sin, cos,tan, exp, log, sqr, 1/x,及和園周率π。</p><p>  能夠實現角度、弧度、梯度的相互轉換。</p&g

12、t;<p>  能夠實現的進制的相互轉換。</p><p>  輸出時的格式:結果為整數時不顯示小數點,結果為1以下小數時要顯示前導0。</p><p>  分門別類采用控件數組,以減少事件處理的復雜程度,使程序簡潔高效。</p><p>  能夠實現退格鍵、清除、清空功能。</p><p>  出錯處理:操作數如果不符合數學上

13、的定義,應該給出錯誤信息。例:0做除數,負數或0做真數等情況</p><p><b>  第二章、總體設計</b></p><p><b>  2.1、程序輪廓圖</b></p><p><b>  圖 一</b></p><p><b>  第三章、程序代碼<

14、;/b></p><p><b>  3.1、計算器界面</b></p><p>  3.1.1、標準型計算器:</p><p><b>  圖 二</b></p><p>  3.1.2、科學型計算器:</p><p><b>  圖 三</b&g

15、t;</p><p>  3.2、標準計算器代碼</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、簡單的運算</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、復制、粘貼</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、科學型

39、計算器的代碼</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、簡單的運算</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 ("該數無正切值 ")</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、指數函數、對數函數</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、倒數、平方根</p><p>  Private Sub Command13_Click()</p><p>  X = Val(Text1.Text)</p><p>  If X =

64、0 Then</p><p>  MsgBox ("除數不能為零!")</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 ("負數不能開方")</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、各進制轉換</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、復制、粘貼</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>  第四章、總結</b></p><p>  經過課程設計后我總結了一些學習方法,學到了一些知識,以下是我對此次實

139、習的總結</p><p>  4.1、對學習者知識的要求: </p><p>  首先,學習程序設計要有一定的邏輯思維能力,邏輯思維需要長時間的鍛煉,如果你覺得</p><p>  自己在邏輯思維能力上有不足,也沒有關系,因為編寫程序本身也是對邏輯思維的鍛煉,</p><p>  初學程序設計應具備的邏輯基礎可以從高中數學中學到。</p

140、><p>  其次,學習程序設計要具備一定的數學基礎,計算機與數學有很大的聯系,綜觀計算機歷</p><p>  史,計算機的數學模型和體系結構等都是由數學家提出的。因此,要學習好計算機就要有</p><p>  一定的數學基礎,不過對于初學者來說,在數學基礎方面的要求并不是很高,從我個人的</p><p>  角度來看,有高中數學水平就差不多了

141、。</p><p>  4.2、學習程序設計基本要求:</p><p>  熟悉Visual Basic操作環(huán)境與設計工具,能設計應用程序界面。</p><p>  掌握,理解面向對象程序設計基本概念。</p><p>  理解、運用數據庫的連接,及調用 。</p><p>  掌握數據庫對數據的管理。</p&g

142、t;<p>  掌握VB語言的基礎知識,程序設計的方法。 </p><p>  能閱讀一般難的程序; </p><p>  能應用編寫一些簡單程序;</p><p>  具有用Visual Basic開發(fā)Windows環(huán)境下應用程序的能力和閱讀分析一般難度的VB程序的能力。 </p><p>  4.3、程序設計方法概述<

143、/p><p>  1、初期的程序設計 </p><p>  高運行效率,少占用內存為目標 </p><p>  2、結構化程序設計 </p><p>  程序的可讀性,可維護性為目標 </p><p>  程序=算法+數據結構+計算機語言+面向過程的程序設計方法 </p><p>  3、面向對象的

144、程序設計</p><p>  降低程序的復雜性,提高軟件的開法效率和改善工作界面為目標 </p><p>  程序=對象+消息+面向對象的程序設計 </p><p>  4.4、如何學好VB</p><p>  (1)養(yǎng)成良好的學習習慣 </p><p>  (2)學習程序設計要注重理解一些重要的概念。 </p&

145、gt;<p>  (3)自己動手編寫程序 </p><p>  (4)閱讀。借簽別人設計的好程序 </p><p>  (5) VB程序設計學習的重點 </p><p>  (6)養(yǎng)成良好的編程習慣 </p><p><b>  4.5、不足之處</b></p><p>  由于水

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論