如何用C 编写简易计算器(c语言编写一个简单的计算器程序)

如何用C 编写简易计算器(c语言编写一个简单的计算器程序)

首页维修大全综合更新时间:2024-06-15 13:09:31

如何用C 编写简易计算器

用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网络框架的主角。

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.