C++编程:实验1&2 分数除法与异常处理

需积分: 0 0 下载量 201 浏览量 更新于2024-08-04 收藏 114KB DOCX 举报
"实验(1)1 - 软件/插件" 实验(1)是C++编程的一个基础练习,旨在介绍异常处理的概念。在这个实验中,编写了一个简单的程序,该程序从用户那里接收两个整数,并尝试进行除法运算。如果用户输入的第二个数(除数)为0,程序会抛出一个异常,并输出"Divided by 0!",然后返回退出代码-1。在正常情况下,程序会计算两个数的商并打印结果。 程序源代码包含了一个`main`函数,其中使用了C++的`iostream`库来处理输入输出。`using namespace std;`语句允许我们无需在每个标准库函数前加上`std::`。`main`函数中的核心部分是一个`try-catch`块,用于捕获可能出现的异常。在尝试进行除法运算之前,程序首先要求用户输入两个整数`m`和`n`。 在异常处理部分,当`n`等于0时,程序通过`throw 0;`抛出一个异常。这个异常会被`catch`块捕获,然后输出错误消息"Divided by 0!"。程序结束时,正常的退出代码是0,表示程序成功执行。如果发生异常,退出代码将更改为255,表示程序遇到了错误。 实验(2)在此基础上扩展了功能,引入了模板函数以实现更通用的除法操作。`division`函数是一个模板函数,可以接受任何类型的参数,如`int`、`float`或`double`。它同样检查除数是否为零,如果是,则抛出一个异常。在`main`函数中,使用这个模板函数进行除法运算,不再需要在`try-catch`块内进行条件检查。异常处理仍然保持不变,当出现除以0的情况时,程序依然会抛出异常并返回错误信息。 这两个实验都展示了C++中异常处理的重要性,特别是在涉及可能产生错误的运算时,如除法。通过使用`try-catch`结构,程序能够优雅地处理错误,而不是简单地崩溃,这在实际编程中是非常关键的。同时,实验2的模板函数设计提高了代码的可重用性和灵活性。