Ułamek dziesiętny
Ostatnio zmodyfikowano 2016-03-20 21:30
Skipper11 Temat założony przez niniejszego użytkownika |
Ułamek dziesiętny » 2016-03-20 16:13:06 Witam, robię taką prostą rzecz "Dodaj do klasy CUlamek funkcję float dziesietny() zwracającą ułamek w postaci dziesiętnej". W klasie dorzuciłam deklarację funkcji. Niżej stworzyłam coś takiego: float CUlamek::dziesietny() { float wynik; wynik = l / m; return wynik; }
No i potem w mainie próbuje tak: CUlamek A; A.pobierz(); A.dziesietny(); printf( A.dziesietny );
No i właśnie coś nie chce wypisać. Ja wiem, że to musi być jakieś nader prosta rzecz, ale jakoś nie mam pomysłu jak to naprawić ;x |
|
Gibas11 |
» 2016-03-20 16:33:01 A co jest nie tak? I jakiego typu masz zmienne l i m ? Jeżeli int , to musisz najpierw przeprowadzić konwersję pierwszej wartości ( l ) na float bo inaczej wynik też będzie typu int . wynik = static_cast < float >( l ) / m;
|
|
Skipper11 Temat założony przez niniejszego użytkownika |
» 2016-03-20 18:22:07 wynik = float( l ) / float( m ); Tak to teraz zmienione jest. A error jest taki 'CUlamek::dziesietny': function call missing argument list; use '&CUlamek::dziesietny' to create a pointer to member. W sumie próbowałam też zrobić specjalnie metodę w klasie do wypisywania tego, ale coś nie pykło. |
|
carlosmay |
» 2016-03-20 19:32:06 Jeśli w klasie program nie używa zmiennej wynik, a raczej nie bo jest deklarowana w metodzie można tak: float CUlamek::dziesietny() { return float( l ) / float( m ); } Brakuje nawiasu: printf( A.dziesietny() ); |
|
Skipper11 Temat założony przez niniejszego użytkownika |
» 2016-03-20 19:50:27 No i teraz IntelliSense: argument of type "float" is incompatible with parameter of type "const char *" Error 1 error C2664: 'int printf(const char *,...)' : cannot convert argument 1 from 'float' to 'const char *'
|
|
pekfos |
» 2016-03-20 20:45:53 Niepoprawnie używasz printf(). |
|
Skipper11 Temat założony przez niniejszego użytkownika |
» 2016-03-20 20:53:12 No pewnie trzeba by jakaś metodę do tego zrobić, co? Ale nie mam zbyt pomysłu na nią. |
|
michal11 |
» 2016-03-20 21:10:13 printf( "%f", A.dziesietny() ); |
|
« 1 » 2 |