《计算器程序设计》课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
case 3: textBox1.Text = (num1 * num2).ToString(); break;
case 4: if (num2 == 0)
{ MessageBox.Show("分母不能为“0”"); break; }
else
{textBox1.Text = (num1 / num2).ToString(); break;
8
Button9
Text
9
Button10
Text
C
Button11
Text
0
Button12
Text
.
Button13
Text
+
Button14
Text
-
Button15
Text
*
Button16
Text
/
Button17
Text
=
Button18
Text

TextBox1
Readonly
Ture
TextAlign
Right
3.功能实现
要实现需求分析中软件各功能,需要设计一些事件的功能代码。利用所需的代码,编写一些计算器的功能,使计算器更加灵活易懂。
3.1计算数字现实的功能代码
以数字“1”为例:(其余的数字同样如此)
当文本框显示为“0”,或flag(按过运算符号按钮后flag=1)后数字会替换当前数字,否则追加
if (yscs >= 2)
{ num2 = Convert.ToDouble(textBox1.Text);//保存第二次运算符前的那个数
switch (ysf)
{
case 1: textBox1.Text = (num1 + num2).ToString(); break;
case 2: textBox1.Text = (num1 - num2).ToString(); break;
private void button18_Click(object sender, EventArgs e) //退格
{
string old = textBox1.Text;
textBox1.Text = old.Substring(0, old.Length - 1);//字符串长度每次减一个
case "6": button6_Click(sender, e); break;
case "7": button7_Click(sender, e); break;
case "8": button8_Click(sender, e); break;
case "9": button9_Click(sender, e); break;
case "*": button15_Click(sender, e); break;
case "/": button16_Click(sender, e); break;
case "=": button17_Click(sender, e); break;
case "\b": button18_Click(sender, e); break; //退格键
{
if (textBox1.Text.IndexOf(".") == -1) //得到的是这个字符串中字符“.”第一次出现的位置,如果没出现的话,得到的是-1,而且字符串的第一个位置是0。
{ if (textBox1.Text == "0" || flag == 1) //替换
{
textBox1.Text = "0.";
关键词:计算器;功能;界面;窗口;事件。
1.需求分析
通过对微软附件计算器软件进行调研、分析,研究,使用。我们了解到了作为一个计算器所应该有的一些简单功能和界面的排版,我们知道了怎样使编写的计算器程序向微软附件计算器靠拢。
1.1计算器应用软件的功能分析
计算器软件的主要功能是:
1)可以显示计算数字
2)可以进行加减乘除四则运算
flag = 0;
}
else
{
textBox1.Text = textBox1.Text + "."; //追加
} }
button17.Focus();}
3.3连续运算的功能代码
以“+”号键为例:(同样如此,-,*,\,只需改变运算符ysf的取值)
用yscs(运算次数)变量判断运算次数,次数为一次时,保存变量。次数为两次以上时,保存变量之后执行等号运算,并且连续运算,继续保存为第一个数,继续进行四则运算。
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e) //锁定到键盘上的数字和运算符
{ switch (e.KeyChar.ToString())
{ case "1": button1_Click(sender, e); break;
表2-1 属性设置
控件名
属性

Form1
Maximizebox
FALSE
事件
Keypress
Button1
Text
1
Button1
Text
1
Button2
Text
2
Button3
Text
3
Button4
Text
4
Button5
Text
5
Button6
Text
6
Button7
Text
7
Button8
Text
} } }
ysf = 1;//(运算符)
num1 = Convert.ToDouble(textBox1.Text);//把第一个数与第二个数求和在保存到第一个数
button17.Focus();//(聚焦到等号按钮)}
3.4实现键盘控制的功能代码
Kepress事件按钮,功能是锁定键盘上,当你按下键盘上的按钮时就会被追踪记录。键盘控制事件keypress绑定在form上,keypreview必须为TRUE。将键盘敲击的char型转为string型,使用switch语句判断哪个键控制哪个按钮
case "2": button2_Click(sender, e); break;
case "3": button3_Click(sender, e); break;
case "4": button4_Click(sender, e); break;
case "5": button5_Click(sender, e); break;
3)可以实现键盘操控的功能
4)可以进行清零运算
5)可以进行退格键运算
6)可以进行连续计算
1.2计算器软件的功能图
根据以上需求分析,计算器软件功能如图1-1所示。
2.界面设计
计算器软件界面设计采用一个窗口(form)、按钮控件和一个文本框控件组成,完成如下图2-1的计算器界面
界面中控件的属性设置如下表2-1
case "\r": button17_Click(sender, e); break; //回车键
} if (e.KeyChar == (char)Keys.Escape)
{ button10_Click(sender, e); } //键盘上的ESC清零键 }
3.5删除的功能代码
使用退格键功能每次字符长度就减少一个,当字符串长度减为0之后,文本框里显示为初始值0。
成都理工大学
C#计算器
课程设计报告
(计算机科学与技术学院)
2013-2014学年度第二学期
计算器的开发与应用
摘要:计算器的产生和发展是建立在电子计算机基础之上的,现代社会很需要一个健全、高效率的计算器。为了提高自己的实践能力和将来开发一个更实用更全能更智能的计算器,以设计与实现计算器为课题。此次设计的计算器应用软件从visual studio 2012编程环境中开发,是一个简单的窗体应用程序,实现简单的计算器功能。以微软自带的计算器为模板,设计了简单易懂的计算器。这款计算器不仅实现了简单的四则运算的功能,还能连续运算,实现小键盘的操作,光标的转移。虽然这个简单的计算器只能实现这些功能,但是具有简洁的图文外观,即时准确的获得所需要要计算的结果,充分降低了数字计算器的难度和所需要的时间,对人们生活和学习具有有很大的帮助。
private void button1_Click(object sender, EventArgs e)
{ห้องสมุดไป่ตู้
if (textBox1.Text == "0" || flag == 1) //替换
{
textBox1.Text = "1";
flag = 0;
}
else //追加
{textBox1.Text = textBox1.Text + "1"; }
private void button13_Click(object sender, EventArgs e) //加法运算
{flag = 1;
dhcs = 0;//(等号次数)
yscs++;// (运算次数)
if (yscs == 1)
{ num1 = Convert.ToDouble(textBox1.Text);//保存输入进去的第一个数}
case "0": button11_Click(sender, e); break;
case ".": button12_Click(sender, e); break;
case "+": button13_Click(sender, e); break;
case "-": button14_Click(sender, e); break;
private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true;//此语句可使keypress语句在窗口使用
textBox1.Text = "0"; //初始化文本框
button13.Focus(); //转移光标
button17.Focus();//焦距定于等号键,可使enter键用于等号运
}
3.2小数点设置的功能代码
文本框里最多显示一个小数点,利用IndexOf类来查找代码中小数点出现的次数,且当文本框显示为“0”,或flag(按过运算符号按钮后flag=1)后会用“0.”替换当前数字,否则追加
private void button12_Click(object sender, EventArgs e)
相关文档
最新文档