计算器程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
制作简单计算器
要求和目的
●要求:
设计一个的计算器,具有简单的运算功能,能进行两个操作数的“+”、“-”、“*”、“/”
运算。计算器的运行效果如图
●目的:
掌握Label控件的使用方法;
掌握ComboBox控件的使用方法;
掌握Button控件的使用方法;
掌握TextBox控件的使用方法。
●设计步骤
新建一个Visual C# Windows应用程序,依次在界面上拖入五个“Label控件”,分别用于“计算器”、“操作数1”、“操作数2”、“运算符”和“结果”,并设置合适的字体及位置。
拖入三个“TextBox控件”,分别用于“接收操作数”和“显示结果”,其中,显示结果的“TextBox控件”的“ReadOnly属性”设置为“True”,即该文本框为只读。最后拖入一个“Button控件”,用于“计算”功能。计算器界面设计好之后,如图所示。
相关背景知识:
ComboBox 控件
ComboBox 控件又称组合框,在工具箱中的图标为。默认情况下,组合框分两个部分显示:顶部是一个允许输入文本的文本框,下面的列表框则显示列表项。可以认为ComboBox就是文本框与列表框的组合,与文本框和列表框的功能基本一致。dropdownstyle属性
●Simple 始终显示列表
●Dropdown 文本部分可编辑
●Dropdownlist 文本部分不可编辑
Items 属性
若要在combobox控件中添加或删除项,可以在设计器中使用Items属性向列表添加项。
SelectedIndex 属性
编辑框所选列表条目的索引号,列表条目索引号从0开始,如果编辑框未从列表中选择条目,该值为-1
SelectedItem 属性
所选择条目的内容,即下拉列表中选中的字符串,如一个也没选,该值为空。获取或设置选定项。它返回项本身,通常是一个字符串值。
编写代码
1.要求和目的
要求:
编写一段代码,用于实现计算器的功能。在“操作数”填写上两个数字,并选择“运算符”,单击“计算”按钮之后,可以在“结果文本框”中显示计算结果。
目的:
掌握数据类型转换的方法;
掌握条件判断语句的编写方法;
掌握文本框控件属性的设置方法。
●2.设计步骤
(1)双击“计算(Button)”按钮,进入该按钮的单击事件,编写代码。
(2)在编写好代码之后,需要对代码进行测试,在Visual Studio 2010编程环境中,选择菜单“调试”的二级菜单项“启动调试”,将程序运行起来,并进行测试。
编写通用计算器
界面设计如下图:
通用计算器的设计界面如图所示。通用计算器界面中有一个显示操作数和结果的文本框,数字键和操作符键。
编写通用计算器代码
1.首先定义窗体的公共变量。
代码:定义窗体的公共变量
string str, opp, opp1;
double num1, num2, result;
2.编写“数字键”的单击事件,数字键“0-9”的事件都是一个数字键0-9键:(以数字1键的click事件举例,代码如下)
{
if (textBox1.Text != "0")
textBox1.Text = textBox1.Text + "1";
else
textBox1.Text = "1";
}
加、减、乘、除
{
num1 =Convert.ToDouble(textBox1.Text);
textBox1.Text = "";
opp = "+";
}
等号键:
{
if (opp1 != "=")
{
num2 = double.Parse(textBox1.Text);
}
switch (opp)
{
case"+": num1 = num1 + num2;
textBox1.Text = "" + num1.ToString();
break;
case"-": num1 = num1 - num2;
textBox1.Text = "" + num1.ToString();
break;
case"*": num1 = num1 * num2;
textBox1.Text = "" + num1.ToString();
break;
case"/": if (num2 == 0)
{
textBox1.Text = "除数不能为零";
}
else
{
num1 = num1 / num2;
textBox1.Text = "" + num1.ToString();
}
break;
}
}
+/-键:
{
num1 = double.Parse(textBox1.Text);
result = num1 * (-1);
textBox1.Text = result.ToString();
}
小数点键:
{
str = textBox1.Text;
int index = str.IndexOf(".");
if (index == -1) //课本85
{
textBox1.Text = str + ".";
}
}
退格键:
{
if (textBox1.Text != "")
{
str = textBox1.Text;
str = str.Substring(0, str.Length - 1); //课本85 textBox1.Text = str;
}
}
CE键:
{
textBox1.Text = "0";
}
C键:
{
result = num1 = num2 = 0;
str = null;
opp = null;
textBox1.Text = "0";
}
Sqrt键:
{
num1 = double.Parse(textBox1.Text);
result = Math.Sqrt(num1);
textBox1.Text = result.ToString();
}
%键:
{