• C# 简易版的计算器程序


    今天无聊,用了半个小时帮一个学生写了一个简单的计算器程序。只有最基本的功能,可以供初学者参考。

    下面贴上代码:

     public partial class Form1 : Form
    {

    private string FuHao; //定义操作符号(+,-,*,/)
    private string num1; //定义第一个参数(就是参与运算的第一个数)
    private string num2; //定义第二个参数
    private string oldValue = "0"; //定义老参数


    public Form1()
    {
    InitializeComponent();
    }

    //清0操作
    private void btn_Clean_Click(object sender, EventArgs e)
    {
    txt_Vlaue.Text = "0";
    FuHao = string.Empty;
    oldValue = "0";
    }

    //获取结果(=号点击事件)
    private void btn_GetVlaue_Click(object sender, EventArgs e)
    {
    if (FuHao == string.Empty)
    {
    txt_Vlaue.Text = num1.ToString();
    }
    else
    {
    GetValue();
    }

    }

    //加法操作
    private void btn_add_Click(object sender, EventArgs e)
    {
    if (num2 != null && num2 != string.Empty)
    {
    GetValue();
    }
    FuHao = "+";
    oldValue = "0";
    }

    //减法操作
    private void btn_Jian_Click(object sender, EventArgs e)
    {
    if (num2 != null && num2 != string.Empty)
    {
    GetValue();
    }
    FuHao = "-";
    oldValue = "0";
    }

    //乘法操作
    private void btn_Cheng_Click(object sender, EventArgs e)
    {
    if (num2 != null && num2 != string.Empty)
    {
    GetValue();
    }
    FuHao = "*";
    oldValue = "0";
    }

    //除法操作
    private void btn_Chu_Click(object sender, EventArgs e)
    {
    if (num2 != null && num2 != string.Empty)
    {
    GetValue();
    }
    FuHao = "/";
    oldValue = "0";
    }

    //点击0
    private void btn_0_Click(object sender, EventArgs e)
    {
    InputNum("0");
    }

    //点击1
    private void btn_1_Click(object sender, EventArgs e)
    {
    InputNum("1");
    }

    //点击2
    private void btn_2_Click(object sender, EventArgs e)
    {
    InputNum("2");
    }

    //点击3
    private void btn_3_Click(object sender, EventArgs e)
    {
    InputNum("3");
    }

    //点击4
    private void btn_4_Click(object sender, EventArgs e)
    {
    InputNum("4");
    }

    //点击5
    private void btn_5_Click(object sender, EventArgs e)
    {
    InputNum("5");
    }

    //点击6
    private void btn_6_Click(object sender, EventArgs e)
    {
    InputNum("6");
    }

    //点击7
    private void bvtn_7_Click(object sender, EventArgs e)
    {
    InputNum("7");
    }

    //点击8
    private void btn_8_Click(object sender, EventArgs e)
    {
    InputNum("8");
    }

    //点击9
    private void btn_9_Click(object sender, EventArgs e)
    {
    InputNum("9");
    }

    //小数点点击
    private void btn_point_Click(object sender, EventArgs e)
    {
    InputNum(".");
    }


    //数字点击事件
    public void InputNum(string value)
    {
    //如果已经输入数字,则直接累加
    if (oldValue != "0")
    {
    txt_Vlaue.Text = oldValue + value;
    }
    else
    {
    //如果第一次输入的是小数点
    if (value == ".")
    {
    txt_Vlaue.Text = "0"+value;
    }
    else
    {
    txt_Vlaue.Text = value;
    }
    }
    oldValue = txt_Vlaue.Text;
    //如果已经点击了=,-,*,/,那么这个参数是第二个参数
    if (FuHao != null && FuHao.ToString().Trim() != string.Empty )
    {
    num2 = txt_Vlaue.Text;
    }
    else
    {
    num1 = txt_Vlaue.Text;
    }
    }

    //获取值
    private void GetValue()
    {
    double numa = double.Parse(num1);
    double numb = double.Parse(num2);
    double result = 0;
    switch (FuHao)
    {
    case "+":
    result = numa + numb;
    break;
    case "-":
    result = numa - numb;
    break;
    case "*":
    result = numa * numb;
    break;
    default:
    result = numa / numb;
    break;
    }
    txt_Vlaue.Text = result.ToString();
    FuHao = string.Empty;
    oldValue = "0";
    num2 = string.Empty;
    num1 = txt_Vlaue.Text;
    }

    希望对初学者有帮助。

    关于我:懂些前端,懂些后端,懂些数据库,伪全栈开发者。
  • 相关阅读:
    bzoj_auto_submiter(辣鸡Py毁我青春系列)
    听说“辣鸡小隔膜”出V1.3了?
    shell脚本:统计分析 /home/ 目录用户磁盘使用情况
    shell脚本:DNS自检脚本
    Linux命令集锦:ssh命令
    Linux用户权限
    Linux文件属性
    Linux命令集锦:chown命令
    Linux命令集锦:chmod命令
    Linux命令集锦:tmux命令
  • 原文地址:https://www.cnblogs.com/shinggang/p/2359216.html
Copyright © 2020-2023  润新知