c++ primer 5.6.3节练习答案

练习5.23

 1 int main()
 2 {
 3     int num1, num2;
 4     while (cin >> num1 >> num2)
 5     {
 6         cout << num1 / num2 << endl;
 7     }
 8     system("pause");
 9     return 0;
10 }

练习5.24

 1 int main()
 2 {
 3     int num1, num2;
 4     while (cin >> num1 >> num2)
 5     {
 6         if (num2 == 0)
 7             throw runtime_error("除数不能为0");
 8         cout << num1 / num2 << endl;
 9     }
10     system("pause");
11     return 0;
12 }

程序运行时会弹出一个警告消息框

练习5.25

 1 int main()
 2 {
 3     int num1, num2;
 4     while (cin >> num1 >> num2)
 5     {
 6         try
 7         {
 8             if (num2 == 0)
 9                 throw runtime_error("除数不能为0");
10             cout << num1 / num2 << endl;
11         }
12         catch(runtime_error err)
13         {
14             cout << err.what() << "\nerror!" << endl;
15             char ch;
16             cin >> ch;
17             if (!cin || ch == 'n')
18                 break;
19         }
20     }
21     system("pause");
22     return 0;
23 }

 

posted @ 2017-08-02 14:03  五月份小姐  阅读(230)  评论(0)    收藏  举报