C#实现计算器精简版

 更新时间:2022年01月28日 11:30:39   作者:梳碧湖-砍柴人  
这篇文章主要为大家详细介绍了C#实现计算器精简版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C#实现计算器精简版的具体实现代码,供大家参考,具体内容如下

计算器需求分析

一、界面设计

1.做一个显示屏
2.17个按钮(0-9,±×÷%=,CE)

二、需要实现的功能

1.输入第一个数字
2.选择运算类型
3.输入第二个数字
4.按下等号计算出结果,结果显示在显示屏上

三、实现步骤

1.先做界面

a.显示屏 textbox、listbox、label
b.使用17个button,button上的文本改成对应的数字符号

2.补充:申请两个int类型变量,第一个num1装第一个数字
第二个num2装第二个数字

(1).输入第一个数字,当点一个数字按钮,屏幕上显示一个,之前显示的数字在前面呆着
a1.添加按钮的cilck事件
a2.事件触发,将按钮代表的数字显示textbox1的text

(2).当输入符号的时候,清除屏幕,但是后台必须记录好第一个数字
b1.添加符号按钮的click事件
b2.当点任何一个符号按钮用一个变量num1装刚才输入的textbox1中的数字

(3).输入第二个数字
c1. 当点任何一个符号按钮用一个变量num2装刚才输入的textbox1中的数字

