简易计算器

来源:互联网 发布:js中this的作用域 编辑:程序博客网 时间:2024/04/29 15:43

刚按照教程制作了一个简易的计算器,用来巩固学习的知识。

本程序相当的简单,主要运用到的知识有数据类型的转换、自定义方法、if判断语句及Switch循环等。

程序截图:


图片

程序源代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Exp3
{
public partial class Form1 : Form
{ //变量定义
private char oper='/0'; //1(加法) 2(减法) 3(乘法) 4(除法)
private double num1=0,num2=0;//存储2个操作数
private bool isSecond = false,isDone=false;//用来判断输入的是否是第一个操作数,是否刚使用“=”按钮
public Form1()
{
InitializeComponent();
}
#region 按钮及键盘事件
private void btn6_Click(object sender, EventArgs e)
{
SetBtnFun(char.Parse(((Button)sender).Text));//转换sender为Button类型
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{//监听form1窗体的键盘按下事件
SetBtnFun(e.KeyChar);
}
#endregion
#region 程序的运行
private void SetBtnFun(char p)
{
if (char.IsDigit(p))
{
if (isSecond || isDone)
{//如果输入的是第一位操作数或刚点击过等号
lblResult.Text = "";//清空标签控件中的数字
isSecond = false;
isDone=false;
}
string s = lblResult.Text + p.ToString();
s = double.Parse(s).ToString();//先转换为浮点数再转换为字符串
lblResult.Text = s;
}
else if (p == '+' || p == '-' || p =='*' || p == '/')
{//当参数为运算符号时,标签控件力的数字付给num1
num1 = double.Parse(lblResult.Text);
oper = p;//记录运算符号
isSecond = true;
}
else if (p == '=')
{//参数为等号时
num2 = double.Parse(lblResult.Text);
double result = 0;
switch (oper)
{
case '+':
result=num1+num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case'/':
result = num1 / num2;
break;
}
lblResult.Text = result.ToString();
num1 = result;
isSecond = false;
isDone = true;
}
else if (p == '.')
{//判断标签控件是否已经存在小数点
if (lblResult.Text.IndexOf('.') == -1)
{
lblResult.Text += ".";
}
}
}
#endregion
}
}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 国美不让休班还不给加班钱怎么办 在国美电器买贵商品怎么办 给民俗差评老板骂你怎么办 华为p10后置摄像头调黑了怎么办 美图m6手机相机拍照模糊该怎么办 美图t8用久了卡怎么办 美图m4手机开不开机怎么办 比亚迪m6冷凝器散热不好怎么办 深圳市小汽车摇号审核没通过怎么办 扫码开门售货机拿了不给钱怎么办 预付卡办完后对方不愿退款怎么办 海尔88u52显示內存不足怎么办 京东账号绑定的手机好不用了怎么办 京东账号换手机了手机号没变怎么办 京东发票的号和手机对不起来怎么办 京东账号忘记了只有身份证怎么办啊 京东账号手机号换了忘记账号怎么办 新换的卡被注册过京东号怎么办 以旧换新旧的没给商家报案怎么办 宜家家居家居指南地址写错怎么办 苏宁任性付没还遭到恐吓心意怎么办 大王卡激活后一直是E网怎么办 京东退货已取走后悔了怎么办 退差价把下单立返红包退还了怎么办 苏宁电器发票丢了换电器怎么办 苹果5s访问限制密码忘了怎么办 京东买的暴风电视出现问题了怎么办 控水一个月的三角梅还没开花怎么办 帮别人办手机分期不还怎么办 国美在线没有信用卡分期不了怎么办 手机店办理分期被老板套现了怎么办 美的空调保修卡丢了怎么办 格力空调保修卡丢了怎么办 荣耀9i手机总是滑手怎么办? 春兰空调没发票不给修怎么办 洗衣机顶盖的安全开关坏了怎么办 苹果手机的开关健坏了怎么办 淘宝买的东西快递弄破损了怎么办 京东购买邮来手机里面没有怎么办 孕期建卡病历本丢了怎么办 四维检查胎儿心脏有缺陷怎么办