The given program reads a list of single-word first names and ages (ending with -1), and outputs that list with the age incremented. The program fails and throws an exception if the second input on a line is a string rather than an int. At FIXME in the code, add a try/catch statement to catch ios_base::failure, and output 0 for the age.
Ex: If the input is:
Lee 18
Lua 21
Mary Beth 19
Stu 33
-1
then the output is:
Lee 19
Lua 22
Mary 0
Stu 34
main.cpp
#include #include using namespace std;int main(int argc, char* argv[]) {string inputName;int age;// Set exception mask for cin streamcin.exceptions(ios::failbit);cin >> inputName;while(inputName != "-1") {// FIXME: The following line will throw an ios_base::failure.// Insert a try/catch statement to catch the exception.// Clear cin's failbit to put cin in a useable state.cin >> age;cout < inputname="">< "="" "="">< (age="" +="" 1)=""><>cin >> inputName;}return 0;}
using namespace std;
int main(int argc, char* argv[]) {string inputName;int age;// Set exception mask for cin streamcin.exceptions(ios::failbit);
cin >> inputName;while(inputName != "-1") {// FIXME: The following line will throw an ios_base::failure.// Insert a try/catch statement to catch the exception.// Clear cin's failbit to put cin in a useable state.cin >> age;cout < inputname="">< "="" "="">< (age="" +="" 1)=""><>
cin >> inputName;}return 0;}
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here