C#实现简单加减乘除计算器

第一次学习C#,做了个简单的加减乘除计算器,只能实现两个因数的运算。

主要是练习下C#编程,和以前用过的VB差不多。与VB6不同的是,C#代码区分大小写。

Windows窗口程序主要也是由一些控件组成,响应响应的事件(event),实现具体的功能。

1.效果图如下所示

2.代码如下所示

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

namespace WindowsApplication1
{
  public partial class Main : Form
  {
    public Main()
    {
      InitializeComponent();
    } 

    private void Main_Load(object sender, EventArgs e)
    { 

    } 

    private void txtInshu1_TextChanged(object sender, EventArgs e)
    { 

    } 

    private void txtInshu1_KeyPress(object sender, KeyPressEventArgs e)
    {
      OnlyEnterNumber(sender, e);
    } 

    //// <summary>
    /// 只能输入数字(含负号小数点)
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    public static void OnlyEnterNumber(object sender, KeyPressEventArgs e)
    {
      if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 45 && e.KeyChar != 46)
      {
        e.Handled = true;
      } 

      // 输入为负号时,只能输入一次且只能输入一次
      if (e.KeyChar == 45 && (((TextBox)sender).SelectionStart != 0 || ((TextBox)sender).Text.IndexOf("-") >= 0)) e.Handled = true;
      if (e.KeyChar == 46 && ((TextBox)sender).Text.IndexOf(".") >= 0) e.Handled = true;
    } 

    /*
     * 参数:d表示要四舍五入的数;i表示要保留的小数点后位数。
     * 正负数都四舍五入,适合数据统计的显示
     */
    double Round(double d, int i)
    {
      if (d >= 0)
      {
        d += 5 * Math.Pow(10, -(i + 1));
      }
      else
      {
        d += -5 * Math.Pow(10, -(i + 1));
      }
      string str = d.ToString();
      string[] strs = str.Split('.');
      int idot = str.IndexOf('.');
      string prestr = strs[0];
      string poststr = strs[1];
      if (poststr.Length > i)
      {
        poststr = str.Substring(idot + 1, i);
      }
      string strd = prestr + "." + poststr;
      d = Double.Parse(strd);
      return d;
    } 

    private void txtInshu2_TextChanged(object sender, EventArgs e)
    { 

    } 

    private void txtInshu2_KeyPress_1(object sender, KeyPressEventArgs e)
    {
      OnlyEnterNumber(sender, e);
    } 

