[SOLVED] C++ math compiler OOP in C++

$25

File Name: C++_math_compiler_OOP_in_C++.zip
File Size: 263.76 KB

5/5 - (1 vote)

OOP in C++
Dr Robert Nu rnberg
Exercise 3
Tasks marked with a are assessed coursework. Hand in your solutions to these via email to [email protected]. (Resit students do not need to submit coursework.) Use the subject line C++ CW: surname firstname CW3, where surname firstname CW3.cpp is the attached file that contains your solution. The course will be assessed based on 5 pieces of coursework (25%) and an end of term driving test (75%). Your submission must be your own work (submissions will be checked for plagiarism), and it should compile (and run) with the GNU C++ compiler g++. The deadline for submitting the coursework is 10pm on 24/02/2019. fan.qu15 fan.qu15
1. Extra long int
Create a class extralongint that can handle very long integer numbers, say with at least up to 108 digits. Code the mathematical operations +, -, * and /, for this class and provide ways to input and output its objects. Furthermore, overload the relational operators <, > and ==. Let a = 1234567890987654321, b = 9876543210123456789. Compute the following values
(a) ab
(b) ab/(ba)
(c) b2 a2 (d) 51!
(e) Is 2122 > 2221 ?
2. Fractions
Design a class fraction that allows you to store numbers in fractional form and do basic arithmetics with them. Your class declaration should include at least the following methods.
class fraction {
friend ostream &operator<< (ostream &os, const fraction &f);private:int numerator, denominator;void reduce();public:fraction(int n = 0, int d = 1) : numerator(n), denominator(d) { reduce(); }fraction operator+ (const fraction &f) const;fraction &operator+= (const fraction &f);bool operator< (const fraction &f) const;fraction operator- () const { fraction res(-numerator, denominator); return res; }};In particular, your class should execute all of the following statements correctly. Any fraction f = p Q with p Z, q N, should be printed in its reduced form as p/q, while fractionsqf = i Z should be printed as i.int main() {fraction a(1,12), b(1,25), c(1,300), e(3,4), f(2,5), g(7,2), h;cout << a << ” + ” << b << ” + ” << c << ” = ” << a+b+c << endl;if (-a < b) cout << -a << ” < ” << b << endl;else cout << -a << ” >= << b << endl;h = e*f-g;cout << e << ” * ” << f << ” – ” << g << ” = ” << h << endl;fraction i(-1,6), j(5,17), k(3,5);cout << i << ” + ” << j << ” / ” << k << ” = ” << i+j/k << endl;int m = 2, q = 1;fraction n(1,3), p(4,5), s(a), t(b), u(c), w(e), x(f), y(g), v, z;cout << m << ” + ” << n << ” = ” << m+n << endl;cout << p << ” – ” << q << ” = ” << p-q << endl;v = (a+=b-=u);cout << s << ” += ” << t << ” -= ” << u << ” = ” << v << endl;z = (e*=f/=g);cout << w << ” *= ” << x << ” /= ” << y << ” = ” << z << endl;double d = (double) e;if (d < f) cout << d << ” < ” << f << endl;else cout << d << ” >= << f << endl;return 0;}

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] C++ math compiler OOP in C++
$25