要用到控件数组不用select case太难了!
那9个数字建就不知道如何搞定!

解决方案 »

  1.   

    我也正想做一个计算器,能由键盘输入,包括:括号,乘方,开方还有n进制转n进制的计算器,我的同学说需要用到堆栈,但在vb中我并没有接触到堆栈,不知道你怎么样,如果你学过不妨探讨探讨。
      

  2.   

    数字键可以用控件数组,0-9可以直接用INDEX表示
      

  3.   

    '堆栈最简版
    Dim Stack(100) As Double
    Dim SP As IntegerSub Push(value As Double)
       SP=SP+1
       If SP < 100 Then Stack(SP) = value '没有保护措施
    End SubFunction Pop() As Double
       Pop = Stack(SP)
       SP = SP -1
       If SP < 0 Then SP = 0 '没有保护措施
    End FunctionSub Main()
       SP = 0
       '......
    End Sub
      

  4.   

    堆栈也好,SELECT CASE也好,最重要的是如何解析表达式。
    最简单的方法是用VB Script,你只要把用户所有按钮操作记录变成表达式,然后将此表达式用VB SCRIPT对象帮你算出结果
      

  5.   

    还是不懂啊。
    我的是这样编写的。Index 0-16
    Index 0――9 Caption=“0”-“9”Index 10 Caption=“.”Index 11 Caption=“=”Index 12 Caption=“+”Index 13 Caption=“-”Index 14 Caption=“*”Index 15 Caption=“/”Index 16 Caption=“清0” 
    Dim num1 As LongPrivate Sub Command1_Click(Index As Integer)
    If Text1.Text = "" Then   <--这一句是错的。到这我就不会编了
    Text1.Text = ""
    Else
    Text1.Text = Text1.Text & Index
    End If
    End Sub还有。小数点怎么编。
      

  6.   

    用堆栈,先在类模块中定义一个stack,它包括进栈与出栈,然后编写算法实现遍历计算顺序将其入站(优先级高的后进栈)然后反复的进行出栈计算(每次出2个操作数和1个运算浮)计算后将得数入栈运算浮+-*/和()^