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 }
浙公网安备 33010602011771号