Server IP : 172.16.15.8 / Your IP : 18.216.104.106 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/vnlaughlin/../grpatillo/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/* File Name: fractionCalculator.cpp Author: R.P. Patillo Instructor: Dr. John Wang Due Date: Feb. 27, 2008 Compiling: g++ fractionCalculator.cpp -o fractionCalculator.out Execution: ./fractionCalculator.out */ #include <iostream> using namespace std; class Fraction { int nume; int deno; 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 Add (Fraction r) { Fraction ans; int n, d; d = deno * r.deno; n = nume * r.deno + deno * r.nume; ans.Set (n, d); return ans; } Fraction Diff (Fraction r) { Fraction ans; int n, d; d = deno * r.deno; n = nume * r.deno - deno * r.nume; ans.Set (n, d); return ans; } Fraction Mult (Fraction r) { Fraction ans; int n, d; d = deno * r.deno; n = nume * r.nume; ans.Set (n, d); return ans; } Fraction Divide (Fraction r) { Fraction ans; int n, d; d = deno * r.nume; n = nume * r.deno; ans.Set (n, d); return ans; } }; int main() { Fraction x, y; Fraction z(1, 2); int n, d; char dummy, op; cout << "Input x(n/d) ,(-1/1 to quit): "; cin >> n >> dummy >> d; while( n!=-1 && d!=1) { x.Set(n, d); cout << "Input y (n/d): "; cin >> n >> dummy >> d; y.Set(n, d); cout << "Operation? (+, -, *, /)\t"; cin >> op; if ( op == '+') z = x.Add (y); else if ( op == '-') z = x.Diff (y); else if ( op == '*') z = x.Mult (y); else if ( op == '/' ) z = x.Divide (y); x.Print(); cout << " " << op << " "; y.Print(); cout << " = "; z.Print(); cout << "\n"; cout << "------------------------------------------" << endl; cout << "\n\nInput x (n/d), (-1/1 to quit): "; cin >> n >> dummy >> d; } cout << "\n\nDone.\n\n" << endl; return 0; }