C#实现简单计算器 (入门基础)

利用函数调用实现简易计算器逻辑

比较适合新手学习

如果又不懂的欢迎留言

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _006_实现计算器
{
    class Program
    {
        static void Main(string[] args)
        {
            //利用用户输入动态确定加减乘除法
            string[] arr = {"","加","减","乘","除"};
            //打印表头
            Console.WriteLine("************计算器*************");
            Console.WriteLine("1.加法\t2.减法\t3.乘法\t4.除法");
            //获取用户选择
            Console.Write("请输入你的选择>>>");
            //数据类型转换
            int choose  =Convert.ToInt32 (Console.ReadLine());
            //实现逻辑部分
            switch (choose)
            {
                case 1:
                    Console.WriteLine("两个数执行"+arr[choose]+"法的结果是:" + addNumber(userInput(arr, choose)));
                    break;
                case 2:
                    Console.WriteLine("两个数执行"+arr[choose]+"法的结果是:" + subNumber(userInput(arr, choose)));
                    break;
                case 3:
                    Console.WriteLine("两个数执行" + arr[choose] + "法的结果是:" + mulNumber(userInput(arr, choose)));
                    break;
                case 4:
                    Console.WriteLine(divNumber(userInput(arr, choose)) != 0 ?
                        "两个数执行" + arr[choose] + "法的结果是:"
                        + divNumber(userInput(arr, choose)): "除数不能为0");
                    break;
                default:
                    Console.WriteLine("输入选项错误,请重新输入");
                    break;

            }
        }


        // 动态获取用户输入,用数组返回
        public static int [] userInput(string [] arr,int choose)
        {
            int[] input = new int[2];
          
            Console.Write("请输入第一个" + arr[choose] + "数:");
            input[0] = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入第二个" + arr[choose] + "数:");
            input[1] = Convert.ToInt32(Console.ReadLine());

            return input;

        }
        public static int addNumber(int [] arr)
        {
            return arr[0] + arr[1];
        }

        public static int subNumber(int [] arr)
        {

            return arr[0] - arr[1];
        }

        public static int mulNumber(int []arr)
        {

            return arr[0] * arr[1];
        }

        // 动态判断除数不等于0 
        public  static  int divNumber(int[] arr)
        {
            if (arr[1] == 0)
            {
                
                return 0;
            }

            return arr[0] / arr[1];
        }
    }
}

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
简单的四则运算 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 简单计算机 { public partial class Form1 : Form { string st = ""; double a=0, b=0; int i = 1; int flag,flag2;//初次执行算法的代号与再次执行算法的代号 bool format = false;//flag=true无需按清除,在执行下一次算法时候自动初始化 public Form1() { InitializeComponent(); textBox1.Text = Convert.ToString(0);//初始化,无操作时候,屏幕显示“0” } private void button1_Click(object sender, EventArgs e)//数字“1” { if (flag!=0)//以“=”的结果执行下一次加减乘除的初始化 { format = false; i = 1; } if (format == true)//执行下一次算法的初始化 { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button1.Text; textBox1.Text = st; } private void button2_Click(object sender, EventArgs e)//数字“2” { if (flag != 0) { format = false; i = 1; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button2.Text; textBox1.Text = st; } private void button3_Click(object sender, EventArgs e)//数字“3” { if (flag != 0) { format = false; i = 1; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button3.Text; textBox1.Text = st; } private void button4_Click(object sender, EventArgs e)//数字“4” { if (flag != 0) { format = false; i = 1; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button4.Text; textBox1.Text = st; } private void button5_Click(object sender, EventArgs e)//数字“5” { if (flag != 0) { format = false; i = 1; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button5.Text; textBox1.Text = st; } private void button6_Click(object sender, EventArgs e)//数字“6” { if (flag != 0) { format = false; i = 1; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button6.Text; textBox1.Text = st; } private void button7_Click(object sender, EventArgs e)//数字“7” { if (flag != 0) { format = false; i = 1; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button7.Text; textBox1.Text = st; } private void button8_Click(object sender, EventArgs e)//数字“8” { if (flag != 0) { format = false; i = 1; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button8.Text; textBox1.Text = st; } private void button9_Click(object sender, EventArgs e)//数字“9” { if (flag != 0) { format = false; i = 1; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button9.Text; textBox1.Text = st; } private void button10_Click(object sender, EventArgs e)//数字“0” { if (flag != 0) { format = false; i = 1; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; i = 1; } if (a != 0) textBox1.Text = ""; st = st + button10.Text; textBox1.Text = st; } private void button18_Click(object sender, EventArgs e)//数字“.” { if (flag != 0) { format = false; } if (format == true) { a = b = 0; flag = flag2 = 0; format = false; } if (a != 0) textBox1.Text = ""; if (st == "")//第一个数字是小数时候无需按“0”,直接显示“0” st = Convert.ToString(0); if (i == 1) { st = st + button18.Text; i++; } textBox1.Text = st; } private void button11_Click(object sender, EventArgs e)//初始化 { st = ""; a = b = 0; i = 1; flag = flag2 = 0; format = false; textBox1.Text = Convert.ToString(0); } private void button13_Click(object sender, EventArgs e)//相加 { flag = 1; if (a == 0) { if (st == "") st = "0"; a = Convert.ToDouble(st); } else if (st != "" && a != 0) b = Convert.ToDouble(st); if (Convert.ToString(b)!="") { textBox1.Text = ""; if (flag2 == 5) { a = a + b; } if (flag2 == 6) { a = a - b; } if (flag2 == 7) { a = a * b; } if (flag2 == 8) { if (b == 0) MessageBox.Show("被除数不能为0", "警告", MessageBoxButtons.RetryCancel); else { a = a / b; } } textBox1.Text = Convert.ToString(a); b = 0; st = ""; } flag2 = 5; } private void button14_Click(object sender, EventArgs e)//相减 { flag = 2; if (a == 0) { if (st == "") st = "0"; a = Convert.ToDouble(st); } else if (st != "" && a != 0) b = Convert.ToDouble(st); if (Convert.ToString(b) != "") { textBox1.Text = ""; if (flag2 == 5) { a = a + b; } if (flag2 == 6) { a = a - b; } if (flag2 == 7) { a = a * b; } if (flag2 == 8) { if (b == 0) MessageBox.Show("被除数不能为0", "警告", MessageBoxButtons.RetryCancel); else { a = a / b; } } textBox1.Text = Convert.ToString(a); b = 0; st = ""; } flag2 = 6; } private void button15_Click(object sender, EventArgs e)//相乘 { flag = 3; if (a == 0) { if (st == "") st = "0"; a = Convert.ToDouble(st); } else if (st != "" && a != 0) b = Convert.ToDouble(st); if (Convert.ToString(b) != "") { textBox1.Text = ""; if (flag2 == 5) { a = a + b; } if (flag2 == 6) { a = a - b; } if (flag2 == 7) { a = a * b; } if (flag2 == 8) { if (b == 0) MessageBox.Show("被除数不能为0", "警告", MessageBoxButtons.RetryCancel); else { a = a / b; } } textBox1.Text = Convert.ToString(a); b = 0; st = ""; } flag2 = 7; } private void button16_Click(object sender, EventArgs e)//相除 { flag = 4; if (a == 0) { if (st == "") st = "0"; a = Convert.ToDouble(st); } else if (st != "" && a != 0) b = Convert.ToDouble(st); if (Convert.ToString(b) != "") { textBox1.Text = ""; if (flag2 == 5) { a = a + b; } if (flag2 == 6) { a = a - b; } if (flag2 == 7) { a = a * b; } if (flag2 == 8) { if (b == 0) MessageBox.Show("被除数不能为0", "警告", MessageBoxButtons.RetryCancel); else { a = a / b; } } textBox1.Text = Convert.ToString(a); b = 0; st = ""; } flag2 = 8; } private void button17_Click(object sender, EventArgs e)//等于 { format = true; textBox1.Text = ""; if(st!="") b = Convert.ToDouble(st); if (flag == 1) { a = a + b; } if (flag == 2) { a =a - b; } if (flag == 3) { a = a * b; } if (flag == 4) { if (b == 0) MessageBox.Show("被除数不能为0","警告",MessageBoxButtons.RetryCancel); else { a = a / b; } } textBox1.Text = Convert.ToString(a); b = 0; flag = flag2 = 0; st = ""; } private void button12_Click(object sender, EventArgs e) { Application.Exit(); } } }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值