康老师

如何用C#编写简易计算器

2015-10-14 分类:百科

TIPS:本文共有 3788 个字,阅读大概需要 8 分钟。

用C#编写简易计算器

1、在窗体上拖23个button

间距设置上下和左右等宽,修改text为相应的数字或者字母,以及一个textbox和groupBox1,修改他们的text。窗体、groupBox什么的背景图片直接插。

2、 初始化窗体

当窗体加载时,使textbox里的光标位于最右边,即从最右边开始输入。

这里TextAlign为设置文本框文字位置,HorizontalAlignment为枚举,选择right,当然选择哪个都行。

以下为代码:

private void Form1_Load(object sender, EventArgs e)

{

textBox1.Text = ""//初始化内容,设置为空

textBox1.TextAlign = HorizontalAlignment.Right//用来设置文本框的文字的位置,

}

下面这些代码有的程序已经给了出来,多的是声明了两个全局变量,num1和temp。num1用来存储第一个用户输入的数字,temp为存储计算的方式,执行加法运算还是减法运算等等。

public partial class Form1 : Form

{

public double num1

public int temp = 0//记录存储计算方式

public Form1()

{

InitializeComponent()

}

3、创建小数点键和数字键的方法

两个方法

小数点键方法(这里有几种情况,当直接点击“.”键时,则需要文本显示为0. ,若文本前边已经有数字,点击“.”时,则需要数字加上小数点,若重复重复点击“.”则直接提示无须重新输入小数点)

这里button14为小数点按钮,当然大家可以自己设置下button的name方便代码编辑

private void button14_Click(object sender, EventArgs e)

{

//小数点按键,初始为空,直接按 . 键则显示为0.多少

if (textBox1.Text == "")

{

textBox1.Text = "0."

}

//如果再次输入.则返回都输入的字符后边并提示信息

else if (textBox1.Text.IndexOf(".") >= 0)

{

MessageBox.Show("已经输入小数点,无须再次输入", "提示")

}

else

//前边有数字时,则直接在后边加上.

textBox1.Text = textBox1.Text + "."

}

数字键方法(这个方法简单,就不说了)

public void inputNum(int myNum)

{

//当输入的数字不是0时,为1到9

if (myNum !=0)

{

textBox1.Text = textBox1.Text + myNum

}

//输入数字为0

else

textBox1.Text = "0"

}

4、数字键调用那个方法 注:这里的n就是0到9的数字,这九个button代码都差不多,都调用inputNum方法就可以,把数字作为参数传进去。

private void button1_Click(object sender, EventArgs e)

{

inputNum(n)

}

5、编写复位键和退格键的方法

//复位键

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

//退格键,文本框里字符的长度大于1时,点击此键,则删除一个字符,即长度减一

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

6、编写加减乘除、开方、平方、三次方、log/In的方法。

当点击这几个键时,相当于用num1把用户输入的第一个数字存到这个变量里。下面举例加法和减法,其他的都类似,只不过temp取值不一样。

//加法计算 private void button10_Click(object sender, EventArgs e) { temp = 1 num1 = Convert.ToDouble(textBox1.Text)//当点击+号时,存储第一个数字 textBox1.Text = ""//随后让文本框归空 } //减法计算 private void button11_Click(object sender, EventArgs e) { temp = 2 num1 = Convert.ToDouble(textBox1.Text)//当点击-号时,存储第一个数字 textBox1.Text = ""//随后让文本框归空 }...........................................其他方法类似

7、编写=号键的方法

这里没有定义第二个变量存储用户输入的数字,因为num1已经有了,若用户执行加减乘除这样两个数的运算,第二数直接由textbox里转成double类型直接用,若用户执行开方、平方、log/In这种单个数运算,则不要第二数的输入,所以这里减少了存储第二个数的麻烦,当然也可以定义两个变量。

当用户点击“=“时执行此方法

private void button21_Click(object sender, EventArgs e) { switch (temp) {

//加法运算case 1: textBox1.Text = (num1 + Convert.ToDouble(textBox1.Text)).ToString() break

//减法运算case 2: textBox1.Text = (num1 - Convert.ToDouble(textBox1.Text)).ToString() break

//乘法运算case 3: textBox1.Text = (num1 * Convert.ToDouble(textBox1.Text)).ToString() break

//除法运算,讨论分母为零的情况case 4: if (Convert.ToDouble(textBox1.Text) == 0) { MessageBox.Show("除数不能为零", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning) textBox1.Clear() } else textBox1.Text = (num1 / Convert.ToDouble(textBox1.Text)).ToString() break//log运算case 5: textBox1.Text = Math.Log(num1).ToString() break//In运算case 6: textBox1.Text = Math.Log10(num1).ToString() break//开方运算case 7: textBox1.Text = Math.Sqrt(num1).ToString() break//平方运算case 8: textBox1.Text =(num1 * num1).ToString() break

//三次方运算case 9: textBox1.Text = Math.Pow(num1, 3).ToString() break } }

扩展资料:

C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

小编精心整理的这篇内容:如何用C#编写简易计算器,如果你看到此处请一定要收藏哦!

阅读剩余内容
网友评论
相关阅读
小编推荐