利用Visual Studio编写一个简易计算机

做实验时,打开自己之前下载过的Visual Studio ,由于登录名之类的问题突然不能用啦,在csdn上看啦相关其他博主的介绍之后,也不知道怎么的给弄好啦,尴尬的是,忘记截图
啦,enmmm,总之,好啦。直接步入正题吧

这次主要是编写一个简单的计算器,老师推荐我们使用C#,所以就用C#,因为其他的也不会啊,哈哈,自己太笨啦,enmmm,慢慢学习吧。

一、首先使用Visual Studio创建出C#环境和简单的框架

1.打开Visual Studio,选择创建新项目。
在这里插入图片描述
2.选择相应的项目和内容,点击下一步。
在这里插入图片描述
3.给自己的项目起一个名字,由于做的是一个简单的计算器,就起名为calculator吧,然后点击创建。
在这里插入图片描述
4.这次主要使用Button和TextBox这两个,然后右边属性栏可以调节大小,字体和名称等,有一个大致的轮廓。
在这里插入图片描述
5.在格式里面对齐按钮,在右侧的属性栏中对按钮的名称,大小等属性按照自己的喜好进行修改,最终成果如图所示。
在这里插入图片描述
二、对各个按钮进行程序设计,编写各自的功能

1.对各个数字进行编写,主要为点击是在textbox上显示。
在这里插入图片描述
2.对各个运算符进行编写,实现相应的运算功能。
在这里插入图片描述
3.对AC进行编写,当按下AC是 textbox1 与 textbox2 同时清空。
在这里插入图片描述
4.等于符号的编写,当按下等于时,在 textbox1 上显示出运算结果,在 textbox2 上显示运算式子。
在这里插入图片描述
三、简单对一些式子进行计算,看是否正确。

1.这里有两个 textbox ,一个显示运算式子,一个显示最终运算结果,便于检验。
在这里插入图片描述在这里插入图片描述

最后附上代码

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 calculator1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Double Lnum,Rnum,Result;
        String flag;
        int i = 0;
        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {

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

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

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

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

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

        private void button6_Click(object sender, EventArgs e)
        {
            textBox1.Text += '6';
            textBox2.Text += '6';
        }

        private void button7_Click(object sender, EventArgs e)
        {
            textBox1.Text += '7';
            textBox2.Text += '7';
        }

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

        private void dian_Click(object sender, EventArgs e)
        {
            textBox1.Text += '.';
            textBox2.Text += '.';
        }

        private void buttonAdd_Click(object sender, EventArgs e)
        {
            Lnum = Convert.ToDouble(textBox1.Text);
            textBox2.Text = Lnum.ToString() + "+";
            flag = "+";
            textBox1.Text = "";
        }

        private void buttonEqual_Click(object sender, EventArgs e)
        {
            Rnum = Convert.ToDouble(textBox1.Text);
            textBox2.Text += "=";
            if (flag == "+") Result = Lnum + Rnum;
            else if (flag == "-") Result = Lnum - Rnum;
            else if (flag == "*") Result = Lnum * Rnum;
            else if (flag == "/") Result = Lnum / Rnum;
            else if (flag == "%") Result = Lnum % Rnum;
            else
            {
                Lnum = Convert.ToDouble(textBox1.Text);
                Result = Lnum;
            }
            textBox1.Text = Result.ToString();
        }

        private void buttonAc_Click(object sender, EventArgs e)
        {
            Lnum = Rnum = 0;
            textBox1.Text = "";
            textBox2.Text = "";
        }

        private void buttonSubt_Click(object sender, EventArgs e)
        {
            Lnum = Convert.ToDouble(textBox1.Text);
            textBox2.Text = Lnum.ToString() + "-";
            flag = "-";
            textBox1.Text = "";
        }

        private void buttonTimes_Click(object sender, EventArgs e)
        {
            Lnum = Convert.ToDouble(textBox1.Text);
            textBox2.Text = Lnum.ToString() + "*";
            flag = "*";
            textBox1.Text = "";
        }

        private void buttonDivided_Click(object sender, EventArgs e)
        {
            Lnum = Convert.ToDouble(textBox1.Text);
            textBox2.Text = Lnum.ToString() + "/";
            flag = "/";
            textBox1.Text = "";
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        private void button11_Click(object sender, EventArgs e)
        {
            Lnum = Convert.ToDouble(textBox1.Text);
            textBox2.Text = Lnum.ToString() + "%";
            flag = "%";
            textBox1.Text = "";
        }

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

        private void button0_Click(object sender, EventArgs e)
        {
            textBox1.Text += '0';
            textBox2.Text += '0';
        }

    }
}

缺陷与不足

1.无法对一些不符合错误的式子判断

2.“/0”操作不报错

3.无法对含有多个运算符的连续算式进行运算。

有能力的话再进行完善完善吧。

好啦,这就是全部的内容啦,感谢观看

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谁会没有丶遗憾呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值