winform(四)——简单计算器制作

效果图:

代码区:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        //存储上次点击了什么按钮,0代表什么都没点击,1代表点击了数字按钮,2代表点击了运算符
        private int prev = 0;
        //存储计算的中间结果
        private decimal zj = 0;
        //记录上次按的什么运算符
        private string prevysf = "+";
        public Form1()
        {
            InitializeComponent();
        }
        //数字键按钮
        private void button8_Click(object sender, EventArgs e)
        {
            //将事件源转换为按钮
            Button btn = sender as Button;
            //替换(如果下面文本框内容为0或者上次点击了运算符)
            if (prev == 2 || txtbottom.Text == "0")
            {
                txtbottom.Text = btn.Text;
            }
            //追加(如果下面文本框内容不为0并且上次没有点击运算符)
            else
            {
                txtbottom.Text += btn.Text;
            }
            //点击了数字按钮
            prev = 1;
        }
        //运算符按钮
        private void button17_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;
            //上次按了数字
            if (prev == 1)
            {
                txttop.Text += txtbottom.Text + btn.Text;

                switch (prevysf)
                {
                    case "+":
                        zj = zj + Convert.ToDecimal(txtbottom.Text);
                        break;
                    case "-":
                        zj = zj - Convert.ToDecimal(txtbottom.Text);
                        break;
                    case "*":
                        zj = zj * Convert.ToDecimal(txtbottom.Text);
                        break;
                    case "/":
                        zj = zj / Convert.ToDecimal(txtbottom.Text);
                        break;
                }

                txtbottom.Text = zj.ToString();
            }
            //上次按了运算符
            else
            {
                string s = txttop.Text;
                s = s.Substring(0, s.Length - 1);
                s = s + btn.Text;
                txttop.Text = s;
            }
            //点击了运算符
            prev = 2;
            //记录下运算符
            prevysf = btn.Text;

        }
        //清零按钮
        private void button19_Click(object sender, EventArgs e)
        {
            txttop.Text = "";
            txtbottom.Text = "0";
            prev = 0;
            zj = 0;
            prevysf = "+";
        }

        private void button20_Click(object sender, EventArgs e)
        {
            txtbottom.Text = "0";
        }
        //等号按钮
        private void button4_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;
            txttop.Text += txtbottom.Text + btn.Text;

            switch (prevysf)
            {
                case "+":
                    zj = zj + Convert.ToDecimal(txtbottom.Text);
                    break;
                case "-":
                    zj = zj - Convert.ToDecimal(txtbottom.Text);
                    break;
                case "*":
                    zj = zj * Convert.ToDecimal(txtbottom.Text);
                    break;
                case "/":
                    zj = zj / Convert.ToDecimal(txtbottom.Text);
                    break;
            }

            txtbottom.Text = zj.ToString();
            txttop.Text = "";

            zj = 0;

        }
        //点
        private void button3_Click(object sender, EventArgs e)
        {
            txtbottom.Text += ".";
        }
    }
}
时间: 2024-08-29 11:49:06

winform(四)——简单计算器制作的相关文章

1.C#WinForm基础制作简单计算器

利用c#语言编写简单计算器: 源码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 简单计算器 { public partial class Form1 : Form { public For

留念 C语言第一课简单的计算器制作

学C语言这么久了.  /* 留念 C语言第一课简单的计算器制作 */ #include<stdio.h>  #include<stdlib.h> #include<conio.h>void displayMenu();void add();void sub();void multiply();void divide();void yushu();void jiecheng();void leijia();void jiechengleijia();int main(in

【FLEX&amp;YACC】第二天制作一个简单计算器

首先写词法分析器: 词法分析器要返回记号: "+" 返回ADD "-" 返回SUB "*" 返回MUL "/" 返回DIV 输入的实数全部被当作double类型处理 换行符返回CR calc.l: %{#include <stdio.h>#include "y.tab.h"int yywrap(void){ /*免链接库文件*/    return 1;}%}%%[ \t]    { ;}&qu

HDU1237 简单计算器 【栈】+【逆波兰式】

版本:1.0 日期:2014.5.17 2014.6.1 版权:© 2014 kince 转载注明出处 在介绍SwitchButton之前,先来看一下系统Button是如何实现的.源码如下: @RemoteView public class Button extends TextView { public Button(Context context) { this(context, null); } public Button(Context context, AttributeSet att

NOIP19:简单计算器

/* 1.4编程基础之逻辑表达式与条件分支 19:简单计算器 总时间限制: 1000ms 内存限制: 65536kB 描述 一个最简单的计算器,支持+, -, *, / 四种运算.仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围. 输入 输入只有一行,共有三个参数,其中第1.2个参数为整数,第3个参数为操作符(+,-,*,/). 输出 输出只有一行,一个整数,为运算结果.然而: 1. 如果出现除数为0的情况,则输出:Divided by zero! 2. 如果出现无效的操作符

菜鸟学Android编程——简单计算器《一》

菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少,加减乘除就可以. 第一步:设计布局文件 界面如下图: 由于刚开始学Android,对布局文件也不是很了解,边查边找,最后凑合着写好了布局文件. 注意事项:此布局文件用到了GridLayout布局,是在Android4.0以上才出现的(不知道谷歌有没有开发相应的包来适配4.0以下版本). 有关Gri

Struts1应用、实现简单计算器、使用DispatchAction、显示友好的报错信息、使用动态Form简化开发

实现简单的支持加.减.乘.除的计算器 复制一份Struts1Demo修改:Struts1Calc 方案1: Struts1Calc 创建ActionForm: CalcForm extends ActionForm, num1 num2,生成getter setter: 创建4个Action,在页面中,通过JavaScript控制提交到不同的Action Bean. AddAction: public class AddAction extends Action { @Override publ

PowerBuilder开发简单计算器

简单计算器 指的是用户每输入完一个完整的表达式(一元或者二元)就计算. 1.设计好界面 2.在Declare Instance Variable里定义三个变量 decimal add1  //存放操作数 char   s1      //存放操作符 int  flag   //判断一次计算是否完成 3.在数值和小数点按键上双击添加Clicked()函数内容 if flag=0 then sle_1.text="" flag=1 end if sle_1.text=sle_1.text+

j2ee-JSP之简单计算器

来源韩顺平.j2ee视频实战教程jsp第1讲(下集) -------------------------------------------------------------------------------------------------------- 简单计算器,可以控制输入的数(仅第一个数)不能为空且不能为字符串 myCal.jsp代码 1 <!--这是计算器的界面 --> 2 <!-- 可以控制输入的数不能为空且不能为字符串 --> 3 <%@ page co