DarkArtheme

read_rational

Jan 12th, 2021
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.40 KB | None | 0 0
  1. std::istream& Rational::readFrom(std::istream& istrm) {
  2.     char slash(0);
  3.     int num(0), den(1);
  4.     if (istrm.good()) {
  5.         istrm >> num >> slash >> den;
  6.         if (slash == '/') {
  7.             if (den == 0) throw std::invalid_argument("Denominator cannot be equal to zero!");
  8.             numerator = num;
  9.             denominator = den;
  10.             Simplify();
  11.         }
  12.         else {
  13.             istrm.setstate(std::ios_base::failbit);
  14.         }
  15.     }
  16.     return istrm;
  17. }
Advertisement
Add Comment
Please, Sign In to add comment