【HBU】数据库第二周作业 计算器

  • 因为前两天家里停电了 所以一直拖到今天才把作业写完 还是少点拖延症 争取周一周二就给作业完成吧,以后。*
    制作工具: 通过visual studio用c#实现
    在这里插入图片描述
    实现功能 基本的运算功能,包括加减乘除 还有求n次方。 其他功能包括清空、退格等。
    展示:
    乘法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这里也对/法进行了一点检验:
    在这里插入图片描述
    如果除数是0 会报错。

退格功能的实现 采用的是字符串截取的函数:

textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);

而平方功能的实现 也是采用了现有的工具

result = Math.Pow(num1, num2);

使用这个工具让我想去去年上过的安卓课,并且看到C#里带着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 WindowsFormsApp1
{
    
    public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
		}
        Double num1, num2;
        Double result;
        char flag='e';
        private void button3_Click(object sender, EventArgs e)
        {
			textBox1.Text += "3";
        }

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

        private void Form1_Load(object sender, EventArgs e)
        {

        }

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

        private void button13_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
        }

        private void button19_Click(object sender, EventArgs e)
        {
            num2 = Convert.ToDouble(textBox1.Text);

            if (flag == '+')
            {
                result = num1 + num2;
                textBox1.Text = Convert.ToString(result);
                num1 = result;
                num2 = 0;
                flag = 'e';
            }
            else if (flag == '-')
            {
                result = num1 - num2;
                textBox1.Text = Convert.ToString(result);
                num1 = result;
                num2 = 0;
                flag = 'e';
            }
            else if (flag == '*')
            {
                result = num1 * num2;
                textBox1.Text = Convert.ToString(result);
                num1 = result;
                num2 = 0;
                flag = 'e';
            }
            else if (flag == '/')
            {
                if (num2 == 0)
                    textBox1.Text = "输入有误,请按c重新输入!";
                else
                {
                    result = num1 / num2;
                    textBox1.Text = Convert.ToString(result);
                    num1 = result;
                    num2 = 0;
                    flag = 'e';

                }

            }
            else if (flag == 'e')
            {
                textBox1.Text = textBox1.Text;
            }
            else if (flag == '^')
            {
                result = Math.Pow(num1, num2);
                textBox1.Text = Convert.ToString(result);
                num1 = result;
                num2 = 0;
                flag = 'e';

            }
        }

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

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

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

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

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

        private void button10_Click(object sender, EventArgs e)
        {
            num1 = Convert.ToDouble(textBox1.Text);
            textBox1.Text += "+";
            flag = '+';
        }

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

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

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

        private void button15_Click(object sender, EventArgs e)
        {
            num1 = Convert.ToDouble(textBox1.Text);
            textBox1.Text = "";
            flag = '/';
        }

        private void button14_Click(object sender, EventArgs e)
        { 
           num1 = Convert.ToDouble(textBox1.Text);
            textBox1.Text = "";
            flag = '*';

        }

        private void button12_Click(object sender, EventArgs e)
        {
            num1 = Convert.ToDouble(textBox1.Text);
            textBox1.Text = "";
            flag = '-';
        }

        private void button18_Click(object sender, EventArgs e)
        {
            num1 = Convert.ToDouble(textBox1.Text);
            textBox1.Text = "";
            flag = '^';
        }

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

目前来看 不足之处还是有很多的 显示功能感觉不是很完善 。。
包括开放 负数等 都还没有加入 之后可能会在这里继续补充完善

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值