1、vb计算器设计报告一设计思路 1二关键问题的解决 1三概要设计说明 1四源代码 1五心得体会 8一设计思路 1.要达到的目的 要达到的目的 主要是培养学生利用系统提供的基本控件进行创新性设计,理解 Visual Basic 语言中面向对象的程 序设计。培养学生综合利用 Visual Basic 语言进行程序设计的能力。二关键问题的解决 先使用 Command 命令按钮,命令按钮控件数组,文本框等基本控件设计窗体,再根据下面方法编制程序:三概要设计说明本组设计的科学计算器具有科学型和标准型两种类型, 适合不同 需要.科学型中包含弧度与角度的计算,同时兼具 2,8,10,16 进 制的运算.四源代
2、码Dim num1 As DoubleDim num2 As DoubleDim num3 As DoubleDim flag As DoubleDim operator As IntegerDim q As IntegerPrivate Sub Command1_Click(Index As Integer) Select Case Index Case Is = 20 If (Val(Text1.Text) = 0) Then Text1.Text = Command1(Index).Caption Else Text1.Text = Text1.Text + Command1(Index
3、).Caption End If Case 10 Text1.Text = Text1.Text + . Case 11 Text1.Text = -Val(Text1.Text) Case 12 If Not flag Then num1 = Val(Text1.Text) Text1.Text = 0 flag = True operator = 1 End IfCase 13 If Not flag Then num1 = Val(Text1.Text) Text1.Text = 0 flag = True operator = 2 End IfCase 14 If Not flag T
4、hen num1 = Val(Text1.Text) Text1.Text = 0 flag = True operator = 3 End IfCase 15 If Not flag Then num1 = Val(Text1.Text) Text1.Text = 0 flag = True operator = 4 End IfCase 16 If Not flag Then num1 = Val(Text1.Text) Text1.Text = 0 flag = True operator = 5 End IfCase 17 num1 = Val(Text1.Text) Text1.Te
5、xt = Sqr(num1)Case 19 Text1.Text = 0Case 18 If flag Then If q = 2 Then num1 = Val(&O & Val(num1) num2 = Val(&O & Val(Text1.Text) Select Case operator Case 1 num3 = num1 + num2 Case 2 num3 = num1 - num2 Case 3 num3 = num1 * num2 Case 4 num3 = num1 / num2 Case 5 num3 = num1 Mod num2 End Select num3 =
6、Oct(Val(num3) Text1.Text = num3 flag = False ElseIf q = 4 Then num1 = Val(&H & num1) num2 = Val(&H & Text1.Text) Select Case operator Case 1 num3 = num1 + num2 Case 2 num3 = num1 - num2 Case 3 num3 = num1 * num2 Case 4 num3 = num1 / num2 Case 5 num3 = num1 Mod num2 End Select Text1.Text = Hex(num3)
7、flag = False ElseIf q = 1 Then num2 = Val(Text1.Text) Select Case operator Case 1 num3 = num1 + num2 Case 2 num3 = num1 - num2 Case 3 num3 = num1 * num2 Case 4 num3 = num1 / num2 Case 5 num3 = num1 Mod num2 End Select Text1.Text = num3 flag = False ElseIf q = 3 Then Dim a As String Dim b As Integer
8、Dim i As Integer Dim t As Integer a = Val(num1) b = 0 For i = 1 To Len(a) t = Asc(Mid(a, i, 1) - 48 b = b * 2 + t Next i num1 = b a = Val(Text1.Text) b = 0 For i = 1 To Len(a) t = Asc(Mid(a, i, 1) - 48 b = b * 2 + t Next i num2 = b Select Case operator Case 1 num3 = num1 + num2 Case 2 num3 = num1 -
9、num2 Case 3 num3 = num1 * num2 Case 4 num3 = num1 / num2 Case 5 num3 = num1 Mod num2 End Select Dim j As Integer Dim w As Integer Dim k As String w = Val(num3) Do j = w Mod 2 w = w 2 k = j & k Loop While w 0 Text1.Text = k flag = False End IfEnd If End SelectEnd SubPrivate Sub Form_Load()Text1.Text
10、= 0Option3.Value = True flag = False num1 = 0 num2 = 0 num3 = 0End SubPrivate Sub Option1_Click() Dim i As Integer Dim a As Integer Dim b As String If q = 2 Then a = Val(&O & Val(Text1.Text) Do i = a Mod 2 a = a 2 b = i & b Loop While a 0 Text1.Text = b ElseIf q = 1 Then a = Val(Text1.Text) Do i = a
11、 Mod 2 a = a 2 b = i & b Loop While a 0 Text1.Text = b ElseIf q = 4 Then a = Val(&H & Text1.Text) Do i = a Mod 2 a = a 2 b = i & b Loop While a 0 Text1.Text = b End IfFor i = 2 To 9Command1(i).Enabled = FalseNext iFor i = 20 To 25Command1(i).Enabled = FalseNext iq = 3End SubPrivate Sub Option2_Click
12、()If q = 3 Then Dim a As String Dim b As Integer Dim i As Integer Dim t As Integer a = Val(Text1.Text) b = 0 For i = 1 To Len(a) t = Asc(Mid(a, i, 1) - 48 b = b * 2 + t Next i Text1.Text = Oct(b) ElseIf q = 1 Then Text1.Text = Oct(Val(Text1.Text) ElseIf q = 4 Then Text1.Text = Oct(Val(&H & Text1.Tex
13、t)End If For i = 2 To 7 Command1(i).Enabled = True Next i Command1(8).Enabled = False Command1(9).Enabled = False For i = 20 To 25Command1(i).Enabled = FalseNext iq = 2End SubPrivate Sub Option3_Click() If q = 2 Then Text1.Text = Val(&O & Val(Text1.Text) ElseIf q = 3 Then Dim a As String Dim b As In
14、teger Dim i As Integer Dim t As Integer a = Val(Text1.Text) b = 0 For i = 1 To Len(a) t = Asc(Mid(a, i, 1) - 48 b = b * 2 + t Next i Text1.Text = b ElseIf q = 4 Then Text1.Text = Val(&H & Text1.Text) End IfFor i = 2 To 9Command1(i).Enabled = TrueNext iFor i = 20 To 25Command1(i).Enabled = FalseNext
15、i q = 1End SubPrivate Sub Option4_Click()Dim a As String Dim b As Integer Dim i As Integer Dim t As Integer If q = 1 Then Text1.Text = Hex(Val(Text1.Text) ElseIf q = 2 Then a = Val(&0 & Val(Text1.Text) Text1.Text = Hex(a) ElseIf q = 3 Then a = Val(Text1.Text) b = 0 For i = 1 To Len(a) t = Asc(Mid(a,
16、 i, 1) - 48 b = b * 2 + t Next i Text1.Text = Hex(b) End If For i = 2 To 25Command1(i).Enabled = TrueNext i q = 4End Sub五心得体会. 经过一个星期的上机实践学习, 使我对 VB 有了更进一步的认识和 了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学 习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上 还不行,经常按错字母,通过学习也有所改进;再有对 VB 的一些标 准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对 VB 中经常出现的错误也不了解,同时在设计的过程中发现了自己的 不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固, 通过实践,使我在这几个方面的认识有所提高. 通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是 学习 VB,还是其它的语言,以及其它的计算机方面的知识都要重在 实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地 学好计算机