用VB编写一个简单计算器,要求有数字、小数点、运算符、清除按钮和显示数字框,可以进行整数、小数的加
用VB编写一个简单计算器,要求有数字、小数点、运算符、清除按钮和显示数字框,可以进行整数、小数的加减乘除运算。...
用VB编写一个简单计算器,要求有数字、小数点、运算符、清除按钮和显示数字框,可以进行整数、小数的加减乘除运算。
展开
1个回答
2016-04-24
展开全部
'------------------------------------------------------------------------'版权所有(C)1994MicrosoftCorporation''您可以免费以任何方式使用、修改、复制并分发您认为有用的'示例应用程序文件(或任何修改过的版本)。Microsoft对任何'示例应用程序文件不做任何保证,不负任何责任和义务。'------------------------------------------------------------------------OptionExplicitDimOp1,Op2'预先输入操作数。DimDecimalFlagAsInteger'小数点存在吗?DimNumOpsAsInteger'操作数个数。DimLastInput'指示上一次按键事件的类型。DimOpFlag'指示未完成的操作。DimTempReadout'C(取消)按钮的Click事件过程'重新设置显示并初始化变量。PrivateSubCancel_Click()Readout=Format(0,"0.")Op1=0Op2=0Form_LoadEndSub'CE(取消输入)按钮的Click事件过程。PrivateSubCancelEntry_Click()Readout=Format(0,"0.")DecimalFlag=FalseLastInput="CE"EndSub'小数点空铅(.)按钮的Click事件过程'如果上一次按键为运算符,初始化readout为"0.";'否则显示时追加卜猛一个小数点。PrivateSubDecimal_Click()IfLastInput="NEG"ThenReadout=Format(0,"-0.")ElseIfLastInput"NUMS"ThenReadout=Format(0,"0.")EndIfDecimalFlag=TrueLastInput="NUMS"EndSub'窗体的初始化过程'设置所有变量为其初始值。PrivateSubForm_Load()DecimalFlag=FalseNumOps=0LastInput="NONE"OpFlag=""Readout=Format(0,"0.")'Decimal.Caption=Format(0,".")EndSub'数字键(0-9)的Click事件过程'向显示中的数追加新数。PrivateSubNumber_Click(IndexAsInteger)IfLastInput"NUMS"ThenReadout=Format(0,".")DecimalFlag=FalseEndIfIfDecimalFlagThenReadout=Readout+Number(Index).CaptionElseReadout=Left(Readout,InStr(Readout,Format(0,"."))-1)+Number(Index).Caption+Format(0,".")EndIfIfLastInput="NEG"ThenReadout="-"&ReadoutLastInput="NUMS"EndSub'运算符(+,-,x,/,=)的Click事件过程'如型亏桥果接下来的按键是数字键,增加NumOps。'如果有一个操作数,则设置Op1。'如果有两个操作数,则将Op1设置为Op1与'当前输入字符串的运算结果,并显示结果。PrivateSubOperator_Click(IndexAsInteger)TempReadout=ReadoutIfLastInput="NUMS"ThenNumOps=NumOps+1EndIfSelectCaseNumOpsCase0IfOperator(Index).Caption="-"AndLastInput"NEG"ThenReadout="-"&ReadoutLastInput="NEG"EndIfCase1Op1=ReadoutIfOperator(Index).Caption="-"AndLastInput"NUMS"AndOpFlag"="ThenReadout="-"LastInput="NEG"EndIfCase2Op2=TempReadoutSelectCaseOpFlagCase"+"Op1=CDbl(Op1)+CDbl(Op2)Case"-"Op1=CDbl(Op1)-CDbl(Op2)Case"X"Op1=CDbl(Op1)*CDbl(Op2)Case"/"IfOp2=0ThenMsgBox"除数不能为零",48,"计算器"ElseOp1=CDbl(Op1)/CDbl(Op2)EndIfCase"="Op1=CDbl(Op2)Case"%"Op1=CDbl(Op1)*CDbl(Op2)EndSelectReadout=Op1NumOps=1EndSelectIfLastInput"NEG"ThenLastInput="OPS"OpFlag=Operator(Index).CaptionEndIfEndSub'百分比键(%)的Click事件过程'计算并显示第一个操作数的百分数。PrivateSubPercent_Click()Readout=Readout/100LastInput="Ops"OpFlag="%"NumOps=NumOps+1DecimalFlag=TrueEndSub
追问
看不懂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询