VB.NET怎么编模拟袖珍计算器的完整程序?

VB.NET怎么编模拟袖珍计算器的完整程序?,第1张

Public C护激篙刻蕻灸戈熏恭抹lass Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim c As Char

c = Trim(TextBox3.Text)

Select Case c

Case "+"

TextBox4.Text = Val(TextBox1.Text) + Val(TextBox2.Text)

Case "-"

TextBox4.Text = Val(TextBox1.Text) - Val(TextBox2.Text)

Case "*"

TextBox4.Text = Val(TextBox1.Text) * Val(TextBox2.Text)

Case "\"

If Val(TextBox2.Text) = 0 Then

MsgBox("分母为0")

Else

TextBox4.Text = Val(TextBox1.Text) \ Val(TextBox2.Text)

End If

Case "/"

If Val(TextBox2.Text) = 0 Then

MsgBox("分母为0")

Else

TextBox4.Text = Val(TextBox1.Text) / Val(TextBox2.Text)

End If

End Select

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

End

End Sub

End Class

刚开始看winform就有点手痒,打算编个计算器来着。因为它用到的控件很少,就是几个按钮和文本框,而且事件处理程序也算不上复杂。 软件要求:实现简单运算,暂时不支持括号和科学计算,但要求能按先乘除后加减的顺序运算,结果显示在显示器(文本框)上。 组件设置: 1.输入按钮,包括数值键0至9和小数点。 2.正负号按钮。3.控制键,即清零按钮。 4.运算符,即加减乘除4个按钮外加等号。 具体要求及实现: 1.输入按钮:要求能在文本框内显示按下的数字,若第一次输入为小数点,则小数点前加0;一串数字只允许一个小数点;第一个数按下之前若多次输入0则忽略之;若输入数字(包括小数点不包括正号)超过10个,则报错并且不接受继续输入的数,即最大输入数字为9999999999。 为了实现要求,设置一个class,以string储存输入数字,为适应 *** 作数的需要,设置2个string。实现click方法时使用if语句来达到要求。代码为: public class NumberKeys//数值键 { public const string DefaultString="0"private static string strLeftNum=string.Empty,strRightNum=string.Empty,strResult=string.Empty public static string StrLeftNum { get {return strLeftNum} set {strLeftNum=value} } public static string StrRightNum {get {return strRightNum}set {strRightNum=value} } public static string StrResult { get {return strResult} set {strResult=value} } public static void NumBtn_Click(object sender) { Button numBtn=(Button)senderif(strRightNum.Length<=10) { if(!((numBtn.Text=="0"&&strRightNum.Length==0)||(numBtn.Text=="."&&strRightNum.IndexOf('.')!=-1))) strRightNum+=numBtn.Textif(strRightNum==".") strRightNum=strRightNum.Insert(0,"0")} else { MessageBox.Show("最多能输入10位数!")} } } (不知道怎么回事,代码总是无法对齐) 说明:1. 该类所有成员都是static,因为没有必要实例化。 2. strLeftNum,strRightNum,strResult分别表示左右 *** 作数和运算结果,初始值都为string.Empty,最后不设为null,以免编译时要求实例化。这3个private成员都有相应的可读写属性。因为这3个变量在其他方法中也将频繁使用和修改。 3. 这里的Click方法并不是按钮的Click方法,需要在Form类中进一步实现(因为以我的水平还无法把整个Form类都改成static),这个很简单,就不提了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7734006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存