ok wielkie dzięki :) już mi się miesza wszystko z C# i Java i zwyklego C. a niestety intellisense mi nie działa :/ Od razu się spytam by nie zakładać nowego tematu. Czemu dla danych:
licznik1 = 1;
licznik2 = 1;
mianownik1 = 2;
mianownik2 = 3;
wynik to 6/9 ? xd Nie mogę znaleźć błedu mógłby ktoś zerknąć ?
z klasy CRationalNum :
public:
CRationalNum(){
numerator = 0;
denominator = 1;
}
CRationalNum(int licznik, int mianownik){
numerator = licznik ;
if (mianownik == 0 ) mianownik = 1;
denominator = mianownik;
}
CRationalNum(const CRationalNum &ulamek){
numerator = ulamek.numerator;
denominator = ulamek.denominator;
}
int getNumerator(){
return this->numerator;
}
int getDenominator(){
return this->denominator;
}
CRationalNum operator+(const CRationalNum &a){
return CRationalNum( this->numerator*a.denominator + a.numerator*denominator, this->denominator * a.denominator );
}
Z Form :
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
int licznik1 = int::Parse(textBox1->Text);
int licznik2 = int::Parse(textBox4->Text);
int mianownik1 = int::Parse(textBox2->Text);
int mianownik2 = int::Parse(textBox3->Text);
CRationalNum* klasa = new CRationalNum(0,1);
CRationalNum* klasa2 = new CRationalNum(licznik1,mianownik2);
CRationalNum* klasa3 = new CRationalNum(licznik2,mianownik2);
float a = klasa->ulamek_dziesietny();
*klasa = *klasa2 + *klasa3;
int tmp = klasa->getNumerator();
int tmp2 = klasa->getDenominator();
MessageBox::Show( tmp.ToString());
MessageBox::Show( tmp2.ToString());