Jump to content

Archived

This topic is now archived and is closed to further replies.

TheDesertEagle

C++ problem z klasą

Recommended Posts

Kiedy wprowadzam zmienne jakiegoś typu (float/double) do obiektu (podstawiam pod zmienne tego samego typu w obiekcie) i wywołuję metodę w nim zawartą która coś odejmuje zwraca mi takie coś do main'a jako wynik odejmowania: 4.17768e-315. Druga metoda w obiekcie która wykonuje wyłącznie operacje na dodawaniu zwraca wyniki poprawnie. Co może być tego przyczyną?

Link to comment
Share on other sites

Ja rozumiem ten problem tak, że kolego TheDesertEagle nie wie co to jest postać wykładnicza. Jeżeli wyświetlasz wynik za pomocą printf to zamiast %e, podaj %f i liczba zostanie wyświetlona w bardziej czytelnym dla człowieka formacie.

Link to comment
Share on other sites

Z tego co mi wiadomo do wyświetlania w C++ służy cout, o tym printf nie słyszałem. Nie mam pojęcia jaki robiłem błąd ale udało mi się go rozwiązać, napisałem program od początku, i metoda ,,Odejmij" zaczęła mi działać poprawnie.:D W każdym razie za pomoc dziękuję. Poniżej podaję kod może się przyda komuś kto uczy się pisania klas :

//////////////////////////////////////////////////////////

#include<iostream>

#pragma hdrstop

using namespace std;

class tx

{private:

double a1;

double a2;

public:

tx::tx();

tx::tx(double b1,double b2);

double Dodaj(double b1,double b2);

double Odejmij(double b1,double b2);

};

int main()

{

double c1;

double c2;

cin>>c1;

cin>>c2;

tx d1;

double g;

g=d1.Odejmij(c1,c2);

cout<<"Z funkcji odejmij: "<<g<<endl;

system("pause");

return 0;

}

tx::tx()

{a1=0;

a2=0;}

tx::tx(double b1,double b2)

{a1=b1;

a2=b2;}

double tx::Dodaj(double b1,double b2)

{a1=b1;

a2=b2;

return a1+a2;}

double tx::Odejmij(double b1,double b2)

{a1=b1;

a2=b2;

return a1-a2;}

/////////////////////////////////////////////////////////

Link to comment
Share on other sites



  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...