




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简易计算器C#界面设计与代码简易计算器是用vs2008编译的c# 程序,仅供参考,存在不足之处,望大家见谅!windows界面设计using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 简易计算器public partial class Form1 : Formpublic Form1()InitializeComponent();private int opMain = 0; / 运算类型,其中1(加法) 2(减法) 3(乘法) 4(除法) private double mainNum1 = 0; / 存储第一个数 private double mainNum2 = 0; / 存储第二个数 private bool isSecond = false; / 用来判断输入的是第一个还是第二个数 private bool isDone = false; / 用来判断是否按了等于按钮 private bool isDecimal = false; / 用来判断是否有小数 private bool isNokeydown = false;/ 用来判断是否没输入第二个数而按了“=“号键 private bool isKeyupclear = true;/用来判断是否按了clear键,程序开始前默认按了; public void setText(string textest) /设置文本框的值 if (textest.Equals(“clear“)textBox1.Text = “0.“;isSecond = false;isDone = false;isDecimal = false;isKeyupclear = true;elseif (isSecond)textBox1.Text = textest;isSecond = false;isDecimal = false;elseif (isDone)textBox1.Text = textest;isDone = false;elseif (isKeyupclear) /对是否按下clear键的判断 textBox1.Text = textest;isKeyupclear = false;elsetextBox1.Text += textest;btnEqual.Select(); /设置“=“号的焦点 public void Calc(double num1, double num2, int op)double answer = 0;switch (op) /判断所进行的运算 case 1:answer = num1 + num2;break;case 2:answer = num1 - num2;break;case 3:answer = num1 * num2;break;case 4:answer = num1 / num2;break;case 5:answer = num1 % num2;break;setText(answer.ToString(); /显示结果 /切换正负 private void changeSign()double storNum;if (textBox1.Text.Length 0)storNum = double.Parse(textBox1.Text);storNum *= -1;textBox1.Text = storNum.ToString();btnEqual.Select(); /设置“=“号的焦点 /执行运算 private void doEquals()if (isNokeydown) /判断已经输入第二个数后按了“=“号键 mainNum2 = double.Parse(textBox1.Text);setText(“clear“);Calc(mainNum1, mainNum2, opMain);isDone = true;isNokeydown = false;/设置运算类型 private void setOperator(int operation)if (textBox1.Text.Length 0)opMain = operation;mainNum1 = double.Parse(textBox1.Text);isSecond = true;isDone = false;isNokeydown = true;btnEqual.Select(); /设置“=“号的焦点 /设置小数点 private void setDecimal()if (!isDecimal)setText(“.“);isDecimal = true;btnEqual.Select(); /设置“=“号的焦点 private void btn1_Click(object sender, EventArgs e)setText(“1“);private void btn2_Click(object sender, EventArgs e)setText(“2“);private void btn3_Click(object sender, EventArgs e)setText(“3“);private void btn4_Click(object sender, EventArgs e)setText(“4“);private void btn5_Click(object sender, EventArgs e)setText(“5“);private void btn6_Click(object sender, EventArgs e)setText(“6“);private void btn7_Click(object sender, EventArgs e)setText(“7“);private void btn8_Click(object sender, EventArgs e)setText(“8“);private void btn9_Click(object sender, EventArgs e)setText(“9“);private void btn0_Click(object sender, EventArgs e)setText(“0“);private void btnPoint_Click(object sender, EventArgs e)setDecimal();private void btnSubtract_Click(object sender, EventArgs e)changeSign(); private void btnEqual_Click(object sender, EventArgs e)doEquals(); private void btnAdd_Click(object sender, EventArgs e)setOperator(1); private void btnSub_Click(object sender, EventArgs e)setOperator(2); private void btnMulti_Click(object sender, EventArgs e)setOperator(3); private void btnDivide_Click(object sender, EventArgs e)setOperator(4); private void btnC_Click(object sender, EventArgs e)isSecond = false;setText(“clear“); private void btnSqrt_Click(object sender, EventArgs e)doSquart();private void btnBackspace_Click(object sender, EventArgs e)string old = textBox1.Text;if (old.Length 1 elsetextBox1.Text = “0.“;private void doSquart()double storNum;storNum = double.Parse(textBox1.Text);if (storNum 0)storNum = Math.Sqrt(storNum);textBox1.Text = storNum.ToString();elsetextBox1.Text = “负数不能开平方。“;btnEqual.Select(); /设置“=“号的焦点 private void btn_Click(object sender, EventArgs e)setText(“3.1415926“);private void btnPercentage_Click(object sender, EventArgs e)setOperator(5);private void btnReciprocal_Click(object sender, EventArgs e)doreciprocal();private void doreciprocal()double storNum;storNum = double.Parse(textBox1.Text);if (storNum != 0)storNum = 1 / storNum;textBox1.Text = storNum.ToString();els
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文体分析的基本概念试题及答案
- 2025年社会人文科学研究服务项目建议书
- 文科类学生试题及答案
- 临时维修用工合同样本
- 智慧养老健康服务方案
- 学生健康成长与全面发展行动计划
- 保证合同样本格式
- 2025年血容量扩充剂项目建议书
- 买卖农场合同样本
- 2025年食品成型机械项目合作计划书
- VDX数字化钻井参数仪软件使用说明书
- 产品报价单(5篇)
- 公司车辆管理制度
- 民族相处有礼仪ppt
- 保健食品安全管理制度69094
- Python程序设计教程PPT完整全套教学课件
- 部编人教版二年级道德与法治下册同步练习(全册)
- 第九讲 全面依法治国PPT习概论2023优化版教学课件
- 7.4.2 超几何分布 课件(26张)
- 毕业设计(论文)-ZJ-600型罗茨真空泵设计
- 2022-2023学年湖北省武汉市重点中学5G联合体高一(下)期中英语试卷及参考答案
评论
0/150
提交评论