如何用C#制作窗体计算器

一、计算器的概述

        在古代,人们发明了许多计算工具,如算筹、算盘计算尺等,随着社会的发展和科技的进步,计算工具也经历了由简单到复杂,由低级向高级的发展变化。进入20世纪后,人们发明了计算器。计算器的出现解决了很多比较复杂的计算问题。计算器的使用非常简单,它的运算规则是从左往右算,输入数据后可以一眨眼就得出结果。

二、计算器的构成

        计算器内部采用的基本逻辑是算术逻辑单元(ALU),这是一种执行二进制运算的逻辑电路。ALU可以接受两个二进制数作为输入,并根据特定的操作码执行相应的运算,如加法、减法、与运算、或运算等。这些操作码通常由用户输入的运算符决定。

        计算器还配备了存储器,用于存储用户输入的数字、运算符以及计算结果。存储器可以是随机存取存储器(RAM)或只读存储器(ROM)等类型。RAM用于存储临时数据,如用户输入的数字和计算结果,而ROM则用于存储计算器的固件程序,即控制计算器工作的指令集。

三、计算器的原理

        1. 输入:用户通过计算器上的键盘输入需要计算的数字和运算符,这些信息被存储在计算器的内存中。

        2. 解析:计算器会解析用户输入的信息,将其转化为计算机能够理解的二进制代码。解析过程中,计算器会识别出数字和运算符,并将它们存储在适当的内存位置。
        3. 计算:在解析完用户输入后,计算器会执行相应的计算操作。对于基本的四则运算,计算器会采用预设的算法来进行计算,如加法、减法、乘法和除法等。对于更复杂的运算,如三角函数、对数等,计算器会使用更高级的算法或调用外部库来完成计算。

        4. 输出:计算完成后,计算器会将结果显示在屏幕上,供用户查看。

四、计算器的编写过程

1.用visual statio创建一个项目

2.创建一个窗体,在窗体上添加一些控件、文本框等(创建成一个跟计算器模型一样的窗体),创建完成后如图所示:

五、代码的编写

namespace 窗体计算器
{
    public partial class Form1 : Form
    {
        private double fistNumber;
        private string currentCal;
        private double secondNumber;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "1";
        
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "2";
        }

        private void button3_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "3";
        }

        private void button4_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "4";
        }

        private void button5_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "5";
        }

        private void button6_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "6";
        }

        private void button7_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "7";
        }

        private void button8_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "8";
        }

        private void button9_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "9";
        }

        private void button10_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "0";
        }

        private void button11_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "";
        }

        private void button12_Click(object sender, EventArgs e)
        {
            string strNumber = this.textBox1.Text;
            fistNumber = double.Parse(strNumber);
            currentCal = "+";
            this.textBox1.Text = "";
        }

        private void button16_Click(object sender, EventArgs e)
        {
            string strNumber = this.textBox1.Text;
            secondNumber = double.Parse(strNumber);

            if(currentCal.Equals("+"))
            {
                double result = fistNumber + secondNumber;
                this.textBox1.Text = result.ToString();
            }
        }

        private void button13_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "-";
        }

        private void button14_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "*";
        }

        private void button15_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "/";
        }

        private void button17_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "";
        }
    }
}

六、程序运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值