精华内容
下载资源
问答
  • C#实现计算器

    2019-05-07 17:13:13
    实现正常计算器的全部功能,四则运算顺序先乘除后加减
  • c#实现计算器功能

    2014-06-02 16:21:16
    使用C#的windowsForm开发的计算器程序实例。
  • C#实现计算器(附Java版)

    千次阅读 2021-03-15 13:42:59
    javaGUI实现计算器(四则取余等操作,可实现多项式运算) 这个计算器好像也就做了二三十分钟吧,加上代码和排版。还有我发现:C、C++、C#很多东西是相通的,C家族一家亲。。。想用的函数一试发现真的可
    嘤嘤嘤~~ 说到写计算器,我还算有过经验,之前用Java的GUI写过,那个比这个做的复杂多了,当前写的C#,目前只能实现单个运算符的运算,多个的暂时没考虑,不过肯定是可以实现的。我的Java版实现了,一会放上链接,实现的思路都大同小异,所以这里就没有再实现。

    这个专栏里面还有其他一些JavaGUI的例子。。大作业想做个网页版的,不知道最后能不能实现o(╥﹏╥)o
    javaGUI实现计算器(四则取余等操作,可实现多项式运算)

    因为写的很简单,所以很快就写完了。还有我发现:C、C++、C#很多东西是相通的,C家族一家亲。。。想用的函数或者类型一试发现真的可以,不需要百度查,nice!
    一、程序名称:

    C#实现计算器

    二、功能描述:

    本计算器可以实现两个操作数(小数和整数均可)的加、减、乘、除、平方(这个改个循环或者用pow函数就能实现任意次方了)、退位、清零操作。其中除法操作尤其特殊,因为需要考虑除数为0的情况,这里也做了处理,为0时会给予提示。

    三、主界面展示:

    这里并未对计算器做什么打扮,仅仅是换了一下背景颜色,看了一下,好像不能上传图片,如果可以,那么计算器背景和按钮都可以做的更加逼真一些。对了,所有键的位置都是一样大小,同时每一行每一列的间距也都是计算(根据宽度和位置计算即可)好了的,不会出现哪个按键位置多靠右了 1 像素等这种情况。
    在这里插入图片描述

    四、效果展示:

    一律采用先放用户输入截图,再放最后结果截图

    加法:

    在这里插入图片描述
    在这里插入图片描述

    减法:

    在这里插入图片描述
    在这里插入图片描述

    乘法:

    在这里插入图片描述
    在这里插入图片描述

    除法:

    在这里插入图片描述
    在这里插入图片描述

    除零类型
    在这里插入图片描述
    在这里插入图片描述

    平方:

    用户输入一个数,然后直接按下x^2键,再按等号键即可
    在这里插入图片描述
    在这里插入图片描述

    退位 Back键:

    在这里插入图片描述
    在这里插入图片描述

    清空 C键:

    在这里插入图片描述
    在这里插入图片描述

    五、功能算法描述:

    我采用的是将用户输入的所有内容,即操作数+运算符一并显示到文本框内,所以最后再获取时,需要对文本框内的整个字符串做一次遍历,从而确定是何种运算,进而计算结果。对于平方运算,设置了标记变量,这样只需要获取一个操作数即可。
    退位键:每次只能回退一个字符,首先获取当前文本框内的所有内容,然后使用字符串截取函数截取即可(当然也可以利用地址直接删除)
    清空键:这个很容易实现,直接文本框内字符串的值设为空即可。

    六、所有代码:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace Calculator
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            char op; //运算符
            double num1, num2; //运算数
    
            // 数字键
            private void button1_Click(object sender, EventArgs e)
            {
                textBox1.Text += "1";
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                textBox1.Text += "2";
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                textBox1.Text += "3";
            }
    
            private void button4_Click(object sender, EventArgs e)
            {
                textBox1.Text += "4";
            }
    
            private void button5_Click(object sender, EventArgs e)
            {
                textBox1.Text += "5";
            }
    
            private void button6_Click(object sender, EventArgs e)
            {
                textBox1.Text += "6";
            }
    
            private void button7_Click(object sender, EventArgs e)
            {
                textBox1.Text += "7";
            }
    
            private void button8_Click(object sender, EventArgs e)
            {
                textBox1.Text += "8";
            }
    
            private void button9_Click(object sender, EventArgs e)
            {
                textBox1.Text += "9";
            }
    
            private void button0_Click(object sender, EventArgs e)
            {
                textBox1.Text += "0";
            }
    
            // 小数点键
            private void buttonDot_Click(object sender, EventArgs e)
            {
                textBox1.Text += ".";
            }
            // 加法
            private void buttonAdd_Click(object sender, EventArgs e)
            {
                op = '+';
                textBox1.Text += "+";
            }
            // 减法
            private void buttonSub_Click(object sender, EventArgs e)
            {
                op = '-';
                textBox1.Text += "-";
            }
            // 乘法
            private void buttonMul_Click(object sender, EventArgs e)
            {
                op = '*';
                textBox1.Text += "*";
            }
            // 除法
            private void buttonDiv_Click(object sender, EventArgs e)
            {
                op = '/';
                textBox1.Text += "/";
            }
            // 平方
            private void buttonPow_Click(object sender, EventArgs e)
            {
                op = '^';
            }
            // 退位,回退键
            private void buttonBack_Click(object sender, EventArgs e)
            {
                String str = textBox1.Text;
                if (str.Length != 0)
                {
                    textBox1.Text = str.Substring(0, str.Length - 1);
                }
            }
            // 等号键,计算结果
            private void buttonRes_Click(object sender, EventArgs e)
            {
                String str = textBox1.Text;
                bool flag = true; //用来判断是否是平方操作
                int i;
                for(i = 0; i < str.Length; i++)
                {
                    if(!(str[i] >='0' && str[i] <='9' || str[i] == '.')){
                        num1 = Convert.ToDouble(str.Substring(0, i));
                        num2 = Convert.ToDouble(str.Substring(i + 1));
                        flag = false;
                        break;
                    }
                }
                if (flag)
                {
                    num1 = Convert.ToDouble(str);
                }
                if (op == '+')
                {
                    textBox1.Text = "";
                    textBox1.Text += (num1 + num2);
                }
                else if (op == '-')
                {
                    textBox1.Text = "";
                    textBox1.Text += (num1 - num2);
                }
                else if (op == '*')
                {
                    textBox1.Text = "";
                    textBox1.Text += (num1 * num2);
                }
                else if (op == '/')
                {
                    textBox1.Text = "";
                    if(num2 == 0)
                    {
                        textBox1.Text = "除数为0,Error!";
                    }
                    else
                    {
                        textBox1.Text += (num1 / num2);
                    }
                }
                else if (op == '^')
                {
                    textBox1.Text = "";
                    textBox1.Text += (num1 * num1);
                }
            }
            // 清零键
            private void buttonClc_Click(object sender, EventArgs e)
            {
                textBox1.Text = "";
            }
        }
    }
    
    展开全文
  • c#实现计算器

    2013-12-30 14:34:05
    C#实现简单计算器功能。VS2010 C#加减乘除算法的实现 ,window应用程序
  • c#自己做的一个简单计算器,可以实现加减乘除混合运算,但运算中不能有负数,仅供参考!大神勿喷!
  • 主要介绍了C#实现简单的计算器功能,结合完整实例形式分析了C#实现常见的数学运算、进制转换等相关操作技巧与界面布局方法,需要的朋友可以参考下
  • C#实现计算器(简单计算器)

    千次阅读 2017-04-21 17:23:04
    namespace 计算器 { public partial class Form1 : Form { double jg, o; string fh; public Form1() { InitializeComponent(); } private void button_ty(object sender, EventArgs e)//自己编写一个0-9...
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 计算器
    {
        public partial class Form1 : Form
        {
            double jg, o;
            string fh;
            public Form1()
            {
                InitializeComponent();
            }
            private void button_ty(object sender, EventArgs e)//自己编写一个0-9按键的通用方法
            {
                
                Button b1 = (Button)sender;
                textBox1.Text += b1.Text;
            }
    
            private void button11_Click(object sender, EventArgs e)//加法
            {
                jg = double.Parse(textBox1.Text);
                fh = "+";
                textBox1.Text = "";
    
            }
    
            private void button15_Click(object sender, EventArgs e)//等号
            {
                switch (fh)
                {
                    case "+":o = jg + double.Parse(textBox1.Text);break;
                    case "-":o = jg - double.Parse(textBox1.Text);break;
                    case "x":o = jg * double.Parse(textBox1.Text);break;
                    case "chu":o=jg/double.Parse(textBox1.Text);break;
                }
                textBox1.Text = o.ToString();
                
            }
    
            private void button12_Click(object sender, EventArgs e)//减法
            {
                jg = double.Parse(textBox1.Text);
                fh = "-";
                textBox1.Text = "";
            }
    
            private void button13_Click(object sender, EventArgs e)//乘法
            {
                jg = double.Parse(textBox1.Text);
                fh = "x";
                textBox1.Text = "";
            }
    
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                
            }
    
            private void button14_Click(object sender, EventArgs e)//除法
            {
                jg = double.Parse(textBox1.Text);
                fh = "chu";
                textBox1.Text = "";
            }
        }
    }
    
    
    

    展开全文
  • 包含两个功能。窗体控件的综合应用。使用c# vs2010实现计算器功能(加减乘除),以及制定目录下的文件搜索。搜索出的文件通过listview显示
  • 一,利用Winform 实现简单的计算器功能,二,利用listView实现在指定目录搜寻文件的功能,并显示在listview中。
  • C#实现 计算器

    2011-11-27 00:41:14
    C#实现计算机器。包括进制的转换阶层等功能
  • 计数器(C#源码) 1、c#后台代码 2、.net网页布局 3、实现计算器的基本运算 4、计算器的进制转换
  • c#实现简易计算器

    千次阅读 2020-04-18 13:16:35
    将里边的Button和TextBox拖拽到form窗体,textbox是计算器数字输入输出的地方,拖拽一个就行,button的数量按自己的计算器实现功能来确定 这是我要做的界面,所以拖拽了20个button,我的button从 +/-开始向右加1 ...

    1.进入vs,按图创建项目
    在这里插入图片描述
    2.点击确定后出现form窗体,左侧有工具箱
    在这里插入图片描述
    将里边的Button和TextBox拖拽到form窗体,textbox是计算器数字输入输出的地方,拖拽一个就行,button的数量按自己的计算器要实现功能来确定

    在这里插入图片描述
    这是我要做的界面,所以拖拽了20个button,我的button从 +/-开始向右加1
    对应的2是button6
    对应x²是button18
    在这里插入图片描述
    (修改button的样式在vs的右下角,如果不清楚怎么改去网上搜一下,但是建议大家不要不要不要在现在就调整背景色,字体,或者改button里边的内容,先写代码,最后回来设计样式)
    3 代码(双击窗体或者右击查看代码)
    注意代码和窗体名称的匹配,如果你的button顺序和我的一致,那么代码就可以直接用了。如果不匹配,在右下角属性这里把click名字改一下,比如你的2对应的是button14按钮,那么把click这里名字改成我上边图示的button6_click,效果就和我的一样了

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace 计算器实验1
    {
    public partial class Form1 : Form
    {
    double first = 0;
    double last = 0;
    double result = 0;
    bool c = false;
    string d= “”;

        public Form1()
        {
            InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = "0";
        }
    
    
    
    
    
        private void button2_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "0";
        }
    
        private void button3_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
            textBox1.Text += ".";
        }
    
    
    
        private void button5_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "1";
        }
    
        private void button6_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "2";
        }
    
        private void button7_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "3";
        }
    
    
    
        private void button9_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "4";
        }
    
        private void button10_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "5";
        }
    
        private void button11_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "6";
        }
    
    
        private void button13_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "7";
        }
    
        private void button14_Clic(object sender, EventArgs e)
        {
    
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "8";
        }
    
        private void button15_Click(object sender, EventArgs e)
        {
            if (c == true)
    
            {
    
                textBox1.Text = "";
    
                c = false;
    
            }
    
            textBox1.Text += "9";
        }
        private void button20_Click(object sender, EventArgs e)// /
        {
            c = true;
            first = double.Parse(textBox1.Text);
            d = "/";
        }
        private void button16_Click(object sender, EventArgs e) //*
        {
            c = true;
            first = double.Parse(textBox1.Text);
            d = "*";
        }
    
        private void button12_Click(object sender, EventArgs e) //-
        {
            if (textBox1.Text == "0")
                textBox1.Text = "-";
            else {
                c = true;
                first = double.Parse(textBox1.Text);
                d = "-";
            }
    
        }
    
        private void button8_Click(object sender, EventArgs e) //+
        {
            c = true;
            first = double.Parse(textBox1.Text);
            d = "+";
        }
        private void button1_Click(object sender, EventArgs e) //取反
        {
            if (double.Parse(textBox1.Text) > 0)
                textBox1.Text = "-" + textBox1.Text;
            else if(double.Parse(textBox1.Text)<0)
                    textBox1.Text = -double.Parse(textBox1.Text) + "";
         
        }
        private void button17_Click(object sender, EventArgs e)   //C
        {
            textBox1.Text = "";
            first = 0;
            last = 0;
            result = 0;
            d = "";
            c = false;
        }
    
        private void button4_Click(object sender, EventArgs e) //=
        {
            switch (d)
            {
                case "+":result = first + double.Parse(textBox1.Text);break;
                case "-": result = first - double.Parse(textBox1.Text); break;
                case "*": result = first * double.Parse(textBox1.Text); break;
                case "/": result = first / double.Parse(textBox1.Text); break;
                case "x²":
                    if (first != 0) result = first * first;
                    else if (double.Parse(textBox1.Text) != 0) result = last * last;
                    break;
                case "√X":
                     if (first != 0) result = Math.Sqrt(first); 
                    else if (double.Parse(textBox1.Text) != 0) result = Math.Sqrt(last); 
                    break;
            }
            textBox1.Text = result+"";
                
        }
        private void button18_Click(object sender, EventArgs e) //平方
        {
            c = true;
            first = double.Parse(textBox1.Text);
            d = "x²";
        }
    
        private void button19_Click(object sender, EventArgs e) //开根号
        {
            c = true;
            first = double.Parse(textBox1.Text);
            d = "√X";
        }
    
    
    }
    

    }

    展开全文
  • C# 实现 计算器软件

    2014-01-24 12:27:09
    模拟WIN7 窗体 简单的四则运算 未使用数据结构
  • C#实现简单的计算器

    千次阅读 2021-03-17 11:04:11
    C#实现简单的计算器 环境:VS2010及以上版本 建立个Window窗体应用 在工具箱里拖出两个TextBox,第一个放上面,第二个放下面 。主要这里的Name,上面是textBox1,下面是textBox2。这涉及到后面代码的书写 在工具...

    C#实现简单的计算器

    环境:VS2010及以上版本

    1. 建立个Window窗体应用
      在这里插入图片描述
    2. 在工具箱里拖出两个TextBox,第一个放上面,第二个放下面 。主要这里的Name,上面是textBox1,下面是textBox2。这涉及到后面代码的书写
      在这里插入图片描述
    3. 在工具栏里拖动Button,摆放好。可利用上面的对齐工具辅助设计。
      在这里插入图片描述
    4. 在属性里改变各Button的Text,如下
      在这里插入图片描述
      注意这里的1~9,小数点,±*/ 的Text应只有一个字符,不要多输。←
    5. 选中任意一个Button,右键,选择查看代码,转到Form1.cs
      在这里插入图片描述
    6. 开始写代码
      AddNum 修改TextBox的Text,应用于1~9与小数点的Click事件
      Reset 重置temp、myoperator,以及两个TextBox的Text
      Delete 删除textBox2的Text最后一个字符
      Calculate 把textBox2的Text转为double给temp,修改myoperator
      Equal 具体的计算
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WindowsFormsApp1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    //----上面是自动生成的代码,下面得我们手写----
            private double temp = 0;  //存储临时数据
            private char myoperator = ' ';  //判断之前按的是+-*/中的哪个
    
            private void AddNum(object sender, EventArgs e)
            {   // 1~9与小数点的Click事件
                //sender是引发该事件的控件,这里我们拆箱为Button
                Button button = (Button)sender;
                textBox2.Text += button.Text;
            }
    
            private void Reset(object sender, EventArgs e)
            {   // CE的Click事件
                temp = 0;
                myoperator = ' ';
                textBox1.Text = textBox2.Text = "";
            }
    
            private void Delete(object sender, EventArgs e)
            {   // ←的Click事件
                //移除最后一个字符
                if (textBox2.TextLength > 0)
                    textBox2.Text = textBox2.Text.Remove(textBox2.TextLength - 1);
            }
    
            private void Calculate(object sender, EventArgs e)
            {   // +-*/的Click事件
                Button button = (Button)sender;
                if (double.TryParse(textBox2.Text, out temp))  //尝试把textBox2的Text转为double并赋值给temp
                {
                    myoperator = button.Text[0]; //Text是string,取第一个字符
                    textBox1.Text = temp.ToString() + ' ' + myoperator;
                    textBox2.Text = "";
                }
                else
                {   //转换失败,重置所有
                    Reset(sender, e);
                }
            }
    
            private void Equal(object sender, EventArgs e)
            {   // = 的Click事件,计算并显示
                double temp2;
                //尝试转换,失败则重置并返回
                if (!double.TryParse(textBox2.Text, out temp2)) { Reset(sender, e); return; }
                switch (myoperator)
                {
                    case '+':
                        temp += temp2;
                        break;
    
                    case '-':
                        temp -= temp2;
                        break;
    
                    case '*':
                        temp *= temp2;
                        break;
    
                    case '/':
                        temp /= temp2;
                        break;
    
                    default:
                        break;
                }
                textBox1.Text = "";
                textBox2.Text = temp.ToString();
            }
        }
    }
    
    1. 设置各Button的Click事件
    • AddNum: 1~9与小数点的Click事件
    • Reset:CE的Click事件
    • Delete:←的Click事件
    • Calculate :±*/的Click事件
    • Equal:= 的Click事件
      在这里插入图片描述
    1. 启动(F5)
    展开全文
  • c#实现简易的计算器功能

    万次阅读 多人点赞 2019-05-12 19:53:43
    由于今天在网上搜了一下c#写的计算器,发现大多都太繁琐了,很多没必要并且不容易理解的东西就专门写了这个博客 1.首先新建一个windows窗体应用的项目。执行文件-新建-项目-windows窗体应用 2.在工具箱中拖出一个...
  • 自己学习的时候动手做的一个C# 窗体小程序 实现了简易的计算器功能。已测试无BUG 只是为了简单 使用负数时 需要先输入数字 最后加负号。
  • ide图片如下(模仿的iphone的简易计算器) 首先设置变量: double num1, num2; string f; int flag = 0; flag是计算之后清除结果的按键,比如2*3=6,最终显示结果为6,此时将flag设为1表明当前为结果显示,如果想...
  • 实现页面布局和数值初始化 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System....
  • C#实现计算器,支持括号运算

    千次阅读 2017-12-25 14:20:42
    有些面试题要实现一个计算器。自己尝试了一下。实现了简单的加减乘除及括号运算
  • C#实现计算器的界面及运算功能,寄存器等功能还未实现。使用vs2010工具

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,048
精华内容 2,819
关键字:

c#实现计算器

c# 订阅