-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDecimal.h
More file actions
93 lines (52 loc) · 2.04 KB
/
Decimal.h
File metadata and controls
93 lines (52 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//
// Created by Eldar on 06-Nov-18.
//
#include <string>
using namespace std;
#ifndef EX01_DECIMAL_H
#define EX01_DECIMAL_H
class Decimal {
private:
string number;
public:
// Constructors
Decimal(const char number[]);
Decimal(const string num);
Decimal() {};
// Operators
Decimal operator+(const Decimal &number) const;
Decimal operator-(const Decimal &number) const;
Decimal operator*(const Decimal &number) const;
Decimal operator/(const Decimal &number) const;
Decimal operator%(const Decimal &number) const;
Decimal &operator+=(const Decimal &number);
Decimal &operator-=(const Decimal &number);
Decimal &operator*=(const Decimal &number);
bool operator>(const Decimal &number) const;
bool operator>=(const Decimal &number) const;
bool operator<(const Decimal &number) const;
bool operator<=(const Decimal &number) const;
bool operator==(const Decimal &number) const;
Decimal operator<<(const int number) const;
Decimal operator>>(const int number) const;
Decimal operator>>=(const int number);
Decimal &operator++();
Decimal operator++(int);
Decimal &operator--();
Decimal operator--(int);
// Function to find smaller number, return true if str1 smaller then str2
bool findSmaller(string str1, string str2) const;
// Assist function for long division, return remainer or value according to flag bool
string longDivision(string number, string divisor, bool flg) const;
// Subtract function to assist long division for small numbers
Decimal cut(string number, string divisor, bool flg) const;
// Get and set
string getValue() const;
void setValue(const string string1);
// Deep copy for cloning
Decimal deepClone();
// Function to convert from int to string and vice versa
static string intToString(const long int x);
static int stringToInt(const string str);
};
#endif //EX01_DECIMAL_H