博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个简单的关于计算器功能的实现(剽窃)
阅读量:6308 次
发布时间:2019-06-22

本文共 4701 字,大约阅读时间需要 15 分钟。

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 WindowsFormsApplication1{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void 标准型ToolStripMenuItem_Click(object sender, EventArgs e)        {            MessageBox.Show("标准型");        }        private void btnyi_Click(object sender, EventArgs e)        {            Button btn = (Button)sender;            //如果是刚刚点过运算符或者上面输入框是0,那么就把输入框的值赋成刚刚输入的值            if (isok || txtshuru.Text == "0")            {                txtshuru.Text = btn.Text;            }            else//否则就累加            {                txtshuru.Text += btn.Text;            }            isok = false;        }        private bool isok = true;//用来记录是否刚刚点过运算符        private double sum = 0;//存放上一步运算结果        private string preYunsuanfu = ""; //存放上一步运算符        private string biaodashi;//存放上面显示的表达式前半部分        //txtbiaodashi的内容实际上是由成员变量biaodashi与preyunsuanfu组合而成的        private void btnjia_Click(object sender, EventArgs e)        {            if (preYunsuanfu == "")//如果是第一次点运算符            {                sum = double.Parse(txtshuru.Text);                biaodashi = txtshuru.Text;            }            else//如果不是第一次点运算符            {                //是否刚刚点过运算符                if (!isok)//如果不是刚刚点过运算符,那么进去运算                {                    double shuru = double.Parse(txtshuru.Text);                    //算结果的话,要根据上一步运算符的符号来算                    if (preYunsuanfu == "+")                    {                        sum = sum + shuru;                    }                    if (preYunsuanfu == "-")                    {                        sum -= shuru;                    }                    if (preYunsuanfu == "*")                    {                        sum *= shuru;                    }                    if (preYunsuanfu == "/")                    {                        sum /= shuru;                    }                    if (preYunsuanfu == "%")                    {                        sum %= shuru;                    }                    //表达式变成了原来表达式+上一步运算符+刚点的输入数字                    biaodashi = biaodashi + preYunsuanfu + txtshuru.Text;                }            }            txtshuru.Text = sum.ToString();//显示运算结果            preYunsuanfu = ((Button)sender).Text;//上一步运算符变成刚点的运算符            txtbiaodashi.Text = biaodashi + preYunsuanfu;//显示式就变成表达式加当点的运算符            isok = true;//点完运算符把isok设置为true        }        private void btnclear_Click(object sender, EventArgs e)        {            txtshuru.Text = "0";            isok = true;            biaodashi = "";            sum = 0;            preYunsuanfu = "";            txtbiaodashi.Text = "";        }        private void btndian_Click(object sender, EventArgs e)        {            if (!txtshuru.Text.Contains("."))            {                txtshuru.Text += ".";                isok = false;            }        }        private void btndeng_Click(object sender, EventArgs e)        {            if (preYunsuanfu == "")//如果是第一次点运算符            {                sum = double.Parse(txtshuru.Text);                biaodashi = txtshuru.Text;            }            else//如果不是第一次点运算符            {                //是否刚刚点过运算符                if (!isok)//如果不是刚刚点过运算符,那么进去运算                {                    double shuru = double.Parse(txtshuru.Text);                    //算结果的话,要根据上一步运算符的符号来算                    if (preYunsuanfu == "+")                    {                        sum = sum + shuru;                    }                    if (preYunsuanfu == "-")                    {                        sum -= shuru;                    }                    if (preYunsuanfu == "*")                    {                        sum *= shuru;                    }                    if (preYunsuanfu == "/")                    {                        sum /= shuru;                    }                    if (preYunsuanfu == "%")                    {                        sum %= shuru;                    }                    //表达式变成了原来表达式+上一步运算符+刚点的输入数字                    biaodashi = biaodashi + preYunsuanfu + txtshuru.Text;                }            }            txtshuru.Text = sum.ToString();//显示运算结果            preYunsuanfu = ((Button)sender).Text;//上一步运算符变成刚点的运算符            if (preYunsuanfu == "=")            {                isok = true;                biaodashi = "";                sum = 0;                preYunsuanfu = "";                txtbiaodashi.Text = "";            }        }    }}

 

转载于:https://www.cnblogs.com/nwj-0613/p/5235520.html

你可能感兴趣的文章
oracle 学习笔记之名词解释
查看>>
MySQL Cluster搭建与测试
查看>>
python数据分析画图体验
查看>>
军规15 确保集成和调用第三方APP
查看>>
Etcd和ZooKeeper,究竟谁在watch的功能表现更好?
查看>>
Perl数据类型安全研究
查看>>
JS设计模式初识(十)-职责链模式
查看>>
DOM removeChild
查看>>
那些年,我们追过的“定时调度”
查看>>
C# 32位系统与64位系统调用不同的DLL文件
查看>>
MS Sql Server 数据库或表修复(Log日志文件损坏的修复方法)
查看>>
MySQL、SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法
查看>>
解决iPhone4拆机后SIM卡显示无服务的故障
查看>>
关不掉.vbs
查看>>
Ubuntu18.04安装OpenCV4.1.0
查看>>
2017-2018-2 20165226 实验五《网络编程与安全》实验报告
查看>>
abstract关键字
查看>>
Apply for an Microsoft Academic Search AppID
查看>>
纯Java——简易高并发框架
查看>>
Notepad++的Json格式化插件
查看>>