利用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 = "/";
}
}
}