Witajcie nie wiem dlaczego źle dodaje mi wartości.
Kod:
#include<string>
#include<conio.h>
#include<stdio.h>
#include<iostream>
using namespace std;
class cUlamek
{
private:
int l, m;
public:
//Metody
void wypisz();
void pobierz();
void skroc();
cUlamek dodawanie(cUlamek X, cUlamek Y);
//cOsoba();
~cUlamek();
cUlamek();
cUlamek(int l, int m);
cUlamek(const cUlamek &abc);
};
void cUlamek::skroc()
{
int l, m, pom;
l = this->l;
m = this->m;
int max = l;
int min = m;
if (m > max)
{
max = m; min = l;
}
do{
pom = max % min;
max = min;
min = pom;
} while(pom != 0);
l = l / max;
m = m / max;
this->l = l;
this->m = m;
}
cUlamek::cUlamek()
{
this->l = 1;
this->m = 2;
cout << "\nKonstruktor zadzialal: \n\n";
}
cUlamek::cUlamek(const cUlamek &abc)
{
this->l = l;
this->m = m;
}
cUlamek cUlamek::dodawanie(cUlamek X, cUlamek Y)
{
cUlamek Z(l,m);
this->l = X.l+Y.l;
this->m = X.m+Y.m;
return Z;
}
void cUlamek :: pobierz()
{
int l, m;
cout << "Wprowadz licznik: ";
cin >> l;
cout << "Wprowadz mianownik: ";
cin >> m;
cout << "\n";
this->l = l;
this->m = m;
}
void cUlamek::wypisz()
{
cout << l << "/" << m<<"\n";
}
cUlamek::~cUlamek()
{
cout << "\n\n Destruktor zadzialal. ";
system("pause");
}
cUlamek::cUlamek(int l, int m)
{
cout << "\nKonstruktor zadzialal: \n\n";
this->l = l;
this->m = m;
}
int main()
{
int l=0, m=0;
/*
cout << "Wprowadz licznik: ";
cin >> l;
cout << "Wprowadz mianownik: ";
cin >> m;
cout << "\n";
*/
cUlamek pierwsza(l,m);
pierwsza.pobierz();
pierwsza.skroc();
pierwsza.wypisz();
cUlamek C(3,4);
//C.skroc();
cUlamek Z;
Z=Z.dodawanie(C, C);
Z.wypisz();
_getch();
}
Wiecie może dlaczego?