注册 登录
编程论坛 VB6论坛

VB编写一个简单的计算机。如图!谢谢谢谢啦

enger120120 发布于 2012-05-23 14:54, 823 次点击
做一个类似下图界面的简单计算器。

  提示:(1)控件数组cmdNum包括10个控件,下标分别与0~9这10个数字对应。按下控件数组的某个按钮时,用其元素的下标值对应组成数据。

        (2)cmdCount也是包含了四个元素的控件数组,分别表示”+”、”-”、”*”、”/”运算符,可用Select Case语句判断并做出不同的操作。

         (3)可设置逻辑变量fNext,判断输入的是第一个还是第二个操作符,为0时表示第一个操作数,1时表示第二个操作数。

只有本站会员才能查看附件,请 登录


只有本站会员才能查看附件,请 登录

附件中我已经排好了 界面了。搞不懂 第一个操作数 和第二个操作数间的   如何分开

[ 本帖最后由 enger120120 于 2012-5-23 19:55 编辑 ]
4 回复
#2
风吹过b2012-05-23 15:59
程序不看了。我说一下实现办法。
输入数字部分你应该没问题了。

1、输入数字。这时,不用管 fNext ,什么都不用管。
2、输入符号。这里,如果
  fNext = 0 ,表示刚输入的数字是第一个数,那么定义一个 全局变量 ,把它保存起来。同时用另一个全局变量 保存 符号 。fNext 置 1, 文本框置空,准备输入第二个数
  fNext = 1 , 表示刚输入的数字是第二个数,那么根据 前面保存的 全局变量 和 前面保存的符号,与刚输入的第二个数进行运算。
              然后 把运算结果 放到 全局变量中,当作第一个数看待,同时保存当前符号。fNext 置1 , 文本框置空,准备输入第二个数
3、如果按下 等号键 ,如果
  fNext =0 ,不处理,忽略。
  fNext =1 ,文本框中是第二个数,进行计算,把结果显示到文件框中,同时 fNext 置 0,表示已经运算完毕。
4、按下清零键。
  fNext 置 0 ,文本框内容 置 空

希望你能自己研究出来。
这个算稍动一动脑筋的题目了。
#3
enger1201202012-05-23 17:30
回复 2楼 风吹过b
嗯嗯。。。感谢大大了。。。
无以为报,为有送上 飞吻一只  
#4
enger1201202012-05-23 19:54
回复 2楼 风吹过b
程序代码:
Dim a As Integer, b As String, fnext As Integer
Dim d As Double
Private Sub c_Click()
If fnext = 1 Then
  Select Case b
         Case "+"
              d = Val(Text1) + a
         Case "-"
              d = a - Val(Text1)
         Case "*"
              d = a * Val(Text1)
         Case "/"
              If Val(Text1) = 0 Then
                MsgBox "0"
               Else
                d = a / Val(Text1)
              End If
  End Select
End If
If fnext = 1 Then
    Text1 = d
    fnext = 0
End If
End Sub

Private Sub c1_Click(Index As Integer)
  Text1 = Text1 & c1(Index).Caption
End Sub


Private Sub cmdcount_Click(Index As Integer)
If fnext = 0 Then
    a = Val(Text1)
    b = cmdcount(Index).Caption
    fnext = 1
    Text1 = ""
End If
End Sub
基本的弄出来 的。就是连续求 ,如 1+1+1 变成 1+11了。。。烦呀
c是 = 号
c1是 数字
cmdcount 是 加减乘除的


[ 本帖最后由 enger120120 于 2012-5-23 19:57 编辑 ]
#5
Artless2012-05-23 23:19
这代码 1+1+1不适合
1