Fix output and mov sign out front
This commit is contained in:
parent
3849d1b833
commit
6924ce6031
1 changed files with 17 additions and 6 deletions
|
@ -58,9 +58,6 @@ class fraction {
|
|||
d = q.d;
|
||||
}
|
||||
fraction(double dec) {
|
||||
if(dec < 0) {
|
||||
dec = dec * (double) -1;
|
||||
}
|
||||
int precision = get_precision(dec);
|
||||
signed long long denominator = 1;
|
||||
for(int i = 0; i < precision; i++) {
|
||||
|
@ -116,12 +113,26 @@ class fraction {
|
|||
return a * b;
|
||||
}
|
||||
friend ostream &operator<<( ostream &os, const fraction &q ) {
|
||||
signed long long num = q.n;
|
||||
signed long long den = q.d;
|
||||
string s = "";
|
||||
if(q.n < 0) {
|
||||
s = "-";
|
||||
num = num * -1;
|
||||
}
|
||||
if(q.d < 0) {
|
||||
s = "-";
|
||||
den = den * -1;
|
||||
}
|
||||
if(q.get_sign() == 1) {
|
||||
string s = "";
|
||||
}
|
||||
if( q.d == q.n) {
|
||||
os << 1;
|
||||
os << s << 1;
|
||||
} else if(q.d == 1) {
|
||||
os << q.n;
|
||||
os << s << num;
|
||||
} else {
|
||||
os << '(' << q.n << '/' << q.d << ')';
|
||||
os << s << '(' << num << '/' << den << ')';
|
||||
}
|
||||
return os;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue