目的:

生成一个一个简单的计算器程序。能够进行简单的二元计算,一个操作符,两个操作数的运算。

思路:

首先要生成一系列的成员变量,用来记录当前操作为第几操作数第几操作符,记录操作数和操作符信息。
然后每一次操作button就将button的值存入对应的成员变量,然后最后在等于操作的时候,将记录操作数和操作符的变量进行计算。

界面

如图:

如下控件:

       private System.Windows.Forms.GroupBox groupBox1;private System.Windows.Forms.Button button18;private System.Windows.Forms.Button button12;private System.Windows.Forms.Button button11;private System.Windows.Forms.Button button9;private System.Windows.Forms.Button button8;private System.Windows.Forms.Button button7;private System.Windows.Forms.Button button6;private System.Windows.Forms.Button button5;private System.Windows.Forms.Button button4;private System.Windows.Forms.Button button3;private System.Windows.Forms.Button button2;private System.Windows.Forms.Button button1;private System.Windows.Forms.GroupBox groupBox2;private System.Windows.Forms.Button button10;private System.Windows.Forms.Button button17;private System.Windows.Forms.Button button16;private System.Windows.Forms.Button button15;private System.Windows.Forms.Button button14;private System.Windows.Forms.Button button13;private System.Windows.Forms.TextBox textBox1;private System.Windows.Forms.GroupBox groupBox3;private System.Windows.Forms.Label label2;private System.Windows.Forms.Label label1;private System.Windows.Forms.TextBox textBox2;

开始:

首先

生成五个成员变量:

        /// <summary>/// 用来存第一操作数,默认为零/// </summary>string num1;/// <summary>/// 用来存第二操作数/// </summary>string num2;/// <summary>/// 判断为第几操作数/// </summary>bool check = true;/// <summary>/// 爆low计算器只能计算两操作数,用来判断/// </summary>int count = 0;/// <summary>/// 记录操作符/// </summary>string str = "";

数字键的点击操作
每次往操作数变量中插值是对check进行一次判断看当前插入的为第几操作数
check == true为第一操作数
check== false为第二操作数

         if (check == true){Button b = (Button)sender;textBox1.Text += b.Text;num1 += b.Text;}else{Button b = (Button)sender;textBox1.Text += b.Text;num2 += b.Text;}

操作符按钮点击事件(+ - * /)
以下为+的事件;

            Button b = (Button)sender;textBox1.Text += b.Text;str = "+";//标识操作符上限count += 1;//标识第二操作数check = false;

等于事件
在等于事件中我们对我们输入的数进行简单的判断

  • 如果count大于1则操作数大于2;
  • 如果第一或者第二操作数为空则报错
  • 如果第二操作数为0,报错
    否则将num1和num2中的值转换为float,再根据str进行swith进行运算
            check = true;if (count > 1) { MessageBox.Show("高级计算器,只能计算俩个数!", "罢工!"); return; }double Num1 = 0, Num2 = 0,Num3 = 0;if (num1 == null || num2 == null) { MessageBox.Show("分母或分子为空!", "罢工!"); return; }else{Num1 = double.Parse(num1);Num2 = double.Parse(num2);}if (str == "/" && Num2 == 0) { MessageBox.Show("分母为零!", "罢工!");return; }switch (str){case "+":Num3 = Num1 + Num2;break;case "-":Num3 = Num1 - Num2;break;case "*":Num3 = Num1 * Num2;break;case "/":Num3 = Num1 / Num2;break;}textBox2.Text = Num3.ToString();

清除操作
就是把成员变量初始化

            textBox1.Text = "";textBox2.Text = "";num1 = null;num2 = null;check = true;count = 0;

最后

查看执行后的效果:

