C编写简易计算器附源代码超详细_第1页
C编写简易计算器附源代码超详细_第2页
C编写简易计算器附源代码超详细_第3页
C编写简易计算器附源代码超详细_第4页
C编写简易计算器附源代码超详细_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、超详细因为计算器设计的控件太多,不便使用控制台应用程序完成,所以这里使用Windows窗体应用程序,并命名为Calc,如下图所示:向窗体中拖入需要的控件,如下图所示:(完成效果图)结果显示区(作者博客左边的文本框)是 TextBox控件,并修改其 name为txtShow,按键09 为 Button 控件,并将其 name分别修改为 btn_O、btn_1、btn_2、btn_3、btn_4、btn_5、 btn_6、btn_7、btn_8、btn_9;按键【负数】的 name值修改为 btn_sign,按键【.】的name 修改为 btn_dot,按键【+ - * / 】的 name 值分别

2、修改为 btn_add、btn_sub、btn_mul、btn_div, 按键【=】的name值修改为btn_equ,按键【倒数】的name值修改为btn_rev,按键【平方】 的name值修改为btn_sqr,按键【开方】的name值修改为btn_sqrt。右边的计算器图片空间是PictureBox ,作者博客控件是LinkLabel ,可以不添加,以上所有控件均可按照需求添加,只保留自 己需要的按钮控件和textbox控件即可。三、代码部分(含解释),采用switch多分支语句编写using System;using ;using ;using ;usingusing ;namespace

3、 Calc10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10.5F10 .5F;=false+=new ;/ / btn_sqr /=new " 黑体 ", 10.5F,( byte )(134);=new 72);="btn_sqr"=new 31);= 19;="平方 "=false ;+=new ;/ btn_rev/= new " 黑体 ", 10.5F, ( byte )(134);= new

4、 108);="btn_rev" ;=new 31);= 20;=" 倒数 "=false ;+= new ;/ pictureBox1/= ("" );=new 6);="pictureBox1" ;=new 168);= 21;=false ;/ linkLabel1/=true ;=new 13);="linkLabel1" ;=new 12);= 22;=true ;=" 作者博客 "+= newLinkLabelLinkClickedEventHandler/ /

5、CalcForm/new 14); new 181);false ; "CalcForm" ;"C#编写计算器+=new ;(false );();#endregionpublicconstintNULL = 0;/ 定义操作码publicconstintADD = 1;publicconstintSUB = 2;publicconstintMUL = 3;publicconstintDIV = 4;publicconstintSQR = 5;publicconstintSQRT = 6;publicconstintNODOT = 0; / 定义是否点击了小数点p

6、ublicconstintHASDOT = 1;privatedouble res = 0;/记录结果数privatedouble tmp = 0;/当前输入的操作数privateintopt = NULL;/记录操作码privateintdot = NODOT;/记录是否点击了小数点privateintnum = 0;/记录输入操作数的个数privateintdotnum = 0;/记录小数点部分的个数/ <summary>/ 应用程序的主入口点。/ </summary> STAThreadstatic void Main()( new CalcForm ();/ &

7、lt;summary>/ 当点击一个数字按钮的时候,需要进行判断,如果没有点击 / 小数点,那么就把原来的数值扩大倍后再加上当前的数值, / 如果点击了小数点,那么就将当前的数值除以一个权数,再 / 加上原来的数值,得到新的数值。/ </summary>/ <param name="sender"></param>/ <param name="e"></param>private void btn_0_Click( object sender, e) Button btnTmp;doubl

8、e i;btnTmp = sender as Sy Button ;if (btnTmp != null )if (dot = NODOT)/ 没有点击小数点i = double tmp = tmp * 10 + i;= ();else/ 点击了小数点 dotnum+;/ 生成小数部分的新的数值i = (10,dotnum); tmp = tmp + i;= ();private void btn_equ_Click( object sender, e) / 生成结果if (num = 0)res = 0; tmp = 0;= (); return ; switch (opt)/ 加法 cas

9、e ADD:res = res + tmp; break ;/ 减法case SUB:res = res - tmp;break ;/ 乘法case MUL:res = res * tmp;break ;/ 除法case DIV:res = res / tmp;break ;/ 平方case SQR:res = tmp * tmp;break ;/ 平方根case SQRT:res = break ; default :return ;= ();opt = NULL;res = 0;num = 0;private void btn_div_Click( object sender, e)/ 除

10、法运算opt = DIV;if (num != 0)if (tmp != 0)res = res / tmp;elseres = tmp;num+;tmp = 0;= ();private void btn_mul_Click( object sender, e)/ 乘法运算 opt = MUL;if (num != 0)res = res * tmp;elseres = tmp;num+;tmp = 0;= ();private void btn_sub_Click( object/ 减法运算opt = SUB;if (num != 0)res = res - tmp;elseres = t

11、mp;num+;tmp = 0;= ();private void btn_add_Click( object/ 加法运算 opt = ADD;if (num != 0)res = res + tmp;elseres = tmp;num+;tmp = 0;= ();private void btn_sqrt_Click( object / 开方运算if (tmp > 0)tmp = (tmp);= ();private void btn_sqr_Click( objectsender, e)sender, e)sender, e)sender, e)/平方运算tmp = tmp * tm

12、p;=();private void btn_rev_Click(object sender, e)/求倒数运算tmp = 1 / tmp;=();private void btn_dot_Click(object sender, e)/点击了小数点dot = HASDOT;dotnum = 0;private void btn_sign_Click(object sender, e)/点击了符号运算tmp = -tmp;=();privatevoid CalcForm_Load(object sender, EventArgs e)privatevoid linkLabel1_LinkClicked( object sender, LinkLabelLinkClickedEven

温馨提示

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

评论

0/150

提交评论