C#winform 实现简单的计算器
目的:
生成一个一个简单的计算器程序。能够进行简单的二元计算,一个操作符,两个操作数的运算。
思路:
首先要生成一系列的成员变量,用来记录当前操作为第几操作数第几操作符,记录操作数和操作符信息。
然后每一次操作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 实现简单的计算器相关推荐
- winform实现简单的计算器V1版本
最近在整winform程序,就做了些简单的案例出来,比如说下面的这个计算器: 这个的实现方式还是比较简单的. 首先按照图中的界面从工具箱中拉出来一个窗体,其中的显示结果"86"&q ...
- android实现计算器功能吗,利用Android实现一个简单的计算器功能
利用Android实现一个简单的计算器功能 发布时间:2020-11-20 16:25:01 来源:亿速云 阅读:90 作者:Leah 今天就跟大家聊聊有关利用Android实现一个简单的计算器功能, ...
- C#的winform矩阵简单运算
C#的winform矩阵简单运算 程序截图 关键代码 using System; using System.Collections.Generic; using System.ComponentMod ...
- python123程序设计题说句心里话_用c++写一个简单的计算器程序
// 050305.cpp : 定义控制台应用程序的入口点. // // 050304.cpp : 定义控制台应用程序的入口点. // //四则运算 #include "stdafx.h&q ...
- 计算器的程序代码java_java 简单的计算器程序实例代码
java 简单的计算器程序 实现实例: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class c ...
- linux qt小型计算器,Qt实现一个简单的计算器
Qt实现一个简单的计算器 作者:hackett 微信公众号:加班猿 一.UI界面版 运行效果:输入num1和num2选择+-*/点击计算即可 UI界面设计: 3个lineEdit(lineEditNu ...
- vue设置一个简单的计算器
vue设置一个简单的计算器 <div id="app"><input type="text" v-model="n1"&g ...
- 【练习题】构造方法 编写Java程序,模拟简单的计算器。
package day09; /*1.[练习题]构造方法 编写Java程序,模拟简单的计算器. 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有.编写构造方法,赋予n1和n2初 ...
- java 简单的计算器程序,Java 简易计算器程序
最近开始学习java,参考教科书写了一个简单的计算器程序,贴上来,以便有用的时候可以参考. 呵呵,哈哈!!! import java.awt.Container; import java.awt.Fl ...
最新文章
- 践行科技向善,腾讯Light 把光引向厦门
- 字符串的指针和指向字符串的指针变量
- 深入浅出之函数的参数传递方式
- SQL server Cannot find one or more
- linux7 语言包,Centos 7中文语言包的安装及中文支持
- org.apache.jasper.JasperException: Unable to compile class for JSP:
- labuladong的算法小抄pdf_东哥手写正则通配符算法,结构清晰,包教包会!
- 8种寻找机器学习数据集的方法 | 附数据集资源
- Anaconda 下各种第三方库的安装
- JDK源码解析--Object类
- Java算法-堆排序
- c语言有setw的头文件,在头文件iomanip里的函数setw()是做什么用的?
- graphpad7.04多组比较p值_GraphPad Prism 7进行pearson相关性分析
- Java 继承思想 及其在 Minecraft mod中相关应用
- 二叉树创建之先序法-递归算法
- 微软edge如何退出登录_如何更新Microsoft Edge
- Emotiv EPOCFLEX 32导脑电仪数据准确导入EEGLAB
- 转载 解密蓝牙mesh系列 | 第五篇 【好友(Friend)和低功耗节点(LPN)】【友谊(Friendship)参数】【友谊建立】【友谊(Friendship)消息传送】【安全性】【友谊终止】
- C++ string assign和append的常用方法
- Cocos2d游戏开发之如何解包获得pvr.ccz中的美术资源