Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Rekurencyjna funkcja obliczająca pole powierzchni i objętość kuli

Ostatnio zmodyfikowano 2013-11-12 21:18
Autor Wiadomość
mzk13
Temat założony przez niniejszego użytkownika
[C++] Rekurencyjna funkcja obliczająca pole powierzchni i objętość kuli
» 2013-11-12 20:59:08
Witam mam do napisania program: "Napisz i wykorzystaj funkcję, która zwraca pole powierzchni i objętość kuli o podanym
promieniu. Do zwrócenia wyniku należy wykorzystać referencję." Stworzyłem kod:
C/C++
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;

void kula( float & objetosc, float & pole, float R )
{
    float P, V;
    cin >> R;
    P = 4 * 3, 14 *( float ) pow( R, 2 );
    V =( 4 * 3, 14 *( float ) pow( R, 3 ) ) / 3;
}
int main()
{
    float V, R, P;
    kula( V, P, R );
    cout << V << " " << P << endl;
    system( "pause" );
    return 0;
}
Nie wczytuje on jednak poprawnie wyniku i nie potrafię znaleźć błędu. Proszę o wskazówki.
P-96143
Buby
» 2013-11-12 21:14:54
Usun z funkcji kula zmienne
float P, V
.

A ich wyliczenie poniżej odpowiednio zamień na
pole
 i
objetosc
.

Wynik wypisuje z kosmosu, bo tworzysz w funkcji zmienne lokalne, które nie są dostępne w funkcji main. :)

Mówiąc prościej, obliczenia wykonuj na zmiennych w deklaracji funkcji - odpowiednio wywołanie:

C/C++
void Kula( float & pole, float & objetosc ) //Funkcja pobierze zmienna razem z adresem.
{
    // Tutaj robiac dzialania na zmiennych uzywasz nazw z deklaracji - pole, objetosc.
}


/*Wywolanie w mainnie */

Kula( V, P ) // To tylko wstawienie wartosci zmiennych V i P do pole i objetosc :)
P-96146
mzk13
Temat założony przez niniejszego użytkownika
» 2013-11-12 21:17:46
Racja, dzięki za pomoc. :)
P-96147
hexperos
» 2013-11-12 21:18:16
powinno byc jakos tak :
C/C++
//float P,V;
cin >> R;
pole = 4 * 3.14; //*(float)pow(R,2);
objetosc =( 4 * 3.14 *( float ) pow( R, 3 ) ) / 3;

argumenty formalne pole i objetosc przesylasz przez referencje wiec beda one dostepne w main.
P-96148
« 1 »
  Strona 1 z 1