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();
        }
    }
}

相关文章推荐

C#实验简易计算器及综合设计

  • 2012年06月20日 21:20
  • 54KB
  • 下载

基于C#的简易计算器的设计

  • 2011年12月25日 23:25
  • 542KB
  • 下载

C#小实验 - 简易计算器

实验一 计算器的制作 信息学院 网工一班 黄文彬 201130720109  一. 实验要求 1)参照Windows提供的计算器工具,设计一个与之类似的程序;   2)基本要求:实现“普通运...

第一个C#程序--简易计算器

捣弄了一个下午,总算是做出来一个像样的东西。 虽然功能还不够强大,但也算是迈出了第一步吧。 1.主要功能是 (1)实现简单(仅一次)的加减乘除运算,存在的bug如下: a.除法的0判断...
  • bla234
  • bla234
  • 2016年03月19日 18:39
  • 323

C#WinForm练习——制作简易计算器

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin...

【C#】简易网页计算器实现

//Default.aspx ...

黑马程序员 C#学习笔记① 使用WPF实现简易计算器

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------     目的:运用一些WPF和C#基础知...

C# 简易计算器(一)

C#简易计算器

C#winform第一个小程序——简易计算器

分享我的第一个完整的C#winform小程序,只为记录!      写这个小程序的时候,我连语法还都不怎么会,只能边写边学,拖控件、设置属性也还是临时学会的。所以会有比较大的缺陷,而且使用的语...
  • SmallMr
  • SmallMr
  • 2017年04月27日 22:28
  • 101

C# 简易计算器(二)

C# 简易计算器(一)前面展示了一下用C#winform做的简单的计算器,也是课程的小作业,现在分析一下代码是怎么实现的。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#简易计算器设计
举报原因:
原因补充:

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