博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winform与面向对象应用做一个计算器12月28日
阅读量:6001 次
发布时间:2019-06-20

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

代码部分:

 

public partial class 计算器 : Form    {        public 计算器()        {            InitializeComponent();        }        private double sum = 0;//存放运算结果        private string biaodashi="";//用于存放除了刚点过的运算符的前面表达式部分        private string preyunsuanfu="";//用来存放上一步运算符,用于下次点运算符的时候算上一步的结果                private bool isok = false;//用它记录是否是刚开始运行程序,是否刚刚点过运算符        private void one_Click(object sender, EventArgs e)        {            Button btn = (Button)sender;            if (!isok||textshu.Text=="0")//如果isok是false或者输入框是0那就清空                textshu.Text = btn.Text;            else//否则就累加                textshu.Text += btn.Text;            isok = true;//凡是点完数字就设置isok为true        }        private void jia_Click(object sender, EventArgs e)        {            Button btn = (Button)sender;            if (isok)            {                if (biaodashi == "" && preyunsuanfu == "")//第一次点运算符                {                    sum = double.Parse(textshu.Text);                    biaodashi = textshu.Text;                }                else//不是第一次点运算,先算上一步运算                {                    if (preyunsuanfu == "+")                    {                        sum = sum + double.Parse(textshu.Text);                    }                    if (preyunsuanfu == "-")                    {                        sum = sum - double.Parse(textshu.Text);                    }                    if (preyunsuanfu == "*")                    {                        sum = sum * double.Parse(textshu.Text);                    }                    if (preyunsuanfu == "/")                    {                        sum = sum / double.Parse(textshu.Text);                    }                    if (preyunsuanfu == "%")                    {                        sum = sum % double.Parse(textshu.Text);                    }                    biaodashi = biaodashi + preyunsuanfu + textshu.Text;                }            }            txtbiaodashi.Text = biaodashi + btn.Text;//把表达式文本框拼接显示            preyunsuanfu = btn.Text;//换上一步运算符,将刚才点的运算符,存为上一步运算符            textshu.Text = sum.ToString();//将下面输入框显示为运算结果            isok = false;//记录刚刚点过的运算符,以便点数字的时候知道是刚点了运算符        }        private void clear_Click(object sender, EventArgs e)        {            isok = false;            biaodashi = "";            textshu.Text = "0";            txtbiaodashi.Text = "";            preyunsuanfu = "";            sum = 0;        }        private void shan_Click(object sender, EventArgs e)        {            if (textshu.Text.Length > 1)            {                textshu.Text = textshu.Text.Substring(0, textshu.Text.Length - 1);            }            else            {                textshu.Text = "0";            }        }        private void dian_Click(object sender, EventArgs e)        {            if (isok)            {                if (!textshu.Text.Contains("."))                {                    textshu.Text += ".";                }            }            else            {                textshu.Text = "0.";            }        }        private void dengyu_Click(object sender, EventArgs e)        {            if (preyunsuanfu == "+")            {                sum = sum + double.Parse(textshu.Text);            }            if (preyunsuanfu == "-")            {                sum = sum - double.Parse(textshu.Text);            }            if (preyunsuanfu == "*")            {                sum = sum * double.Parse(textshu.Text);            }            if (preyunsuanfu == "/")            {                sum = sum / double.Parse(textshu.Text);            }            if (preyunsuanfu == "%")            {                sum = sum % double.Parse(textshu.Text);            }            biaodashi = "";            preyunsuanfu = "";            txtbiaodashi.Text = "";            textshu.Text = sum.ToString();            isok = false;        }            }

 

效果如下:

 

转载于:https://www.cnblogs.com/xuankai1987/p/5084324.html

你可能感兴趣的文章
紧抓“营改增”契机 国税总局携手锐捷网络打响税改“攻坚战”
查看>>
希捷推出世界最大USB 3.0移动硬盘:5TB、1300元
查看>>
干掉口令:一张图片访问网站并解锁所有应用
查看>>
安防行业是AI应用最具应用空间的蓝海?
查看>>
多晶仍将主导市场?分析师:不尽然
查看>>
俄安全公司:iPhone自动向苹果服务器上传用户通话记录
查看>>
TCL免污式洗衣机:双方共赢的科技创新
查看>>
智能家居真的更安全吗?邻居可用Siri解锁你家的门锁
查看>>
新零售催生未来经济形态 线上线下全渠道融合达新高度
查看>>
测试VDI网络性能 保证终端用户体验
查看>>
嵌入式软件测试与一般软件测试之异同研究
查看>>
Cookie问题(烦了三天)
查看>>
华云数据重新定义企业级云平台服务
查看>>
大数据推动人工智能发展 AI+X将实现人工智能生活化
查看>>
IDC:IBM Bluemix 落地 中国PaaS市场竞争进入新阶段
查看>>
在线协作工具“一起写”获金山WPS战略投资
查看>>
专家解读工业物联网优势的商业模式
查看>>
清新区建成清远市首个农综改大数据平台
查看>>
sqlite3数据库归纳
查看>>
物联网普而不及 仍缺杀手级应用
查看>>