Źle oblicza lub nie wczytuje zmiennej.

0

Witam wszystkich, otóż mam problem z moim programem. Problem polega na tym, że zamiast wyliczyć mi pole i obwód koła to podaje w wynikach wartości zerowe. Gdzie jest błąd?

#include <stdio.h>
#include <stdlib.h>


int main()
{
    // Prostokat

    int a,b,c,d ;

    printf ("Podaj pierwszy bok prostokata: \n") ;
    scanf ("%d",&a);
    printf ("Podaj drugi bok prostokata: \n") ;
    scanf ("%d" ,&b);

    c=a*b ; // Pole
    d=2*a + 2*b ; // Obwód

    printf ("Pole wynosi: %d \n",c );
    printf ("Obwod wynosi: %d \n",d );

    // Kolo

    long int o,p,r;

    printf ("Podaj promien okregu: \n");
    scanf ("%lf" ,&r); // Wczytywanie promienia

    p=3.14159265*r*r; // Pole kola
    printf ("Pole okregu wynosi: %d \n" ,p );

    o=2*3.14159265*r; // Obwod kola
    printf ("Obwod okregu wynosi: %d \n" ,o );

    return 0;
}
 
2
 
long int o,p,r;

te zmienne powinny być typu zmiennoprzecinkowego (popraw też przy wypisywaniu)

0

Dobrze rozumiem? Zamiast

 long int o,p,r;

ma być float o,p,r;

 ?
0

Dzięki :) Działa. Czyli kazdy typ zmiennej ma swoj rodzaj ( np. int ma %d ) wczytywania danych?

0

aby wyswietlic przez funkcje printf musisz w argumencie podac sposob w jaki printf ma wyswietlic. mozesz rowniez decydowac ile miejsc po precinku ma byc wyswietlonych

1 użytkowników online, w tym zalogowanych: 0, gości: 1