Obliczanie pola i objetosci figur za pomoca własnych funkcji

Problemy i ich rozwiązania w C++.
sinus
Początkujący
Początkujący
Posty: 9
Dołączył(a): sobota, 3 listopada 2012, 14:05

Obliczanie pola i objetosci figur za pomoca własnych funkcji

Post przez sinus »

Mam obliczyc pole i objetośc trzech brył za pomoca własnych funkcji ale mam problem bo program sie kompiluje ale nie uruchamia
oto kod:

Code: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

int Torus()
{
    int r,R;
    cout<<"Oblicz pole powierzchni i objetosc:\n a) Torusa\n b) Szescianu\n c) Kuli."<<endl;
    cout<<"a)"<<endl;
    cout<<"Pole powierchni i objetosci torusa."<<endl;
    cout<<"Podaj dowolna liczbe dla:"<<endl;
    cout<<"r = "; cin>>r;
    cout<<"R = "; cin>>R;
    cout<<"S1 = "<<4*pow(M_PI,2)*r*R <<endl; 
    cout<<"V1 = "<<2*pow(M_PI,2)*R*pow(r,2)<<endl;   
}
int Szescian()
{
    int a;
    cout<<"b)"<<endl;
    cout<<"Pole powierzchni i objetosc szescianu."<<endl;
    cout<<"Podaj dowolna liczbe dla:"<<endl;
    cout<<"a = "; cin>>a;
    cout<<"S2 = "<<6*pow(a,2)<<endl;
    cout<<"V2 = "<<pow(a,3)<<endl;
    
}
int Kula()
{
    int R1;
    cout<<"c)"<<endl;
    cout<<"Pole powierzchi i objetosc kuli."<<endl;
    cout<<"Podaj dowolna liczbe dla:"<<endl;
    cout<<"R1 = "; cin>>R1;
    cout<<"S3 = "<<4*M_PI*pow(R1,2)<<endl;
    cout<<"V3 = "<<4/3*M_PI*pow(R1,3)<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
gdzie popełniam bład.
Prosze o pomoc.
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Obliczanie pola i objetosci figur za pomoca własnych fun

Post przez Morfidon »

Nie stworzyłeś funkcji main.
sinus
Początkujący
Początkujący
Posty: 9
Dołączył(a): sobota, 3 listopada 2012, 14:05

Re: Obliczanie pola i objetosci figur za pomoca własnych fun

Post przez sinus »

czy to powinno byc tak jak teraz?

Code: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;


int main()
{
 int torus();
 {
int r,R;
cout<<"Oblicz pole powierzchni i objetosc:\n a) Torusa\n b) Szescianu\n c) Kuli."<<endl;
cout<<"\na)"<<endl;
cout<<"Pole powierchni i objetosci torusa."<<endl;
cout<<"Podaj dowolna liczbe dla:"<<endl;
cout<<"r = "; cin>>r;
cout<<"R = "; cin>>R;
cout<<"S1 = "<<4*pow(M_PI,2)*r*R <<endl; 
cout<<"V1 = "<<2*pow(M_PI,2)*R*pow(r,2)<<endl;
}
int szescian();
{
int a;
cout<<"\nb)"<<endl;
cout<<"Pole powierzchni i objetosc szescianu."<<endl;
cout<<"Podaj dowolna liczbe dla:"<<endl;
cout<<"a = "; cin>>a;
cout<<"S2 = "<<6*pow(a,2)<<endl;
cout<<"V2 = "<<pow(a,3)<<endl;
 }
int kula();
 {
 int R1;
 cout<<"\nc)"<<endl;
 cout<<"Pole powierzchi i objetosc kuli."<<endl;
 cout<<"Podaj dowolna liczbe dla:"<<endl;
 cout<<"R1 = "; cin>>R1;
 cout<<"S3 = "<<4*M_PI*pow(R1,2)<<endl;
 cout<<"V3 = "<<4/3*M_PI*pow(R1,3)<<endl;
}
    system("PAUSE");
    return EXIT_SUCCESS;
}
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Obliczanie pola i objetosci figur za pomoca własnych fun

Post przez Morfidon »

Nie. Obejrzyj lekcje odnośnie funkcji. Źle deklarujesz funkcje. Co prawda działa Ci to, ale przypadkiem.
sinus
Początkujący
Początkujący
Posty: 9
Dołączył(a): sobota, 3 listopada 2012, 14:05

Re: Obliczanie pola i objetosci figur za pomoca własnych fun

Post przez sinus »

czyli powinienem zaczac tak

Code: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

void torus(float pole, float objetosc, int r, int R);
void szescian(float pole, float objetosc, int a);
void kula(float pole, float objetosc, int R1);

int main()
{
ale nie wiem jak dalej postepowac
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Obliczanie pola i objetosci figur za pomoca własnych fun

Post przez Morfidon »

Teraz jest dobrze. Teraz wystarczy, że wywołasz funkcje w funkcji main.
sinus
Początkujący
Początkujący
Posty: 9
Dołączył(a): sobota, 3 listopada 2012, 14:05

Re: Obliczanie pola i objetosci figur za pomoca własnych fun

Post przez sinus »

czyli cały kod powinien wygladac tak czy jeszcze jakos inaczej

Code: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

void torus(float pole, float objetosc, int r, int R);
void szescian(float pole, float objetosc, int a);
void kula(float pole, float objetosc, int R1);

int main()
{
 int torus();
 {
int r,R;
cout<<"Oblicz pole powierzchni i objetosc:\n a) Torusa\n b) Szescianu\n c) Kuli."<<endl;
cout<<"\na)"<<endl;
cout<<"Pole powierchni i objetosci torusa."<<endl;
cout<<"Podaj dowolna liczbe dla:"<<endl;
cout<<"r = "; cin>>r;
cout<<"R = "; cin>>R;
cout<<"S1 = "<<4*pow(M_PI,2)*r*R <<endl; 
cout<<"V1 = "<<2*pow(M_PI,2)*R*pow(r,2)<<endl;
}
int szescian();
{
int a;
cout<<"\nb)"<<endl;
cout<<"Pole powierzchni i objetosc szescianu."<<endl;
cout<<"Podaj dowolna liczbe dla:"<<endl;
cout<<"a = "; cin>>a;
cout<<"S2 = "<<6*pow(a,2)<<endl;
cout<<"V2 = "<<pow(a,3)<<endl;
 }
int kula();
 {
 int R1;
 cout<<"\nc)"<<endl;
 cout<<"Pole powierzchi i objetosc kuli."<<endl;
 cout<<"Podaj dowolna liczbe dla:"<<endl;
 cout<<"R1 = "; cin>>R1;
 cout<<"S3 = "<<4*M_PI*pow(R1,2)<<endl;
 cout<<"V3 = "<<4/3*M_PI*pow(R1,3)<<endl;
}
    system("PAUSE");
    return EXIT_SUCCESS;
}
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Obliczanie pola i objetosci figur za pomoca własnych fun

Post przez Morfidon »

Nie.

Funkcje wywołujesz podając nazwę funkcji a następnie dodajesz do tego nawiasy, ew. w nawiasach przesyłasz argumenty.

Code: Zaznacz cały

nazwa_funkcji(arg1,arg2);
Swoją drogą fajnie jakbyś najpierw obejrzał wszystkie lekcje, a później zadawał pytania. Tracisz na to mnóstwo czasu. Masz zrobione podobne zadanie w lekcji 14.
Post Reply