(4).按下等号按钮,显示屏上面的文本改变成两个数字的运算结果

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 简单的计算器制作
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //计算窗口加载居中的位置
            int left = Screen.PrimaryScreen.Bounds.Width / 2 - this.Width / 2;
            int top = Screen.PrimaryScreen.Bounds.Height / 2 - this.Height / 2;
            this.Location = new Point(left,top);
            //加载的时候获取焦点
            button1.TabIndex = 0;
        }
        //当我们输入完第一个数字之后  在输入运算符的时候 我们要记下第一个数字num1
        //当我们输入完第二个数字之后  在输入等号的时候 我们要记下第二个数字num1
        double num1 = 0;
        double num2 = 0;
        bool iskey = false;
        //ce
        private void button1_Click(object sender, EventArgs e)
        {
            //设置清空
            textBox1.Text = ""; 
        }
       
        //1
        private void button4_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "1";
        }
        //2
        private void button5_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "2";
        }
        //3
        private void button6_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "3";
        }
        //4
        private void button8_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "4";
        }
        //5
        private void button9_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "5";
        }
        //6
        private void button10_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "6";
        }
        //7
        private void button12_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "7";
        }
        //8
        private void button13_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "8";
        }
        //9
        private void button14_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "9";
        }
        //0
        private void button17_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += "9";
        }
        //.
        private void button16_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                textBox1.Text = "";
                iskey = false;
            }
            textBox1.Text += ".";
        }
        //定义一个空的来接收符号
        string type=" ";
        //+
        private void button15_Click(object sender, EventArgs e)
        {
            if(textBox1.Text != "")
            {
            //获取运算的第一个数字(前一个数字);将字符串类型转换为int类型(int.parse())
             // num1 = int.Parse(textBox1.Text);
            // num1 = Convert.ToInt32(textBox1.Text);
          //  第二种转换方式convert
        num1 = Convert.ToDouble(textBox1.Text);
            }
            type = "+";
            //  textBox1.Text = "";
            iskey = true;
        }
        //-
        private void button3_Click(object sender, EventArgs e)
        {
            if(textBox1.Text != ""){
                num1 = Convert.ToDouble(textBox1.Text);
            }
            type = "-";
            // textBox1.Text = "";
            iskey = true;
        }
        //*
        private void button7_Click(object sender, EventArgs e)
        {
            if(textBox1.Text != "")
            {
                num1 = Convert.ToDouble(textBox1.Text);
            }
            type = "*";
            //  textBox1.Text = "";
            iskey = true;
        }
        //÷
        private void button11_Click(object sender, EventArgs e)
        {
            if(textBox1.Text != "")
            {
                num1 = Convert.ToDouble(textBox1.Text);
            }
            type = "/";
            //textBox1.Text = "";
            iskey = true;
        }
        //%
        private void button18_Click(object sender, EventArgs e)
        {
            iskey = true;
            if (textBox1.Text != "")
            {
                num1 = Convert.ToDouble(textBox1.Text);
            }
            type = "%";
            //textBox1.Text = "";
        }
        //=
        private void button2_Click(object sender, EventArgs e)
        {
            if (iskey)
            {
                return;
            }
            iskey = true;
            if(textBox1.Text != "")
            {
                num2 = Convert.ToDouble(textBox1.Text);
            }
            switch (type)
            {
                case  "+":
                //括号里进行计算,计算的结果转化为string类型,并显示在屏幕(textbox1)里;
                    textBox1.Text = (num1 + num2).ToString();
                    break;
                case "-":
                    textBox1.Text = (num1 - num2).ToString();
                    break;
                case "*":
                    textBox1.Text = (num1 * num2).ToString();
                    break;
                case "/":
                    textBox1.Text = (num1 / num2).ToString();
                    break;
                case "%":
                    textBox1.Text = (num1 % num2).ToString();
                    break;
            }
        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#使用百度Ueditor富文本框实现上传文件

    C#使用百度Ueditor富文本框实现上传文件

    这篇文章主要为大家详细介绍了C#如何使用百度Ueditor富文本框实现上传文件(图片,视频等),文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-07-07
  • 解答“60k”大佬的19道C#面试题(下)

    解答“60k”大佬的19道C#面试题(下)

    这篇文章主要解答了“60k”大佬的19道C#面试题中的后9道,文中的面试题比较小众,作者给了不错的答案,相信对你以后的面试有所帮助,感兴趣就来了解下
    2020-06-06
  • c#.net 常用函数和方法集

    c#.net 常用函数和方法集

    c#.net 常用函数和方法集 ,学习的朋友可以参考下。
    2009-07-07
  • SQL+C#实现获得当前月的第一天与最后一天

    SQL+C#实现获得当前月的第一天与最后一天

    本文分享了SQL+C#获得当前月的第一天与最后一天的代码实例,代码简洁,适合初学者参考。需要的朋友可以看下
    2016-12-12
  • c# 实现模糊PID控制算法

    c# 实现模糊PID控制算法

    这篇文章主要介绍了c# 实现模糊PID控制算法的示例代码,帮助大家更好的理解和使用c#编程语言,感兴趣的朋友可以了解下
    2020-12-12
  • 详解C#面相对象编程中的继承特性

    详解C#面相对象编程中的继承特性

    这篇文章主要介绍了C#面相对象编程中的继承特性,是C#入门学习中的基础知识,需要的朋友可以参考下
    2016-01-01
  • c# WPF中的TreeView使用详解

    c# WPF中的TreeView使用详解

    这篇文章主要介绍了c# WPF中的TreeView使用详解,帮助大家更好的理解和学习使用c#技术,感兴趣的朋友可以了解下
    2021-03-03
  • C# Replace替换的具体使用

    C# Replace替换的具体使用

    本文主要介绍了C# Replace替换的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • c#使用nsoup解析html乱码解决方法分享 nsoup教程

    c#使用nsoup解析html乱码解决方法分享 nsoup教程

    NSoup是JSoup的Net移植版本。使用方法基本一致。如果项目涉及HTML的处理,强烈推荐NSoup。但是遗憾的是NSoup默认的编码是UTF-8,处理中文有乱码,下面给出二种解决方法
    2014-01-01
  • C#使用位域技术进行对象二进制序列化优

    C#使用位域技术进行对象二进制序列化优

    在操作系统中,进程信息对于系统监控和性能分析至关重要,这个过程中,如何将捕获到的进程对象转换为二进制数据,并进行优化,以减小数据包的大小,成为了一个关键问题,下面我们就来看看如何使用位域技术对C#对象进行二进制序列化优化吧
    2024-01-01

最新评论