Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Prosty program przeliczający cale na centymetry.

guru1989 31 Paź 2011 15:23 1712 4
  • #1 31 Paź 2011 15:23
    guru1989
    Poziom 6  

    Witam.

    Wałkuję trochę C, znalazłem książkę na wikibooks i próbuję swoich sił. Poniżej napisany przeze mnie program przeliczający cale na centymetry. Kompiluje się i działa, ale 'nie jest dokładny'. Mam tutaj na myśli, że w wyniku nie podaje miejsc po przecinku. Jak to zmienić?

    Kod: C
    Zaloguj się, aby zobaczyć kod


    Pozdrawiam!

    0 4
  • #2 31 Paź 2011 15:34
    beluosus
    Poziom 25  

    Każdy typ zajmuje jakieś miejsce w pamięci dlatego typy liczbowe (w tym przypadku liczba zmiennoprzecinkowa) mają swój zakres lub dokładność. Bardziej dokładny będzie double i long double.

    "Rozmiar typów zmiennoprzecinkowych zależy od konkretnych implementacji. Standardowo, typ float zajmuje co najmniej 4 bajty, double 8 bajtów, a long double zazwyczaj 8-12 bajtów. W przypadku kompilatora GCC w wersji 3.3.5, długości typów wynoszą odpowiednio 4, 8 i 12 bajtów, a w Visual C++ – 4, 8 i 8 bajtów."

    0
  • #3 31 Paź 2011 15:42
    guru1989
    Poziom 6  

    Tak właśnie myślałem, że trzeba zmienić typ i kombinowałem zmieniając to w kodzie, lecz nic to nie dało (czyt. robię to źle i w złym miejscu). Mógłbyś napisać gdzie trzeba double wklepać?

    0
  • #4 31 Paź 2011 21:54
    PrzemQ24
    Poziom 25  

    W deklaracji zmiennej:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #5 01 Lis 2011 09:12
    Xitami
    Poziom 29  

    printf("%0.15f", centymetry);

    0