Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.13 KB | None | 0 0
  1. /*
  2. Rodrigo Argumedo
  3. Exception Handling: main.cpp
  4. Created on April 23rd, 2017
  5. */
  6.  
  7. #include <iostream>
  8. #include <string>
  9. #include <iomanip>
  10. #include <exception>
  11.  
  12. const double conversion = 2.54;
  13.  
  14. const int inchesInFoot = 12;
  15.  
  16. double getLength();
  17.  
  18. int main() {
  19.     double feet;
  20.     double inches;
  21.     double centimeters;
  22.  
  23.     std::cout << std::fixed << std::showpoint << std::setprecision(2);
  24.  
  25.     std::cout << "Feet: ";
  26.     feet = getLength();
  27.     std::cout << std::endl;
  28.  
  29.     std::cout << "Inches: ";
  30.     inches = getLength();
  31.     std::cout << std::endl;
  32.  
  33.     centimeters = (inchesInFoot * feet + inches) * conversion;
  34.  
  35.     std::cout << "Centimeter: " << centimeters << std::endl;
  36.  
  37.     return 0;
  38. }
  39.  
  40. double getLength() {
  41.     bool done = false;
  42.     double number = 0;
  43.  
  44.     std::string str = "The input stream is in failed state.";
  45.  
  46.     do
  47.     {
  48.         try {
  49.             std::cout << "Enter a number to convert: ";
  50.             std::cin >> number;
  51.  
  52.             if (number < 0) {
  53.                 throw std::exception("You entered a invalid number. ");
  54.             }
  55.         }
  56.         catch (std::exception& e) {
  57.             std::cerr << str << std::endl;
  58.             std::cerr << e.what() << std::endl;
  59.         }
  60.     } while (!done);
  61.  
  62.     return number;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement