//R. A. Hillyard //cinTest.cpp //program to demonstrate how to recover from //input errors using the cin member functions // //step one - illustrate the problem //the below code will work fine as long as we enter an //integer - if we enter a char or decimal number, the //program will not work as expected #include<iostream> #include<cctype> //for toupper using namespace std; int main() { char charChoice; //hold character entered by user int intChoice; //hold int entered by user do { cout << "\n*** Welcome to some program ***\n\n"; cout << "Enter an integer : "; cin >> intChoice; cout << "You entered a: " << intChoice << endl; cout << "\nTry again?? [Y/N]: "; cin >> charChoice; charChoice = toupper(charChoice); }while(charChoice != 'N'); }//end main //run the program with the following data and note the results //test1 - enter 5 (valid integer) //test2 - enter c (char - invalid integer - causes a loop) //test3 - enter 55.66 (what happened???)