C#如何实现简易计算器小功能
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章主要介绍C#如何实现简易计算器小功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下简易的登陆界面。具有幻灯片效果。(picturebox time控件)计算
千家信息网最后更新 2025年02月09日C#如何实现简易计算器小功能
这篇文章主要介绍C#如何实现简易计算器小功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
具体内容如下
简易的登陆界面。
具有幻灯片效果。(picturebox time控件)
计算器支持多位数,小数,括号的运算。
音乐是一个练习用的小控件(Listbox),可以选择指定的歌曲播放,直接忽略掉吧。
建立winform窗体
数字和运算符都为button,输入和输出的为textbox
基本代码
在所有button控件的click事件均为加上所对应的文本。
例如:数字1所对应的button就为
textBox1.Text += '1';
运算符同理
textBox1.Text += '*';
核心代码
核心代码均在‘=’的click的事件中
Stackvs = new Stack ();//运算符栈Stack vvs = new Stack ();//操作符栈 string a = textBox1.Text + '='; string b = ""; vvs.Push('='); for (int i = 0; i < a.Length; i++) { if (a[i] >= '0' && a[i] <= '9'||a[i]=='.') { b += a[i]; } else if (a[i] == '=') { if (b != "") vs.Push(Convert.ToDouble(b)); while (vvs.Peek() != '=') { char t = vvs.Pop(); double d = vs.Pop(); if (vs.Count() != 0) { double j = vs.Pop(); vs.Push(Jisuan(d, t, j)); } else { MessageBox.Show("你输入的有问题"); textBox1.Text = ""; } } } else { if (b != "") vs.Push(Convert.ToDouble(b)); switch (Bijiao(vvs.Peek(), a[i])) { case '>': while (vvs.Count != 1 && vvs.Peek() != '(') { char th = vvs.Pop(); double f = vs.Pop(); double g = vs.Pop(); vs.Push(Jisuan(f, th, g)); } if (vvs.Peek() == '(' && a[i] == ')') { vvs.Pop(); } else { vvs.Push(a[i]); } break; case '<': vvs.Push(a[i]); break; case '=': while (vvs.Peek() != '=') { char th = vvs.Pop(); double f = vs.Pop(); double g = vs.Pop(); vs.Push(Jisuan(f, th, g)); } break; } b = ""; } } textBox1.Text = ""; if(vs.Count()!=0) { textBox1.Text = vs.Peek().ToString(); } }
所用到的方法(函数)
public double Jisuan(double c, char t, double a)//用来计算的方法 { switch (t) { case '+': return a + c; case '-': return a - c; case '*': return a * c; case '/': if (c == 0) { MessageBox.Show("0不能作为被除数"); return 0; } else return a / c; case '%': return a % c; default: return 0; } } char Bijiao(char theta1, char theta2)//比较运算符优先级的方法 { if ((theta1 == '(' && theta2 == ')') || (theta1 == '#' && theta2 == '#')) { return '='; } else if (theta1 == '(' || theta1 == '#' || theta2 == '(' || (theta1 == '+' || theta1 == '-') && (theta2 == '*' || theta2 == '/')) { return '<'; } else return '>'; }
为了使计算器更加美观,可以添加picturebox控件等等。
以上是"C#如何实现简易计算器小功能"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
运算
计算器
控件
运算符
简易
代码
内容
方法
功能
C#
事件
数字
核心
篇文章
美观
习用
价值
优先级
位数
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库怎么查找所有信息
服务器上建立ftp
车载网络技术有哪些应用
域名服务器和ip地址的关系
奉贤区品牌软件开发品质保障
服务器cpu散热片好吗
互联网科技保经公司
保险金融数据库
网络安全应急响应分级标准
物理服务器怎么开权限
超星数据库
网络安全组件
河北博品网络技术有限公司
用虚拟机做服务器稳定么
浪潮 飞腾 服务器
浦东新区信息软件开发协议
网络技术的关键词
东营公司管理oa软件开发公司
服务器上导入sql文件
成都招商银行软件开发中心
英克瑞斯软件开发公司
数据库检索学生成绩
贵州统一软件开发服务价钱
软件开发商怎么发现盗版用户
新中大财务数据库分析
密云区专业软件开发介绍
海盗来了服务器关闭
网络安全八大基石
成都招商银行软件开发中心
数据库技术课本文献最新