Witam. Mam do napisania program zaliczeniowy ze środowiska programisty, jest on już praktycznie skończony lecz pojawia sie mały problem pod linuxem. Mianowicie geany nie chce go skompilować (pod windowsem wszystko ładnie śmiga).
Czy mógłby ktoś pomóc dostrzec błąd w programie?
Kod programu:
#include
#include
#define PI 3.1415
float prostopadloscian(float dlugosc, float szerokosc, float wysokosc)
{
float objetosc_prostopadloscianu;
objetosc_prostopadloscianu = dlugosc * szerokosc * wysokosc;
return objetosc_prostopadloscianu;
}
float walec(float promien_podstawy_walca, float wysokosc_walca)
{
float objetosc_walca;
objetosc_walca = PI * promien_podstawy_walca * promien_podstawy_walca * wysokosc_walca;
return objetosc_walca;
}
float stozek(float promien_podstawy_stozka, float tworzaca_stozka)
{
float objetosc_stozka, pole_podstawy, wysokosc_stozka;
pole_podstawy = PI * promien_podstawy_stozka * promien_podstawy_stozka;
wysokosc_stozka = sqrt(tworzaca_stozka * tworzaca_stozka - promien_podstawy_stozka * promien_podstawy_stozka);
objetosc_stozka = (1.0/3.0) * pole_podstawy * wysokosc_stozka;
return objetosc_stozka;
}
int main()
{
float dlugosc, szerokosc, wysokosc, objetosc_prostopadloscianu;
float promien_podstawy_walca, wysokosc_walca;
float promien_podstawy_stozka, tworzaca_stozka, pole_podstawy;
float objetosc_walca, objetosc_stozka;
/*PROSTOPADLOSCIAN*/
printf ("Podaj 'dlugosc' naczynia w ksztalcie PROSTOPADLOSCIANU [w cm]: ");
while(!(scanf("%f", &dlugosc)==1 && getchar()=='\n' && dlugosc>=0))
{
printf("Podales zle dane sprobuj ponownie\n");
while(getchar()!='\n');
}
printf ("Podaj 'szerokosc' naczynia w ksztalcie PROSTOPADLOSCIANU [w cm]: ");
while(!(scanf("%f", &szerokosc)==1 && getchar()=='\n' && szerokosc>=0))
{
printf("Podales zle dane sprobuj ponownie\n");
while(getchar()!='\n');
}
printf ("Podaj 'wysokosc' naczynia w ksztalcie PROSTOPADLOSCIANU [w cm]: ");
while(!(scanf("%f", &wysokosc)==1 && getchar()=='\n' && wysokosc>=0))
{
printf("Podales zle dane sprobuj ponownie\n");
while(getchar()!='\n');
}
printf ("\nPodane wymiary prostopadloscianu:\n");
printf ("Dlugosc: %f cm\n", dlugosc);
printf ("Szerokosc: %f cm\n", szerokosc);
printf ("Wysokosc: %f cm\n\n", wysokosc);
printf ("Objetosc prostopadloscianu wynosi: %f cm3\n\n", prostopadloscian(dlugosc, szerokosc, wysokosc));
/*WALEC*/
printf ("Podaj 'promien podstawy' naczynia w ksztalcie WALCA [w cm]: ");
while(!(scanf("%f", &promien_podstawy_walca)==1 && getchar()=='\n' && promien_podstawy_walca>=0))
{
printf("Podales zle dane sprobuj ponownie\n");
while(getchar()!='\n');
}
printf ("Podaj 'wysokosc' naczynia w ksztalcie WALCA [w cm]: ");
while(!(scanf("%f", &wysokosc_walca)==1 && getchar()=='\n' && wysokosc_walca>=0))
{
printf("Podales zle dane sprobuj ponownie\n");
while(getchar()!='\n');
}
printf ("\nPodane wymiary walca:\n");
printf ("Promien podstawy: %f cm\n", promien_podstawy_walca);
printf ("Wysokosc: %f cm\n\n", wysokosc_walca);
printf ("Objetosc walca wynosi: %f cm3\n\n", walec(promien_podstawy_walca, wysokosc_walca));
/*STOZEK*/
printf ("Podaj 'promien podstawy' naczynia w ksztalcie STOZKA [w cm]: ");
while(!(scanf("%f", &promien_podstawy_stozka)==1 && getchar()=='\n' && promien_podstawy_stozka>=0))
{
printf("Podales zle dane sprobuj ponownie\n");
while(getchar()!='\n');
}
printf ("Podaj 'tworzaca' naczynia w ksztalcie STOZKA [w cm]: ");
while(!(scanf("%f", &tworzaca_stozka)==1 && getchar()=='\n' && tworzaca_stozka>=0))
{
printf("Podales zle dane sprobuj ponownie\n");
while(getchar()!='\n');
}
printf ("\nPodane wymiary stozka:\n");
printf ("Promien podstawy: %f cm\n", promien_podstawy_stozka);
printf ("Tworzaca stozka: %f cm\n\n", tworzaca_stozka);
printf ("Objetosc stozka wynosi: %f cm3\n\n", stozek(promien_podstawy_stozka, tworzaca_stozka));
float suma_objetosci;
suma_objetosci = prostopadloscian(dlugosc, szerokosc, wysokosc) + walec(promien_podstawy_walca, wysokosc_walca) + stozek(promien_podstawy_stozka, tworzaca_stozka);
printf ("Suma objetosci trzech naczyn wynosi: %f", suma_objetosci);
return 0;
}