广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#实现简易计算器小功能
  • 300
分享到

C#实现简易计算器小功能

2024-04-02 19:04:59 300人浏览 泡泡鱼
摘要

本文实例为大家分享了C#实现简易计算器小功能的具体代码,供大家参考,具体内容如下 简易的登陆界面。 具有幻灯片效果。(picturebox time控件)计算器支持多位数,小数,括

本文实例为大家分享了C#实现简易计算器小功能的具体代码,供大家参考,具体内容如下

简易的登陆界面。

具有幻灯片效果。(picturebox time控件)
计算器支持多位数,小数,括号的运算。

音乐是一个练习用的小控件(Listbox),可以选择指定的歌曲播放,直接忽略掉吧。

建立winform窗体

数字和运算符都为button,输入和输出的为textbox

基本代码

在所有button控件的click事件均为加上所对应的文本。
例如:数字1所对应的button就为

textBox1.Text += '1';

运算符同理

textBox1.Text += '*';

核心代码

核心代码均在‘=’的click的事件中

Stack<double> vs = new Stack<double>();//运算符栈
Stack<char> vvs = new Stack<char>();//操作符栈
       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控件等等。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#实现简易计算器小功能

本文链接: https://www.lsjlt.com/news/137990.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#实现简易计算器小功能
    本文实例为大家分享了C#实现简易计算器小功能的具体代码,供大家参考,具体内容如下 简易的登陆界面。 具有幻灯片效果。(picturebox time控件)计算器支持多位数,小数,括...
    99+
    2022-11-13
  • C#如何实现简易计算器小功能
    这篇文章主要介绍C#如何实现简易计算器小功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下简易的登陆界面。具有幻灯片效果。(picturebox time控件)计算器支持多位数,小数,括号的运算。音乐是一...
    99+
    2023-06-29
  • C++实现简易计算器功能
    本文实例为大家分享了C++实现简易计算器功能的具体代码,供大家参考,具体内容如下 介绍 介绍:仅支持自然数间的+ - * /操作,并没有括号。 实现:利用栈实现存储运算数以及运算符。...
    99+
    2022-11-13
  • C语言实现简易计算器功能
    本文实例为大家分享了C语言实现简易计算器功能的具体代码,供大家参考,具体内容如下 表达式求值项目(多功能计算器)。该项目主要包含了10个模块,10项功能: 1:加法运算:主要进行两个...
    99+
    2022-11-13
  • C#实现简易计算器功能(附源码)
    本文实例为大家分享了C#实现简易计算器功能的具体代码,供大家参考,具体内容如下 剖析: 1、先设计界面(按钮、文本框(一个显示算式,一个显示结果))布局 2、单击按钮将其对应内容显示...
    99+
    2022-11-12
  • 微信小程序实现简易计算器功能
    本文实例为大家分享了微信小程序实现简易计算器的具体代码,供大家参考,具体内容如下 实现代码: <!--pages/computer.wxml--> <view c...
    99+
    2022-11-13
  • jQuery实现简易计算器功能
    jQuery制作一个简易计算器,供大家参考,具体内容如下 页面效果: 源码: <!DOCTYPE html> <html> <head>    ...
    99+
    2022-11-13
  • SpringMvc实现简易计算器功能
    用SpringMvc做一个简易计算器,供大家参考,具体内容如下 一 .domain类 package ssm1.domain; public class JiSuan {     ...
    99+
    2022-11-13
  • Pyqt实现简易计算器功能
    本文实例为大家分享了Pyqt实现简易计算器的具体代码,供大家参考,具体内容如下 环境:pycharm、python3.7 首先用qtDesigner设计出如下界面。 再用pyUIC...
    99+
    2022-11-10
  • python实现简易计算器功能
    本文实例为大家分享了python实现简易计算器功能的具体代码,供大家参考,具体内容如下 一、功能目标 用户输入一个类似  1-2*((60-30+(-40/5)*(9-2*...
    99+
    2022-11-13
  • Android实现简易计算器功能
    本项目为大家分享了Android实现计算器功能的具体代码,供大家参考,具体内容如下 项目介绍 练手项目。能实现加减乘除及括号运算。 开发思路 界面布局  1.界面布...
    99+
    2022-11-12
  • Swift实现简易计算器功能
    用Swift写一个简单计算器的Demo,供大家参考,具体内容如下 实验环境: Xcode v6.4   & OS X Yosemite 10.10 功能描述: 1、...
    99+
    2022-11-13
  • C++实现简单的计算器小功能
    用C++编写简单计算器,供大家参考,具体内容如下 限制: 1、只能使用分支语句与循环语句;2、不能使用数组和自定义函数;(即把自己当作只学到分支语句和循环语句的初学者) 计算器要求:...
    99+
    2022-11-13
  • C#实现简单的计算器小功能
    本文实例为大家分享了C#实现简单的计算器小功能的具体代码,供大家参考,具体内容如下 先来张效果图吧(5分钟写好,莫怪) 代码: 数字按钮绑定的是button_Clickd()方法 ...
    99+
    2022-11-13
  • 微信小程序实现简易的计算器功能
    一个初入IC的硅农,硬件编程经验3个月。偶然接触了微信小程序编程,然后自己写了一个计算器,希望得到改进意见。 功能: 1、计算 + - * /和%; 2、主要是当得出结果的时候,可以...
    99+
    2022-11-13
  • Android实现简易计算功能
    本文实例为大家分享了Android实现简易计算功能的具体代码,供大家参考,具体内容如下 效果如图: activity_main.xml <?xml version...
    99+
    2022-11-12
  • C#实现简易计算器功能(1)(窗体应用)
    本文实例为大家分享了C#实现简易计算器功能的具体代码,供大家参考,具体内容如下 实现页面布局和数值初始化 using System; using System.Collections...
    99+
    2022-11-13
  • C#实现简易计算器功能(2)(窗体应用)
    本文实例为大家分享了C#实现简易计算器功能第二部分的具体代码,供大家参考,具体内容如下 初始化,实现四则运算 using System; using System.Collecti...
    99+
    2022-11-13
  • Androidstudio实现简易计算器App功能
    在Android studio实现简易计算器App并实现加减乘除功能,供大家参考,具体内容如下 结果 activity_main.xml <xml version="1.0...
    99+
    2022-11-13
  • vue实现简易的计算器功能
    本文实例为大家分享了vue实现简易计算器功能的具体代码,供大家参考,具体内容如下 实现功能:将两个输入框中的值进行加减乘除计算 用到的知识点: 1.v-model数据双向绑定 2. ...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作