这是一段计算器代码,有问题请帮帮我

sd6703684 2005-03-11 11:24:11
Option Explicit
Dim Number1 As Integer
Dim Number2 As Integer
Dim SaveSign As String
Dim ClearDisplay As Boolean

Private Sub cmdButton_Click(Index As Integer)
txtShow.Text = txtShow.Text + cmdButton(Index).Caption
End Sub

Private Sub cmdClear_Click()
txtShow.Text = ""
End Sub

Private Sub cmdEnd_Click()
Unload Me
End Sub

Private Sub cmdSign_Click(Index As Integer)
Select Case Index
Case 1, 2, 3, 4
Number1 = Val(txtShow.Text)
Case 5
SaveSign = txtShow.Text
Number2 = Val(txtShow.Text)
Select Case Index
Case 1
txtShow.Text = Val(Number1) + Val(Number2)
Case 2
txtShow.Text = Val(Number1) - Val(Number2)
Case 3
txtShow.Text = Val(Number1) * Val(Number2)
Case 4
If Number1 <> 0 Then txtShow.Text = Val(Number1) / Val(Number2)
End Select
End Select
End Sub
可以帮我看看哪里出问题了么 我是菜鸟
...全文
110 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sd6703684 2005-03-11
  • 打赏
  • 举报
回复
运行下就是会只会运算+了。。
tyg1982 2005-03-11
  • 打赏
  • 举报
回复
运行原程序有什么问题吗
sd6703684 2005-03-11
  • 打赏
  • 举报
回复
改了是改了。。可以你运行下代码。。点哪个都是+。。
laviewpbt 2005-03-11
  • 打赏
  • 举报
回复
txtShow.Text中的内容默认类型是String的,所以txtShow.Text + cmdButton(Index).Caption这样就相当于把两个字符串连接起来(这里+号相当与&的作用),所以在相加之前要转换数值类型!

Private Sub cmdButton_Click(Index As Integer)
txtShow.Text = Val(txtShow.Text) + Val(cmdButton(Index).Caption)
End Sub
sd6703684 2005-03-11
  • 打赏
  • 举报
回复
谢谢你了 哈 就是savesign=index..HOHO 明白了
hzw66 2005-03-11
  • 打赏
  • 举报
回复
不好意思,修正一下:
Option Explicit
Dim Number1 As Integer
Dim Number2 As Integer
Dim SaveSign As String
Dim ClearDisplay As Boolean

Private Sub cmdButton_Click(Index As Integer)
txtShow.Text = txtShow.Text + cmdButton(Index).Caption
End Sub

Private Sub cmdClear_Click()
txtShow.Text = ""
End Sub

Private Sub cmdEnd_Click()
Unload Me
End Sub

Private Sub cmdSign_Click(Index As Integer)
Select Case Index
Case 1, 2, 3, 4
Number1 = Val(txtShow.Text)
SaveSign = Index
txtShow.Text = ""
Case 5
Number2 = Val(txtShow.Text)
Select Case SaveSign
Case 1
txtShow.Text = Val(Number1) + Val(Number2)
Case 2
txtShow.Text = Val(Number1) - Val(Number2)
Case 3
txtShow.Text = Val(Number1) * Val(Number2)
Case 4
If Number1 <> 0 Then txtShow.Text = Val(Number1) / Val(Number2)
End Select
End Select
End Sub

刚才发的多了一句
hzw66 2005-03-11
  • 打赏
  • 举报
回复
Option Explicit
Dim Number1 As Integer
Dim Number2 As Integer
Dim SaveSign As String
Dim ClearDisplay As Boolean

Private Sub cmdButton_Click(Index As Integer)
txtShow.Text = txtShow.Text + cmdButton(Index).Caption
End Sub

Private Sub cmdClear_Click()
txtShow.Text = ""
End Sub

Private Sub cmdEnd_Click()
Unload Me
End Sub

Private Sub cmdSign_Click(Index As Integer)
Select Case Index
Case 1, 2, 3, 4
Number1 = Val(txtShow.Text)
SaveSign = Index
txtShow.Text = ""
Case 5
SaveSign = txtShow.Text
Number2 = Val(txtShow.Text)
Select Case SaveSign
Case 1
txtShow.Text = Val(Number1) + Val(Number2)
Case 2
txtShow.Text = Val(Number1) - Val(Number2)
Case 3
txtShow.Text = Val(Number1) * Val(Number2)
Case 4
If Number1 <> 0 Then txtShow.Text = Val(Number1) / Val(Number2)
End Select
End Select
End Sub
sd6703684 2005-03-11
  • 打赏
  • 举报
回复
是啊
hzw66 2005-03-11
  • 打赏
  • 举报
回复
你的程序里都有什么按扭,是不是+ - * / 和各个数字呀
laviewpbt 2005-03-11
  • 打赏
  • 举报
回复
hehe ,问题表述的不够清楚!
sd6703684 2005-03-11
  • 打赏
  • 举报
回复
没人回答么

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