数据库原理实验一:计算器的实现

目标:通过Visual Studio做一个小计算器.

首先,新建一个项目:C#,Windows,桌面,Windows窗体应用,设置项目名称,位置;
创建完成,出现如下界面:在这里插入图片描述左侧的工具箱中有公共空间,可以看到其中一些是曾经学习过的,按钮Button,标签Lable等。和其他不同的是,这些控件可以被拖拉至设计窗口界面。

工具箱中的公共控件
设置一个计算机界面:计算机中的1,2,3,4等按钮为Button,输入行为Textbox;(按钮的Name与Text尽量对应)界面如下:

在这里插入图片描述

双击按钮,就会出现该按钮的相应代码,包括按钮的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 Calculator
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        double i=-1,j,k,t=0;

        private void button1_Click(object sender, EventArgs e)
        {
            //MessageBox.Show("1");
            textBox1.Text += "1";
        }

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

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

        private void Form1_Load(object sender, EventArgs e)
        {

        }

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

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

        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 button0_Click(object sender, EventArgs e)
        {
            textBox1.Text += "0";
        }

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

        private void buttonchu_Click(object sender, EventArgs e)
        {
            if (i == -1)   //第一次除运算
                i = Convert.ToDouble(textBox1.Text);
            else          //多次
            {
                j = Convert.ToDouble(textBox1.Text);
                if (t == 3)  
                    i = i * j;
                else if (t == 4)
                    i = i / j;
            }
            t = 4;
            textBox1.Text = "";
        }

        private void buttoncheng_Click(object sender, EventArgs e)
        {
            if (i == -1)   //第一次乘运算
                i = Convert.ToDouble(textBox1.Text);
            else         
            {
                j = Convert.ToDouble(textBox1.Text);
                if (t == 3)
                    i = i * j;
                else if (t == 4)
                    i = i / j;
            }
            t = 3;
            textBox1.Text = "";
        }

        private void buttonjisn_Click(object sender, EventArgs e)
        {
            if (i == -1)   //第一次加运算
                i = Convert.ToDouble(textBox1.Text);
            else          //更多的加运算
            {
                j = Convert.ToDouble(textBox1.Text);
                if (t == 1)
                    i = i + j;
                else if (t == 2)
                    i = i - j;
                else if (t == 3)
                    i = i * j;
                else if (t == 4)
                    i = i / j;
            }
            t = 2;
            textBox1.Text = "";
        }

        private void buttonplus_Click(object sender, EventArgs e)
        {
            if (i == -1)   //第一次加运算
                i = Convert.ToDouble(textBox1.Text);
            else          //更多的加运算
            {
                j = Convert.ToDouble(textBox1.Text);
                if (t == 1)
                    i = i + j;
                else if (t == 2)
                    i = i - j;
                else if (t == 3)
                    i = i * j;
                else if (t == 4)
                    i = i / j;
            }
            t = 1;
            textBox1.Text = "";
        }

        private void button1x_Click(object sender, EventArgs e)
        {
            i = Convert.ToDouble(textBox1.Text);
            k = 1 / i;
            textBox1.Text = k.ToString();
        }

        private void buttonequal_Click(object sender, EventArgs e)
        {
            j = Convert.ToDouble(textBox1.Text);
            if (t == 1)
            {
                k = i + j; textBox1.Text = k.ToString();
            }
            else if (t == 2)
            {
                k = i - j; textBox1.Text = k.ToString();
            }
            else if (t == 3)
            {
                k = i * j; textBox1.Text = k.ToString();
            }
            else if (t == 4)
            {
                if (j != 0)
                {
                    k = i / j; textBox1.Text = k.ToString();
                }
                else
                    textBox1.Text = ("除数不能为零");
            }
            i = -1;  
        }
        private void buttonc_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
        }
    }
}

心得:
做不出来a+b*c或者a+b/c这种。然后其他的就用个别例子测试了一下,可能会有错误。
然后,我觉得用这个软件做一个计算器步骤操作简单好多,还是希望能多了解它一点。

原创文章 23 获赞 25 访问量 1万+

猜你喜欢

转载自blog.csdn.net/karive/article/details/105897535
今日推荐