欢迎来到天天文库
浏览记录
ID:40573979
大小:50.00 KB
页数:7页
时间:2019-08-04
《vb代码——计算器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三题OptionExplicitPrivateStoredValueAsDouble'中间计算值PrivateStore1AsDoublePrivateConstopNone=0'代表没有运算符PrivateConstopAdd=1'代表加法常量PrivateConstopSubtract=2'代表减法常量PrivateConstopMultiply=3'代表乘法常量PrivateConstopDivide=4'代表除法常量PrivateOperatorAsInteger'计算符号因子PrivateNewEntryAsBoolean'新数据项逻辑变量,若为True,说
2、明无新数据PrivatejscsAsIntegerPrivateConstpi=3.1415926PrivateSubCmdBack_Click()'删除最后一个字符.DimtxtAsStringDimmin_lenAsIntegertxt=txtDisplay.TextIfLeft$(txt,1)="-"Then'假如txt中的第一个字符是负号,只有两个字符,删除就会使之为0min_len=2Else'假如txt是正数,只有一个字符,删除就会使之为0min_len=1EndIfIfLen(txt)>min_lenThentxtDisplay.Text=Left$(tx
3、t,Len(txt)-1)ElsetxtDisplay.Text="0"EndIfEndSubPrivateSubCmdCal_Click(IndexAsInteger)'SelectCaseIndex'Case0'Operator=opAdd'Case1'Operator=opSubtract'Case2'Operator=opMultiply'Case3'Operator=opDivide'EndSelect'NewEntry=True'这种方法正确,但显得比较烦琐,下面的方法显得更为简单,不但调用了CmdEqual_Click程序'且运算符号可以直接计算jscs=
4、jscs+1'Ifjscs>1Then'执行前面的操作cmdEqual_Click'EndIf'存储操作符Operator=Index+1'开始新数据.NewEntry=TrueEndSubPrivateSubcmdClear_Click()cmdClearEntry_ClickStoredValue=0jscs=0Operator=opNoneEndSubPrivateSubcmdClearEntry_Click()txtDisplay.Text="0"EndSubPrivateSubcmdNum_Click(IndexAsInteger)IfNewEntryThen
5、txtDisplay.Text=Format$(Index)NewEntry=FalseElseIftxtDisplay.Text="0"ThentxtDisplay.Text=Format$(Index)ElsetxtDisplay.Text=txtDisplay.Text&Format$(Index)EndIfEndIfEndSubPrivateSubcmdOFF_Click()UnloadMeEndSubPrivateSubcmdPn_Click()'正负键输入IfNewEntryThen'假如是新数据,则敲"+/-"键为负号txtDisplay.Text="-"
6、ElseIfLeft$(txtDisplay.Text,1)="-"Then'假若数据本身为负值,则按此键变为正值txtDisplay.Text=Right$(txtDisplay.Text,2)ElsetxtDisplay.Text="-"&txtDisplay.Text'若数据为正值,则转化为负值EndIfEndSubPrivateSubcmdDecimal_Click()'小数点输入IfInStr(txtDisplay.Text,".")Then'若数据中已有小数点,则发出Beep的声音BeepElseIfNewEntryThentxtDisplay.Text="
7、."'若为新数据,则直接输入小数点,数据变为旧数据NewEntry=FalseElsetxtDisplay.Text=txtDisplay.Text&"."'若为旧数据,则将以前数据与小数点相连EndIfEndIfEndSub'计算上述计算操作的结果PrivateSubcmdEqual_Click()Dimnew_valueAsDoubleIftxtDisplay.Text=""Then'若数据框中无数据则为0,否则将该数转换为双精度数new_value=0Elsenew_value=CDbl(txtDisplay.Text)EndIfS
此文档下载收益归作者所有