jezv 1 rok pred
rodič
commit
55f59015aa
6 zmenil súbory, kde vykonal 47 pridanie a 1 odobranie
  1. 3 0
      .gitignore
  2. 2 0
      Fraction.h
  3. 20 0
      Fractional.cpp
  4. 1 1
      List
  5. 10 0
      main_fractional.cpp
  6. 11 0
      makefile

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+.vscode
+*.o
+*.out

+ 2 - 0
Fraction.h

@@ -12,6 +12,8 @@ class Fraction
     Fraction(double r);
 
     operator Rational();
+    operator double();
+    operator int();
 
     void show();
 

+ 20 - 0
Fractional.cpp

@@ -11,12 +11,21 @@ Fraction::Fraction(long long int num, long long int denum)
     int layer, spec;
     while(num > 1 or denum > 1)
     {
+        if (num == 0 or denum == 0) {
+            cout << num + denum << endl;
+            layers.add(num + denum);
+            break;
+        }
         layer = num / denum;
         spec = denum;
         denum = num - (layer*denum);
         num = spec;
+        cout << layer;
         layers.add(layer);
+        cout << " added\n";
+        cout << num << ' ' << denum << endl; 
     }
+    cout << "init success" << endl;
 }
 
 Fraction::Fraction(Rational r)
@@ -45,8 +54,19 @@ Fraction::operator Rational()
     return Rational(denum, num);
 }
 
+Fraction::operator double()
+{
+    return double(Rational(*this));
+}
+
+Fraction::operator int()
+{
+    return int(double(*this));
+}
+
 ostream& operator <<(ostream& out, Fraction& f)
 {
+    cout << "<< oper" << endl;
     out << f.layers;
     return out;
 }

+ 1 - 1
List

@@ -1 +1 @@
-Subproject commit 0adb4335f2cf65df109387bf070278e00852467a
+Subproject commit fc2bee4ed6cac972a1225fd4b454f298d9617c97

+ 10 - 0
main_fractional.cpp

@@ -0,0 +1,10 @@
+#include <iostream>
+#include "Fraction.h"
+#include "../Rational.h"
+
+int main() {
+    Fraction f(567, 333);
+    cout << f << endl;
+    cout << Rational(f);
+    return 0;
+}

+ 11 - 0
makefile

@@ -0,0 +1,11 @@
+all: Fractional.o main_fractional.o
+	g++ Fractional.o main_fractional.o
+
+Fractional.o: main_fractional.cpp
+	g++ -c Fractional.cpp
+
+main_fractional.o: main_fractional.cpp
+	g++ -c main_fractional.cpp
+
+clean:
+	rm -rf *.o all