• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Czy float będzie poprawne?

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
1,016 wizyt
pytanie zadane 22 października 2015 w C i C++ przez patrycja Początkujący (450 p.)
zamknięte 22 października 2015 przez patrycja

"Napisz krótki program, który poprosi o podanie wzrostu w centymetrach, a następnie przekonwertuj ten wzrost na stopy i cale."

Cześć wszystkim, rozwiązuję sobie jedno zadanko, po napisaniu poszukałam odpowiedzi, czy jest poprawnie, no i wszystko gra. Nurtuje mnie tylko myśl, czy jestem na dobrej drodze ze zmienną float, testowałam i generalnie dokładność jest dobra, nie potrzeba tutaj chyba double, prawda? Pytam ponieważ znalazłam odpowiedź typem "double" wiem że to nie jest błąd, chcę tylko wiedzieć, czy też dalibyście float, czy jednak double.. Chociaż też wydaje mi się, że przy takim drobnym programiku to chyba nie ma znaczenia..

Podaję kod:

#include <iostream>

using namespace std;

int main()
{   cout<<"Podaj wzrost w centymetrach: "<<endl;
    int cm;
    cin>>cm;

    float cm_cal=2.54;
    float cm_stopa=30.48;
    float cal=cm/cm_cal;
    float stopa=cm/cm_stopa;

    cout<<"Twoj wzrost wynosi "<<cal<<" cali"<<endl;
    cout<<"Twoj wzrost wynosi "<<stopa<<" cali"<<endl;

      return 0;
 }
komentarz zamknięcia: rozwiązane

2 odpowiedzi

+1 głos
odpowiedź 22 października 2015 przez radek024 Szeryf (77,160 p.)

Na dodatek, takie rzeczy jak przelicznik cali na cm możesz użyć wyrażenie const, przez co - jak sama nazwa mówi - od tej pory zmienna będzie stałą ;)

double pi=3.14;
const double pi_stala=3.14;

tak to wygląda w rzeczywistości - zmienną pi można zmienić, co może powodować niekorzystne efekty podczas działania programu - stałej już nie, jest narzucona odgórnie.

komentarz 22 października 2015 przez patrycja Początkujący (450 p.)
no tak, to też miałam zrobić, dzięki :)
0 głosów
odpowiedź 22 października 2015 przez Radfler VIP (101,030 p.)
Float jak najbardziej tu pasuje. Typ ten z tego co pamiętam posiada precyzję do 6ciu miejsc po przecinku. Jednak mimo wszystko polecam w ogóle nie używać tego typu. Double jest lepszy, ma większą precyzję (15 miejsc) i niewiele większy rozmiar ;)
komentarz 22 października 2015 przez Radfler VIP (101,030 p.)
EDIT: Float ma precyzję do 7miu miejsc. http://en.cppreference.com/w/cpp/language/types [Tabelka na dole]
komentarz 22 października 2015 przez adrian17 Mentor (354,120 p.)

Jednak mimo wszystko polecam w ogóle nie używać tego typu. Double jest lepszy, ma większą precyzję (15 miejsc) i niewiele większy rozmiar ;)

Dwukrotnie większy. Plus wieksza precyzja przydaje się rzadziej niż myślisz; aplikacjom 3D praktycznie zawsze wystarczą floaty.

komentarz 22 października 2015 przez patrycja Początkujący (450 p.)
dziękuję, o taką odpowiedź mi chodziło! :)

Podobne pytania

0 głosów
4 odpowiedzi 517 wizyt
0 głosów
1 odpowiedź 212 wizyt
0 głosów
1 odpowiedź 154 wizyt

93,443 zapytań

142,434 odpowiedzi

322,691 komentarzy

62,805 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...