天天看点

C++ primer(第五版) 练习 5.23、5.24、5.25 个人code



C++ primer(第五版) 练习 5.23、5.24、5.25

题目:

5.23

编写一段程序,从标准输入读取两个整数,输出第一个数除以第二个数的结果。

5.24

修改你的程序,使得当第二个数是0时抛出异常。先不要设定catch子句,运行程序并真的为除数输入0,看看会发生什么?

5.25

修改上一题的程序,使用try语句块去捕获异常。catch子句应该为用户输出一条提示信息,询问其是否输入新数并重新执行try语句块的内容。

答:

#include <iostream>
#include <stdexcept>

using std::cout;
using std::endl;
using std::cin;
using std::runtime_error;

int main()
{
	int v1, v2;

lable:	cin >> v1 >> v2;
	try
	{		
		if (v2 == 0)
			throw runtime_error("被除数不能为0");
		cout << v1 / v2 << endl;
	}
	catch (runtime_error err){
		cout << err.what()
			<< "请重新输入" << endl;
		goto lable;
	}

	return 0;
}
           

执行结果:

C++ primer(第五版) 练习 5.23、5.24、5.25 个人code

继续阅读