C++Primer第五版 5.6.3节练习
来源:互联网 发布:淘宝点赞拆红包怎么玩 编辑:程序博客网 时间:2024/06/17 04:45
练习5.23:编写一段程序,从标准输入读取两个整数,输出第一个整数除以第二个整数的结果。
练习 5.24:修改你的程序,使得当第二个数是0时抛出异常。先不要设定catch子句,运行程序并真的为除数输入0,看看会发生什么?
练习5.25:修改上一题的程序,使用try语块去捕获异常。Catch子句应该为用户输出一条提示信息,询问其是否输入新数并重新执行try语块的内容。
答:练习5.23见云盘程序
练习5.24:抛出异常,程序终止
练习5.25见云盘程序
练习5.23
/**练习5.23 *2015/6/8 *问题描述:练习5.23:编写一段程序,从标准输入读取两个整数,输出第一个整数除以第二个整数的结果。 *功能;两个数整除*作者:Nick Feng *邮箱:nickgreen23@163.com */#include <iostream>using namespace std;int main(){ int val1 = 0, val2 = 0; while (cin >> val1 >> val2) { double val3 = 1.0*val1 / val2 ; cout << "The result is: " << val3 << endl; } return 0;}
练习5.24
/**练习5.24*日期:2015/6/8*问题描述:练习 5.24:修改你的程序,使得当第二个数是0时抛出异常。先不要设定catch子句,运行程序并真的为除数输入0,看看会发生什么?*功能;遇到第二个数字为0时抛出一个异常 *作者:Nick Feng *邮箱:nickgreen23@163.com */#include <iostream>#include <stdexcept>using namespace std;int main(){ int val1 = 0, val2 = 0; while (cin >> val1 >> val2) { if (val2 == 0) throw runtime_error("The val2 couldn't be zero!'"); //抛出异常 double val3 = 1.0 * val1 / val2; cout << "The result is: " << val3 << endl; } return 0;}
练习5.25
/**练习5.24*日期:2015/6/8*问题描述:练习5.25:修改上一题的程序,使用try语块去捕获异常。Catch子句应该为用户输出一条提示信息,询问其是否输入新数并重新执行try语块的内容。*功能;使用try-catch语句, 抛出异常,捕获异常,catch部分仿照书上174页而写,注意需要添加头文件 <stdexcept> ,才能调用相应的函数 *作者:Nick Feng *邮箱:nickgreen23@163.com */#include <iostream>#include <stdexcept> using namespace std;int main(){ int val1 = 0, val2 = 0; while (cin >> val1 >> val2) { try { if (val2 == 0) throw runtime_error("Exception : val2 must not be zero!"); double val3 = 1.0 * val1 / val2; cout << "The result is: " << val3 << endl; }catch(runtime_error err){ cout << err.what() << "\nTry Again? Enter y or n" << endl; char c; cin >> c; if (!cin || c == 'n') break; } } return 0;}
0 0
- C++Primer第五版 5.6.3节练习
- C++Primer 第五版 1.1节练习
- C++Primer第五版 1.3节练习
- C++Primer第五版 1.6节练习
- C++Primer第五版 2.4节练习
- C++Primer第五版 3.1节练习
- C++Primer第五版 4.2节练习
- C++Primer第五版 4.3节练习
- C++Primer第五版 4.4节练习
- C++Primer第五版 4.6节练习
- C++Primer第五版 4.7节练习
- C++Primer第五版 4.8节练习
- C++Primer第五版 4.9节练习
- C++Primer第五版 4.5节练习
- C++Primer第五版 5.1节练习
- C++Primer第五版 5.2节练习
- C++Primer第五版 6.1节练习
- C++Primer第五版 6.4节练习
- xUtils使用(简化开发,必备)
- POJ 2151 Check the difficulty of problems(概率DP)
- 电话拨号器
- SSH+easyUI实现文件上传
- String类的一些常用的方法介绍
- C++Primer第五版 5.6.3节练习
- 一个简单类的实例
- 开发收获心得
- java基础 IO流
- 深入解读Linux与Android的相互关系
- Ponds(图论胡搞)
- C/C++内存泄漏及检测
- iOS7自带扫描二维码、条形码功能实现
- 关于向android studio导入项目,gradle报错的问题