Server IP : 172.16.15.8 / Your IP : 18.116.86.160 Web Server : Apache System : Linux zeus.vwu.edu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Wed Nov 6 14:29:02 UTC 2024 x86_64 User : apache ( 48) PHP Version : 7.2.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0705) : /home/bsjackson/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
// // 1/2 + 3/4 = ? #include <iostream> using namespace std; class Fraction { int nume, deno; //reduce the fraction p115 // void reduce(fracType& x) // { // int n = x.nume; // int d = x.deno; // } // while( d != 0 ) // { // int r = n % d; // n = d; // d = r; // } // if ( n != 0 ) // { // x.nume /= n; // x.deno = /= n; // } // if ( x.deno < 0) // { // x.nume *= (-1); // x.deno *= (-1); // } public: Fraction() { nume = 0; deno = 1;} Fraction(int n, int d) {nume = n; deno = d;} void Set(int n, int d) {nume = n; deno = d;} void Print() const { cout << nume << "/" << deno; } Fraction operator+(Fraction x) { Fraction ans; //temp obj ans.nume = nume * x.deno + deno * x.nume; ans.deno = deno * x.deno; //use the reduce() //??? return ans; } Fraction operator-(Fraction x) { Fraction ans; //temp obj ans.nume = nume * x.deno - deno * x.nume; ans.deno = deno * x.deno; return ans; } Fraction operator*(Fraction x) { Fraction ans; //temp obj ans.nume = (nume * x.nume); ans.deno = (deno * x.deno); return ans; } Fraction operator/(Fraction x) { Fraction ans; //temp obj ans.nume = (nume / x.nume); ans.deno = (deno / x.deno); return ans; } }; int main() { int a1, b1; int a2, b2; char dummy, op; cin >> a1 >> dummy >> b1; cin >> op; cin >> a2 >> dummy >> b2; Fraction f1, f2, answ; f1.Set(a1, b1); f2.Set(a2, b2); if(op == '+') answ = f1 + f2; if(op == '-') answ = f1 - f2; if(op == '*') answ = f1 * f2; if(op == '/') answ = f1 / f2; //other process goes here //... //out f1.Print(); cout << " " << op << " "; f2.Print(); cout << " = "; answ.Print(); cout << "\n\nHi.\n\n"; return 0; }