您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 用VB编写一个简单计算器
用VB编写一个简单计算器一、功能:实现简单的加减乘除功能,C归零,CE取消输入,%计算并显示第一个操作数的百分比。二、控件:1个label,20个commandbutton。三、计算器运行界面:四、详细代码: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=CEEndSub'小数点(.)按钮的Click事件过程'如果上一次按键为运算符,初始化readout为0.;'否则显示时追加一个小数点PrivateSubDecimal_Click()IfLastInput=NEGThenReadout=Format(0,-0.)ElseIfLastInputNUMSThenReadout=Format(0,0.)EndIfDecimalFlag=TrueLastInput=NUMSEndSub'窗体的初始化过程'设置所有变量为其初始值PrivateSubForm_Load()DecimalFlag=FalseNumOps=0LastInput=NONEOpFlag=Readout=Format(0,0.)'Decimal.Caption=Format(0,.)EndSub'数字键(0-9)的Click事件过程'向显示中的数追加新数PrivateSubNumber_Click(IndexAsInteger)IfLastInputNUMSThenReadout=Format(0,.)DecimalFlag=FalseEndIfIfDecimalFlagThenReadout=Readout+Number(Index).CaptionElseReadout=Left(Readout,InStr(Readout,Format(0,.))-1)+Number(Index).Caption+Format(0,.)EndIfIfLastInput=NEGThenReadout=-&ReadoutLastInput=NUMSEndSub'运算符(+,-,x,/,=)的Click事件过程'如果接下来的按键是数字键,增加NumOps。'如果有一个操作数,则设置Op1。'如果有两个操作数,则将Op1设置为Op1与'当前输入字符串的运算结果,并显示结果PrivateSubOperator_Click(IndexAsInteger)TempReadout=ReadoutIfLastInput=NUMSThenNumOps=NumOps+1EndIfSelectCaseNumOpsCase0IfOperator(Index).Caption=-AndLastInputNEGThenReadout=-&ReadoutLastInput=NEGEndIfCase1Op1=ReadoutIfOperator(Index).Caption=-AndLastInputNUMSAndOpFlag=ThenReadout=-LastInput=NEGEndIfCase2Op2=TempReadoutSelectCaseOpFlagCase+Op1=CDbl(Op1)+CDbl(Op2)Case-Op1=CDbl(Op1)-CDbl(Op2)CaseXOp1=CDbl(Op1)*CDbl(Op2)Case/IfOp2=0ThenMsgBox除数不能为0,48,计算器ElseOp1=CDbl(Op1)/CDbl(Op2)EndIfCase=Op1=CDbl(Op2)Case%Op1=CDbl(Op1)*CDbl(Op2)EndSelectReadout=Op1NumOps=1EndSelectIfLastInputNEGThenLastInput=OPSOpFlag=Operator(Index).CaptionEndIfEndSub'百分比键(%)的Click事件过程'计算并显示第一个操作数的百分数PrivateSubPercent_Click()Readout=Readout/100LastInput=OpsOpFlag=%NumOps=NumOps+1DecimalFlag=TrueEndSub
本文标题:用VB编写一个简单计算器
链接地址:https://www.777doc.com/doc-3459318 .html