You need to enable JavaScript to run this app. C#无按钮控制台基础计算器:如何根据输入运算符选择对应运算
优惠活动
大模型
产品
解决方案
定价
更多

C#无按钮控制台基础计算器:如何根据输入运算符选择对应运算

运算符选择逻辑实现方法

现有代码存在的问题

你当前的代码没有捕获用户输入的运算符,也没有做逻辑分支判断,是直接将四则运算的全部结果一次性输出,不符合“输入指定运算符触发对应计算”的需求。

具体实现步骤

  • 第一步:补全运算符读取逻辑
    在“输入运算符”的提示语句下方,新增代码存储用户输入的运算符,示例:
    // 读取用户输入,去除首尾空格后做有效性判断
    string inputOp = Console.ReadLine().Trim();
    // 兼容用户直接回车的异常场景,避免程序崩溃
    if (string.IsNullOrEmpty(inputOp))
    {
        Console.WriteLine("错误:未输入有效运算符");
        Console.ReadKey();
        return;
    }
    char op = inputOp[0];
    
  • 第二步:通过分支判断匹配对应计算规则
    针对固定值匹配的场景,用switch分支结构比连续的if-else可读性更高,适配四则运算符的场景:
    double result = 0;
    switch (op)
    {
        case '+':
            result = num1 + num2;
            break;
        case '-':
            result = num1 - num2;
            break;
        case '*':
            result = num1 * num2;
            break;
        case '/':
            // 必须加除零判断,否则程序会触发运行时错误
            if (num2 == 0)
            {
                Console.WriteLine("错误:除数不能为0");
                Console.ReadKey();
                return;
            }
            // 强制类型转换避免整数除法截断精度
            result = (double)num1 / num2;
            break;
        default:
            Console.WriteLine("错误:仅支持+、-、*、/四类运算符");
            Console.ReadKey();
            return;
    }
    // 仅输出匹配到的单条计算结果
    Console.WriteLine($"最终计算结果:{result}");
    
  • 第三步:删除原有代码中直接输出全部四则结果的4行Console.WriteLine语句

开发注意事项

  • 整数除法精度问题:两个int类型变量直接做除法时,C#会默认执行整数截断,比如计算5/2会得到2而非2.5,通过强制类型转换将数值转为double再运算即可保留正常的小数结果。
  • 边界异常处理:必须补充除零判断、空输入判断,否则用户在操作时输入非法值会直接导致程序闪退,这是这类控制台任务最容易被评测扣分的点。
  • 你当前使用的Visual Studio 2019对这套语法完全兼容,不需要额外安装依赖包,写完直接按F5就能运行测试。

内容的提问来源于stack exchange,提问作者Bododerelf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 06:45:03