Using C A program will repeatedly ask the user to input a va
(Using C++)
A program will repeatedly ask the user to input a value to rotate a mechanical arm by a certain angle (in degrees). This angle must be between -360 and 360 to avoid excessive rotation. The program terminates when an improper angle is provided. Write this program, and use the following function declaration.
/** * Prompts the user to input a number of degrees * and returns the value * * If the user provides a value < 359 or > 359 a * std::logic_error exception is thrown and the * return value undefined. */ int getDegrees();
The output of the program should match the following:
Enter an angle: 20 Rotating: 20
Enter an angle: -15
Rotating: -15
Enter an angle: 354 Rotating: 354
Enter an angle: -360
Caught an exception: Out of range
Of type: class std::logic_error
Press any key to continue . . .
Solution
Please follow the code and comments for description :
CODE :
#include <iostream> // required header files
#include <stdexcept>
using namespace std;
int getDegrees(); // function declaration
int getDegrees() { // function initialisation
int angle; // local varaibles
cout << \"Enter an angle : \"; // prompt for the data to be entered
cin >> angle; // get the data
try {
if((angle <= 360) && (angle >= -360)) { // check for the condition
return angle; // return the value if satisfied
} else {
throw logic_error(\"Caught an exception: Out of range\ Of type: class std::logic_error\"); // else throw an exception
}
} catch(logic_error le) { // catch the error
cout << le.what() << endl; // print to console
exit(0); // exit the code
}
return 0;
}
int main() // driver method
{
int res = getDegrees(); // call the function
cout << \"Rotating : \" << res; // print the output
return 0;
}
OUTPUT :
Case 1 :
Enter an angle : 361
Caught an exception: Out of range
Of type: class std::logic_error
Case 2 :
Enter an angle : 345
Rotating : 345
Hope this is helpful.

