用C#编写简易计算器 实现加减乘除

刚开始学习C#,在B站大学中学完了基础知识,开始自己写一个简易程序

该计算器能进行加减乘除运算,在输入数字不符合时就会让用户重新输入,输入运算符为除数时,若被除数为0的话就会进行错误提示,提示用户更改被除数

源代码如下:

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

namespace hello_C_
{
    internal class jisuanji
    {
        static void Main(string[] args)
        {
            Console.WriteLine("这个是一个计算器\n可以运行加减乘除");

            double num1 = GetUserInput("请输入第一个数字:");

            string type;
            do
            {
                Console.Write("请输入运算符 + - * / ");
                type = Console.ReadLine();
            } while (!IsValidOperation(type));

            double num2;
            do
            {
                num2 = GetUserInput("请输入第二个数字:");

                if (type == "/" && num2 == 0)
                {
                    Console.WriteLine("在除法运算中,除数不能为0。请重新输入。");
                }
            } while (type == "/" && num2 == 0);

            double result = Calculate(num1, type, num2);
            Console.WriteLine(num1 + type + num2+ "=" + result);
        }
        static double GetUserInput(string num)
        {
            double userInput;
            do
            {
                Console.Write(num);
            } while (!double.TryParse(Console.ReadLine(), out userInput));

            return userInput;
        }
        static bool IsValidOperation(string operation)
        {
            return operation == "+" || operation == "-" || operation == "*" || operation == "/";
        }
        static double Calculate(double num1, string type, double num2)
        {
            double result = 0;

            switch (type)
            {
                case "+":
                    result = num1 + num2;
                    break;
                case "-":
                    result = num1 - num2;
                    break;
                case "*":
                    result = num1 * num2;
                    break;
                case "/":
                    if(num2 == 0)
                    {
                        Console.WriteLine("除数不能为0");
                    }
                    else
                    {
                        result = num1 / num2;
                    }
                    break;
                default:
                    Console.WriteLine("无效运算符");
                    break;
            }
            return result;

        }
    }
}

在以上代码中还是有些许不足,只能简单运算,且数值类型为double也有局限性,再接着就是只能进行一次运算后就退出,在接下来会继续改进,实现窗口化功能化

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值