c#简易计算器设计

原创 2013年12月04日 19:38:33

 

c#简易计算器设计,这是我学习时的练习作品,能够完成简单的运算,但设计还有很多不周的地方,仅供参考。

 

 



 源代码:

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 jisuanqi
{
    public partial class Form1 : Form
    {
        double numA, numB, result;//numA数A,numB数B,result结果
        bool flag;//判断是否为小小数
        string myOperator;//操作类型
        string historytxt;//记录原有的操作数
        /// <summary>
        /// NumberClick类
        /// </summary>
        public void NumberClick(int myNumber)
        {
            if (flag)
            {
                textBox1.Text = textBox1.Text + myNumber;
                historytxt = historytxt + myNumber;
            }
            else
            {
                if (historytxt  == "")
                {
                    //输入的是整数的第一个数字
                    textBox1.Text =textBox1 .Text + myNumber + "";
                    historytxt = myNumber + "";
                }
                else
                {
                    //输入的不是整数的第一个数字
                    textBox1.Text = textBox1.Text.Substring
                        (0, textBox1.Text.Length) + myNumber + "";
                    historytxt = historytxt.Substring(0, historytxt.Length) + myNumber + "";
                }
            }
        }

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            historytxt  = "";
            textBox1.Text = "";
            //指定文本框的对齐方式为右对齐
            textBox1.TextAlign = HorizontalAlignment.Right;
        }

        private void button0_Click(object sender, EventArgs e)
        {
            NumberClick(0);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            NumberClick(1);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            NumberClick(2);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            NumberClick(3);
        }

        private void button4_Click(object sender, EventArgs e)
        {
            NumberClick(4);
        }

        private void button5_Click(object sender, EventArgs e)
        {
            NumberClick(5);
        }

        private void button6_Click(object sender, EventArgs e)
        {
            NumberClick(6);
        }

        private void button7_Click(object sender, EventArgs e)
        {
            NumberClick(7);
        }

        private void button8_Click(object sender, EventArgs e)
        {
            NumberClick(8);
        }

        private void button9_Click(object sender, EventArgs e)
        {
            NumberClick(9);
        }

        private void bDot_Click(object sender, EventArgs e)
        {
            flag = true;//输入小数点
            textBox1.Text = textBox1.Text + ".";
            historytxt = historytxt + ".";
        }

        private void bCle_Click(object sender, EventArgs e)
        {
            numA = 0;
            numB = 0;
            textBox1.Text = "";
            historytxt = "";
            flag = false;
        }

        private void bPlus_Click(object sender, EventArgs e)
        {
            myOperator = "add";
            numA = double.Parse(historytxt);
            historytxt = "";
            textBox1.Text = textBox1.Text + "+";
            flag = false;
        }

        private void bSub_Click(object sender, EventArgs e)
        {
            myOperator = "Sub";
            numA = double.Parse(historytxt);
            textBox1.Text= textBox1.Text + "-";
            historytxt ="";
            flag = false;
        }

        private void bMul_Click(object sender, EventArgs e)
        {
            myOperator = "Mul";
            numA = double.Parse(historytxt);
            textBox1.Text = textBox1.Text + "*";
            historytxt ="";
            flag = false;
        }

        private void bDiv_Click(object sender, EventArgs e)
        {
            myOperator = "Div";
            numA = double.Parse(historytxt);
            textBox1.Text = textBox1.Text + "/";
            historytxt  = "";
            flag = false;
        }

        private void bEqu_Click(object sender, EventArgs e)
        {
            numB = double.Parse(historytxt);
            switch (myOperator)
            {
                case "add":
                    result = numA + numB;
                    textBox1.Text = textBox1.Text  +"="+ result.ToString();
                    break;
                case "Sub":
                    result = numA - numB;
                    textBox1.Text =textBox1.Text  +"="+ result.ToString();
                    break;
                case "Mul":
                    result = numA * numB ;
                    textBox1.Text =textBox1.Text  +"="+ result.ToString();
                    break;
                case "Div":
                    if (numB == 0)
                    {
                        textBox1.Text = "除数不能为零!";
                    }
                    else
                    {
                        result = numA / numB;
                        textBox1.Text =textBox1 .Text  +"="+ result.ToString();
                    }
                    break;
            }
           // numA = result;
            historytxt = result.ToString();
        }
    }
}

【CSharp】简易命令行计算器实现

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Ca...
  • javatangyong2011
  • javatangyong2011
  • 2014年03月06日 17:11
  • 1811

C# 简易计算器设计

第一个简单的 计算器 设计步骤: (1)设计应用程序界面    新建windows应用程序项目,在windows窗体上添加一个文本框控件TextBox1,其余的控件均可在程序运行时自动建立。 ...
  • cqfdcw
  • cqfdcw
  • 2018年01月23日 22:11
  • 50

c#实现简单计算器

参考了网上的文章,加以修改 核心代码: private void btnPoi_Click(object sender, EventArgs e) { if(!...
  • qq_18714153
  • qq_18714153
  • 2015年09月21日 19:55
  • 788

第一个C#程序(简单计算器)

我的第一个C#程序(功能简陋,界面简单的基于C#的计算器): 先附上截图: 设计部分: 5个label标签,3个TextBox标签,2个Button按钮,1个ComboBox标签 源代码:...
  • vicious_net
  • vicious_net
  • 2013年01月14日 23:20
  • 2066

c#编写简易计算器

题目:编写一个简易计算器 程序最后的结果如图所示: 步骤: 首先创建一个windows form窗体程序,Compute 拖动一个textbox控件和若干button控件,在窗体上布置成如...
  • qipanliming
  • qipanliming
  • 2012年11月15日 18:37
  • 5922

大一C语言结课设计之《简单计算器》

/*===============================================*\ ** 设计目的:简单计算器,计算形如10*(20.2-30.6)+5.0/2的表达式值 ** 简...
  • u012846486
  • u012846486
  • 2014年06月18日 19:34
  • 2470

C# 简易计算器(三)

C# 简易计算器(一)、C# 简易计算器(二) 完成了一些功能后我去网上找了找类似的代码,在这个过程中学到了很多,其中了解到设计模式这个词,以及《大话设计模式》这本书,第一章就是使用简单工厂设计模式...
  • headwind_
  • headwind_
  • 2017年03月23日 16:45
  • 297

设计一个简易计算器

#include int main() { int a,b,s; char c; scanf("%d %c %d",&a,&c.&b); switch(c) { case'+...
  • ygluui14159260
  • ygluui14159260
  • 2017年04月22日 23:05
  • 95

简易计算器的c语言编辑代码

关于简易的整数计算机的设计制作算是c语言中较为基础的一道题,之前刚上课时老师也介绍过,但是我是初学,时间久了容易忘记,所以在此记录一下。 #include int main() { int  a...
  • Black_dh
  • Black_dh
  • 2017年12月24日 08:08
  • 55

C语言制作一个简易的计算器(加、减、乘、除、取模)

C语言制作一个简易的计算器(加、减、乘、除、取模) #include int main() { double number1=0.0; double number2=0.0; ...
  • qq_32173603
  • qq_32173603
  • 2015年10月27日 21:07
  • 1382
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#简易计算器设计
举报原因:
原因补充:

(最多只允许输入30个字)