我的 switch 语句中的 if 语句在我的计算器中无法正常工作。需要帮助修复除以 0 错误

2024-05-13

我创建了一个基本计算器,但是用除法对其进行了编码,当我除以零时,它会在第二个文本框中向用户提供错误,但现在即使我除以 3 或任何其他不为 0 的数字,错误不断出现在我的第二个文本框中。

namespace calc
 {
/// <summary>
/// An empty page that can be used on its own or navigated to within a     Frame.
    /// </summary>
     public sealed partial class MainPage : Page
    {
    Double num01 = 0;

    int Operation = 0; 
    public MainPage()
    {
        this.InitializeComponent();
    }

    private void num0_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "0";
    }

    private void num1_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "1";
    }

    private void num2_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "2";
    }

    private void num3_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "3";
    }

    private void num4_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "4";
    }

    private void num5_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "5";
    }

    private void num6_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "6";
    }

    private void num7_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "7";
    }

    private void num8_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "8";
    }

    private void num9_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = textbox1.Text + "9";
    }

    private void aclear_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = String.Empty;
        Operation = 0;
        num01 = 0;
    }

    private void ppoint_Click(object sender, RoutedEventArgs e)
    {
        textbox1.Text = Convert.ToString (textbox1.Text + ",");
    }

    private void adiv_Click(object sender, RoutedEventArgs e)
    {
        num01 = Convert.ToDouble(textbox1.Text);
        textbox1.Text = "0";
        Operation = 1;
    }

    private void amultiply_Click(object sender, RoutedEventArgs e)
    {
        num01 = Convert.ToDouble(textbox1.Text);
        textbox1.Text = "0";
        Operation = 2;
    }

    private void asub_Click(object sender, RoutedEventArgs e)
    {
        num01 = Convert.ToDouble(textbox1.Text);
        textbox1.Text = "0";
        Operation = 3;
    }

    private void aadd_Click(object sender, RoutedEventArgs e)
    {
        num01 = Convert.ToDouble(textbox1.Text);
        textbox1.Text = "0";
        Operation = 4;
    }

    private void aequal_Click(object sender, RoutedEventArgs e)
    {
        Double num02 = 0;

        switch (Operation)
        {
            case 1:
                if (num02 == 0)
                {
                    textbox2.Text = "Can not divide by zero";
                    textbox1.Text = String.Empty;

                }
                else
                {
                    textbox1.Text = Convert.ToString(num01 / num02); 
                }

                break;
            case 2:
                textbox1.Text = Convert.ToString(Convert.ToDouble    (textbox1.Text) * num01);
                break;
            case 3:
                textbox1.Text = Convert.ToString(num01-     Convert.ToDouble        (textbox1.Text));
                break;
            case 4:
                textbox1.Text = Convert.ToString(Convert.ToDouble     (textbox1.Text) + num01);
                break;
        }
    }
}
}

在 aequal_Click(object sender, RoutedEventArgs e) 的第一行替换

Double num02 = 0;

by

Double num02 = Convert.ToDouble(textbox1.Text);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 switch 语句中的 if 语句在我的计算器中无法正常工作。需要帮助修复除以 0 错误 的相关文章

  • UTF8/UTF16 和 Base64 在编码方面有什么区别

    In c 我们可以使用下面的类来进行编码 System Text Encoding UTF8 System Text Encoding UTF16 System Text Encoding ASCII 为什么没有System Text En
  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