Witajcie. Postanowiłem że zrobię sobie jakiś prosty przelicznik miar w c++. Jednak już napotkałem na problem. Otóż gdy robię przelicznik np. z gramy na tony to wyskakują liczby wykładnicze typu 1.23e-004. Dodam że zmienne były typu double. Przeszukałem trochę internet w poszukiwaniu jak usunąć te wartości wykładnicze i znalazłem taki oto kod:
printf("%f",(liczba_do_zamiany*0.000001));
Na początku mi to działało ale teraz jakimś cudem pojawiły się dodatkowe wartości:
Powinno wyjść samo 10 a wychodzi 10.0000009.
Dodam jeszcze fragment kodu:
double gtona (double liczba_do_zamiany)
{
return printf("%f",(liczba_do_zamiany*0.000001));
} // funkcja obliczająca
case 3: // fragment głównej funkcji
cout << "Podaj liczbe do zamiany: ";
cin >> liczba_do_zamiany;
cout << gtona(liczba_do_zamiany) <<" ton"<< endl;
getchar();getchar();
system("cls");
O co może chodzić? Może źle użyłem tego printf?