    private void btnJisuan_Click(object sender, EventArgs e)
    {
      if (txtInshu1.Text == "") {
        MessageBox.Show("因数1不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        return;
      }
      if (txtInshu2.Text == "")
      {
        MessageBox.Show("因数2不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        return;
      } 

      double inshu1 = Convert.ToDouble(txtInshu1.Text);
      double inshu2 = Convert.ToDouble(txtInshu2.Text);
      double result = 0.0; 

      if (radioBtnJia.Checked) {
        result = inshu1 + inshu2;
      } 

      if (radioBtnJian.Checked)
      {
        result = inshu1 - inshu2;
      } 

      if (radioBtnCheng.Checked)
      {
        result = inshu1 * inshu2;
      } 

      if (radioBtnChu.Checked)
      {
        if (0 == inshu2)
        {
          MessageBox.Show("因数2做除数不能为0!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
          return;
        }
        result = inshu1 / inshu2;
        result = Round(result, 6);
      } 

      txtResult.Text = Convert.ToString(result);
    }
  }
} 

因数输入框只允许输入数字和小数点负号的代码是从网络上引用的。
除法运算时四舍五入的处理也是引用自网络上的文章。

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

您可能感兴趣的文章:

  • C# WinForm程序设计简单计算器
  • C#开发简易winform计算器程序
  • C#基于简单工厂模式实现的计算器功能示例
  • C#实现的简单整数四则运算计算器功能示例
  • C#实现简单的计算器功能完整实例
  • C#计算器编写代码
  • C#实现Winform版计算器
  • C#日历样式的下拉式计算器实例讲解
  • c#入门之实现简易存款利息计算器示例
  • C#编写的windows计算器的实例代码
(0)

相关推荐

  • C#开发简易winform计算器程序

    临近年关,今日在学习的过程中感觉甚是无聊,便想用C#来开发一个简易的计算器程序,这里记录下今日下午的实现过程,同时也记录下自己的第一遍博客. 一.需求 首先我们先来决定我们的计算器要实现什么功能 功能需求:1.能够实现加.减.乘.除.求余等两个操作数的运算,以及开方.平方单个操作数的运算 2.能够清除错误的输入,能够实现清零操作 显示需求:能够显示操作数与运算内容,显示结果 二.设计界面 1.在明白我们的功能需求后,我们来设计界面,界面主要包括三个部分,用于显示的两个textBox,以及数字键B

  • c#入门之实现简易存款利息计算器示例

    本想把练习题做了的结果放上来,不过发现附录是有答案的,就算了吧,自己做了没问题就行了哈.之前提到过,要是有朋友有想法,需要做小工具我可以帮忙实现,不过貌似大家都很忙.SO,自己学完第4章后,决定做一个工具:简易存款利息计算器,可以更好地复习前面学过的知识. 原理介绍为啥叫简易呢,因为现在只能计算整存整取(只有1.2.3.5四种年限哈)的利息,并且没有启用自动转存(俗称利滚利,就是把本年和上年的利息之和,作为下年利息计算时的本金)功能,方便和网上已有的工具对比计算结果,判断自己的程序算出来正不正确

  • C#实现简单的计算器功能完整实例

    本文实例讲述了C#实现简单的计算器功能.分享给大家供大家参考,具体如下: 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; using System.Collections; usi

  • C# WinForm程序设计简单计算器

    一个简单的计算器的例子,在这个小程序中我们需要用到的组件有: Button:点击计算 TextBox:输出要运算的数 RadioButton:选择运算类型 GroupBox:绑定RadioButton 首先我们在界面上拖以上的控件,得到如下界面: 这时候监听计算按钮的点击事件: private void button1_Click(object sender, EventArgs e) { double op1, op2, result; if (textBox1.Text == ""

  • C#实现Winform版计算器

    本文实例为大家分享Winform版计算器的具体实现方法,供大家参考,具体内容如下 前台页面设计 后台代码实现 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 计

  • C#编写的windows计算器的实例代码

    复制代码 代码如下: using System; using System.Drawing; using System.Windows; using System.Windows.Forms; using System.Collections; using System.ComponentModel; using System.Data; namespace comput {     /// <summary>     /// 这是一个计算器的简单实现.     /// </summar

  • C#日历样式的下拉式计算器实例讲解

    本文介绍了如何在Visual Studio中创建用户控件来显示下拉式计算器,弹出效果类似于日历控件. 介绍 如果我们正在做一个类似于库存控制和计费系统的项目,有些部分可能必须手动计算数值.因此,用户就不得不使用计算器得到结果,再填入到输入字段中,或者在工作窗口上单独打开一个计算器窗口.总之,各种不便和麻烦. 这篇文章主要描述的是如何添加下拉式计算器到DataGridView单元格中,如下图: 使用代码 第一步,我们必须先创建一个函数计算器,并且能够使用控件.因此,不妨先创建一个Visual St

  • C#实现的简单整数四则运算计算器功能示例

    本文实例讲述了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 pa

  • C#计算器编写代码

    利用C#编写一个计算器.如下图,能够完成基本的四则运算. 当然这个程序甚至还不上Windows附件那个自带的多功能计算器.  不过这个程序的逻辑还是非常值得思考的,首先你要考虑好用户按+ - * / =等运算符号.数字键之后计算器的状态记录问题.  然后要防止多次按某一个键的问题.比如小数点.就不应该让用户在输入一个数的时候键入两次.  最后,还要弄两个数组,一个存放用户在输入的数字,另一个存放用户输入的符号.  制作过程如下,  1.布局如下,同时可以参考<简单实现C#窗体程序判断是否闰年 >

  • C#基于简单工厂模式实现的计算器功能示例

    本文实例讲述了C#基于简单工厂模式实现的计算器功能.分享给大家供大家参考,具体如下: 子类拥有父类除私有之外的所有属性字段和方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 工厂方法实现计算器 { /// <summary> /// 计算器类(抽象类,由子类重写) /// </sum

随机推荐