C#winform 实现简单的计算器相关推荐

  1. winform实现简单的计算器V1版本

    最近在整winform程序,就做了些简单的案例出来,比如说下面的这个计算器: 这个的实现方式还是比较简单的. 首先按照图中的界面从工具箱中拉出来一个窗体,其中的显示结果"86"&q ...

  2. android实现计算器功能吗,利用Android实现一个简单的计算器功能

    利用Android实现一个简单的计算器功能 发布时间:2020-11-20 16:25:01 来源:亿速云 阅读:90 作者:Leah 今天就跟大家聊聊有关利用Android实现一个简单的计算器功能, ...

  3. C#的winform矩阵简单运算

    C#的winform矩阵简单运算 程序截图 关键代码 using System; using System.Collections.Generic; using System.ComponentMod ...

  4. python123程序设计题说句心里话_用c++写一个简单的计算器程序

    // 050305.cpp : 定义控制台应用程序的入口点. // // 050304.cpp : 定义控制台应用程序的入口点. // //四则运算 #include "stdafx.h&q ...

  5. 计算器的程序代码java_java 简单的计算器程序实例代码

    java 简单的计算器程序 实现实例: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class c ...

  6. linux qt小型计算器,Qt实现一个简单的计算器

    Qt实现一个简单的计算器 作者:hackett 微信公众号:加班猿 一.UI界面版 运行效果:输入num1和num2选择+-*/点击计算即可 UI界面设计: 3个lineEdit(lineEditNu ...

  7. vue设置一个简单的计算器

    vue设置一个简单的计算器 <div id="app"><input type="text" v-model="n1"&g ...

  8. 【练习题】构造方法 编写Java程序,模拟简单的计算器。

    package day09; /*1.[练习题]构造方法 编写Java程序,模拟简单的计算器. 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有.编写构造方法,赋予n1和n2初 ...

  9. java 简单的计算器程序,Java 简易计算器程序

    最近开始学习java,参考教科书写了一个简单的计算器程序,贴上来,以便有用的时候可以参考. 呵呵,哈哈!!! import java.awt.Container; import java.awt.Fl ...

最新文章

  1. 践行科技向善,腾讯Light 把光引向厦门
  2. 字符串的指针和指向字符串的指针变量
  3. 深入浅出之函数的参数传递方式
  4. SQL server Cannot find one or more
  5. linux7 语言包,Centos 7中文语言包的安装及中文支持
  6. org.apache.jasper.JasperException: Unable to compile class for JSP:
  7. labuladong的算法小抄pdf_东哥手写正则通配符算法,结构清晰,包教包会!
  8. 8种寻找机器学习数据集的方法 | 附数据集资源
  9. Anaconda 下各种第三方库的安装
  10. JDK源码解析--Object类
  11. Java算法-堆排序
  12. c语言有setw的头文件,在头文件iomanip里的函数setw()是做什么用的?
  13. graphpad7.04多组比较p值_GraphPad Prism 7进行pearson相关性分析
  14. Java 继承思想 及其在 Minecraft mod中相关应用
  15. 二叉树创建之先序法-递归算法
  16. 微软edge如何退出登录_如何更新Microsoft Edge
  17. Emotiv EPOCFLEX 32导脑电仪数据准确导入EEGLAB
  18. 转载 解密蓝牙mesh系列 | 第五篇 【好友(Friend)和低功耗节点(LPN)】【友谊(Friendship)参数】【友谊建立】【友谊(Friendship)消息传送】【安全性】【友谊终止】
  19. C++ string assign和append的常用方法
  20. Cocos2d游戏开发之如何解包获得pvr.ccz中的美术资源

热门文章

  1. 计算机理论:有限状态机、图灵机到现代计算机
  2. c#批量文字识别,百度文字识别源码
  3. 墙裂推荐!7个最佳的学习Python编程的开源库!
  4. 开源|携程机票 App KMM 跨端 KV 存储库 MMKV-Kotlin
  5. CocosCreator3.0的版本改动
  6. 机器学习小分队资料共享
  7. ACM数论一些简单结论和编程小技巧总结
  8. 软件设计师---面对对象分析和结构化分析
  9. 鹅厂系列二 : 仿QQ侧拉删除
  10. Mina基础(五):编写自定义协议及编解码器