2021-03-21

利用Visual Studio编写一个简易计算机(c#)

在看过老师的讲解视频后,我简单尝试了一下,做的比较简单和基本,步骤如下:
一、新建项目,添加基本的单位。
*** 项目使用的这个。
在这里图片描述
***打开后在工具栏里面找到基本的控件,button和textbox就能满足简单的使用。先简单试一下。

这几个按钮的代码如下:
在这里插入图片描述
按下 按钮”一“,屏幕显示数字1,按下加号屏幕消失,同时记下加数,然后再次按下下一个加数,再加下,最后按下等于键时显示最终结果。
**理论如此,尝试之后发现,按下加号之后出现错误。
在这里插入图片描述
这里应该是传入Lnum的字符串错误(Convert.ToDouble(textBox1.Text)将屏幕的字符串转换为double型),所以将上面一句移到后面就可以了。
**改过之后再次尝试:
在这里插入图片描述
就可以正常显示结果了。
二、接下来添加更多的按钮,完善计算机的基本功能即可。
完整版如下:
在这里插入图片描述
基本的加减乘除和清零功能。

举个除法例子。在这里插入图片描述
**一个比较简陋的计算机就差不多了,如果想更加完善,可以增加一些按钮和改进一些代码。
三、思考
**其实这个项目还是挺简单的,一开始完成的也比较快,不过出现了上面那么一个小错误,导致本来信心满满,结果却一直出错。所以如果没有把握或者第一次尝试,还是一点点的实验,等结果满意之后,再整体的完成,不然最后出错了都不知道是哪里的问题。
整体代码如下
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 WindowsFormsApp2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Double Rnum, Lnum, Result;
int l;
String flag;
private void button5_Click(object sender, EventArgs e)
{
textBox1.Text += “5”;
}

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

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

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

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

    private void button14_Click(object sender, EventArgs e)
    {
        Rnum= Convert.ToDouble(textBox1.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
            Result = 0;
        textBox1.Text = Result.ToString();
    }

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

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

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

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

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

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

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

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

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

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

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

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值