简易计算器
来源:互联网 发布: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
}
}
- 简易计算器
- 简易计算器。。。
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- Spring.NET学习笔记7——依赖对象的注入(基础篇)
- Spring.NET学习笔记8——集合类型的注入(基础篇)
- rational rose 2003 安装
- Spring.NET学习笔记8——集合类型的注入(基础篇)
- 关于生产者-消费者问题的一些思考
- 简易计算器
- 大数据量操作中的一些“野路子”—— 1 oracle sequence
- Spring.NET学习笔记10——方法的注入(基础篇)
- vc++ 串口编程
- Spring.NET学习笔记11——自定义对象行为(基础篇)
- 《Expert C Programming 》学习笔记
- MSCOMM组件的使用
- Spring.NET学习笔记12——面向切面编程(基础篇)
- 如何同时安装Office2003和Office2007!