C#计算器程序设计.doc_第1页
C#计算器程序设计.doc_第2页
C#计算器程序设计.doc_第3页
C#计算器程序设计.doc_第4页
C#计算器程序设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#计算器程序设计1)创建项目单击文件-新建-项目,弹出如下对话框模板中选择“windows窗体应用程序”-名称中输入“jsq”-位置单击“留了”-选择“J:新建文件夹”-单击确定按钮2)计算器界面设计向Form1中添加1个TextBox控件,1个Label控件和27个Button控件,控件布局如图所示修改27个Button控件的Text属性,结果如图Label控件的BorderStyle属性选择“Fixed3D”-Text属性设置为“ ”-Form1的Text属性设置为“计算器”-Backspace控件、CE控件等的ForeColor属性选择“Red”,结果如图:3)显示窗口数据对齐方式设置TextBox控件的TextAlign属性选择“Right”;4)数字键程序设计双击”0”按钮控件-编写代码如下: if (textBox1.Text != 0)/不能连续多个0出现 textBox1.Text += 0;/添加“0”数字 双击”1”按钮控件-编写代码如下: if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 1; else textBox1.Text += 1;/添加“1”数字 双击”2”按钮控件-编写代码如下:if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 2; else textBox1.Text += 2;/添加“2”数字 双击”3”按钮控件-编写代码如下:if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 3; else textBox1.Text += 3;/添加“3”数字 双击”4”按钮控件-编写代码如下:if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 4; else textBox1.Text += 4;/添加“4”数字 双击”5”按钮控件-编写代码如下:if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 5; else textBox1.Text += 5;/添加“5”数字 双击”6”按钮控件-编写代码如下:if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 6; else textBox1.Text += 6;/添加“6”数字 双击”7”按钮控件-编写代码如下:if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 7; else textBox1.Text += 7;/添加“7”数字 双击”8”按钮控件-编写代码如下:if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 8; else textBox1.Text += 8;/添加“8”数字 双击”9”按钮控件-编写代码如下:if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 9; else textBox1.Text += 9;/添加“9”数字 5)数据窗口数字的输入数据窗口用的是TextBox控件,要求只能输入数字,不能输入其他字符,也不能粘贴其他字符等。屏蔽非数字键选中TextBox1控件-属性窗口中选中事件标签-双击“keypress”事件,添加如下代码:if (int)e.KeyChar 0)/如果数据窗口中的数据大于0则添加负号 textBox1.Text = - + textBox1.Text;/添加负号 else if (Convert.ToDouble(textBox1.Text) 0)/如果数据窗口中的数据小于0则去掉负号 textBox1.Text=textBox1.Text.Substring(1);/取子串 /如果数据窗口中的数据等于0则不处理如图所示:7)“.”号功能实现小数点的输入只能输入一次,不能输入两次,故要用一个标记“xiaoshudian”判读是否已经输入过了小数点,如果输入过了就不再输入了。在前面的“private void button12_Click(object sender, EventArgs e)”函数后面编写代码如下:bool xiaoshudian = true;/设置小数点是否能用的标记,等于true为可以用,false为不能用如图所示:双击” .”按钮控件-编写代码如下:if (xiaoshudian)/小数点可以,则添加小数点 if (textBox1.Text != )/如果数据窗口不为空 textBox1.Text += .; else/如果数据窗口为空 textBox1.Text = 0.; xiaoshudian = false;/设置小数点不可用 如图所示:8)“+”号功能实现当第一次单击“+”号时,只有一个操作数,不能进行运算,而当第二次或第三次.单击“+”号时,前面已经保存了一个操作数,故此时可以把保存的操作数与当前操作数相加在保存做为第一个操作数,故要用一个标记“diyici”判读是否是第一次单击操作数,如果输入过了就不再输入了。同时,还要用一个“caozuosh1”来保存第一个操作数。在前面的“private void button16_Click(object sender, EventArgs e)”函数后面编写代码如下:bool diyici = true;/判断是否第一次单击运算符号,是则为true,否则为falsedouble caozuoshu1 = 0;/定义并初始化第一个操作数。如图所示:双击” +”按钮控件-编写代码如下:if (diyici) caozuoshu1 = Convert.ToDouble(textBox1.Text);/置操作数1 diyici = false;/置运算符为非第一次单击 else caozuoshu1 += Convert.ToDouble(textBox1.Text);/执行加功能 textBox1.Text = caozuoshu1.ToString();/显示结果 9)修改数字键功能编译运行以上程序,当我们单击“+”号后,重新输入数据时,并不能清除数据窗口中保存的数据,而是接着显示我们数据的数据,为此,必须设置一个标记“qingkong”,用于表示当前点击了运算符或等号,下次输入数据时是新数据。双击“0”键,在函数“private void button8_Click(object sender, EventArgs e)”上面添加一句:bool qingkong = false;/定义并初始化是否清空数据窗口,true表示要清空,false表示不清空如图所示:双击“0”键,修改函数中的语句为: if(qingkong) textBox1.Text = 0; else if (textBox1.Text != 0)/不能连续多个0出现 textBox1.Text += 0;/添加“0”数字 双击“1”键,修改函数中的语句为: if (qingkong) qingkong = false;/置不能清空 textBox1.Text = 1; else if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 1; else textBox1.Text += 1;/添加“1”数字 双击“2”键,修改函数中的语句为: if (qingkong) qingkong = false;/置不能清空 textBox1.Text = 2; else if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 2; else textBox1.Text += 2;/添加“2”数字 双击“3”键,修改函数中的语句为: if (qingkong) qingkong = false;/置不能清空 textBox1.Text = 3; else if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 3; else textBox1.Text += 3;/添加“3”数字 双击“4”键,修改函数中的语句为:if (qingkong) qingkong = false;/置不能清空 textBox1.Text = 4; else if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 4; else textBox1.Text += 4;/添加“4”数字 双击“5”键,修改函数中的语句为:if (qingkong) qingkong = false;/置不能清空 textBox1.Text = 5; else if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 5; else textBox1.Text += 5;/添加“5”数字 双击“6”键,修改函数中的语句为:if (qingkong) qingkong = false;/置不能清空 textBox1.Text = 6; else if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 6; else textBox1.Text += 6;/添加“6”数字 双击“7”键,修改函数中的语句为:if (qingkong) qingkong = false;/置不能清空 textBox1.Text = 7; else if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 7; else textBox1.Text += 7;/添加“7”数字 双击“8”键,修改函数中的语句为:if (qingkong) qingkong = false;/置不能清空 textBox1.Text = 8; else if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 8; else textBox1.Text += 8;/添加“8”数字 双击“9”键,修改函数中的语句为:if (qingkong) qingkong = false;/置不能清空 textBox1.Text = 9; else if (textBox1.Text = 0)/数字前面不能出现多个0 textBox1.Text = 9; else textBox1.Text += 9;/添加“9”数字 10)修改“+”号功能键双击“+”键,修改函数中的语句为:if (diyici) caozuoshu1 = Convert.ToDouble(textBox1.Text);/置操作数1 diyici = false;/置运算符为非第一次单击 else caozuoshu1 += Convert.ToDouble(textBox1.Text);/执行加功能 textBox1.Text = caozuoshu1.ToString();/显示结果 qingkong = true;/下次输入数据时要先清空数据窗口11) “-”号功能键实现双击“-”键,添加函数中的语句为:if (diyici) caozuoshu1 = Convert.ToDouble(textBox1.Text);/置操作数1 diyici = false;/置运算符为非第一次单击 else caozuoshu1 -= Convert.ToDouble(textBox1.Text);/执行减功能 textBox1.Text = caozuoshu1.ToString();/显示结果 qingkong = true;/下次输入数据时要先清空数据窗口12) “*”号功能键实现双击“*”键,添加函数中的语句为:if (diyici) caozuoshu1 = Convert.ToDouble(textBox1.Text);/置操作数1 diyici = false;/置运算符为非第一次单击 else caozuoshu1 *= Convert.ToDouble(textBox1.Text);/执行乘功能 textBox1.Text = caozuoshu1.ToString();/显示结果 qingkong = true;/下次输入数据时要先清空数据窗口13) “/”号功能键实现除号要考虑当除数为零时出错问题,此时应该能显示“除数不能为零。”几个字。同时以后除了”C”键可用之外,其它任何键都变得不可用。为此,要用一个变量”yichu”表示出现了一出情况,且当”yichu=true”时除了”C”键可用之外,其它任何键都变得不可用。双击“/”键。当前文件的最前面添加如下一句引用:using System.Runtime.InteropServices;函数前面添加2句:bool yichu = false;/定义并初始化溢出标志 DllImport(kernel32.dll) public static extern bool Beep(int freq,int duration);/调用动态链接库如图所示:函数中添加如下语句为:if (yichu)/如果出现了溢出现象 Beep(800,300); /发出声音 else if (diyici) caozuoshu1 = Convert.ToDouble(textBox1.Text);/置操作数1 diyici = false;/置运算符为非第一次单击 else if (Convert.ToD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论