Przelicznik odległości z KM na inne
Ostatnio zmodyfikowano 2021-11-07 21:29
Dzemu Temat założony przez niniejszego użytkownika |
Przelicznik odległości z KM na inne » 2021-10-12 15:31:55 Witam, muszę napisać program wczytujący z klawiatury liczbę zmiennoprzecinkową oznaczającą odległość w metrach, a następnie wyświetlający na ekranie odległość przeliczoną na cale, stopy, jardy, mile lądowe i mile morskie. Współczynniki konieczne do przeliczenia jednostek odległości zadeklarować w programie w postaci stałych. Utknąłem (mam nadzieję) na etapie końcowym czyli wypisaniu ile dajmy na to 1 metr wynosi w danej jednostce. Oto kod: #include <iostream>
int main() { const float dystansMILELADOWE = 1609; const float dystansCALE = 39.3; const float dystansSTOPY = 3.2; const float dystansJARDY = 1.09; const float dystansMILEMORSKIE = 1852; float MilaLadowa; float Cal; float Jard; float MilaMorska; float dystansM; printf( "%s", "Podaj dystansM: " ); scanf( "%f", "dystansM" ); MilaLadowa = dystansM * dystansMILELADOWE; Cal = dystansM * dystansCALE; Jard = dystansM * dystansJARDY; MilaMorska = dystansM * dystansMILEMORSKIE; printf( "Odległosc w Milach Ladowych %.1f", MilaLadowa ); } |
|
DejaVu |
» 2021-10-12 15:58:10 Poczytaj jak się używa scanf-a, bo użyłeś go źle. |
|
Dzemu Temat założony przez niniejszego użytkownika |
» 2021-10-12 16:23:32 int main() { const float dystansMILELADOWE = 1609; const float dystansCALE = 39.3; const float dystansSTOPY = 3.2; const float dystansJARDY = 1.09; const float dystansMILEMORSKIE = 1852; float MilaLadowa; float Cal; float Jard; float MilaMorska; float dystansM; printf( "%s", "Podaj dystansM: " ); scanf( "%d", & dystansM ); MilaLadowa = dystansM * dystansMILELADOWE; Cal = dystansM * dystansCALE; Jard = dystansM * dystansJARDY; MilaMorska = dystansM * dystansMILEMORSKIE; printf( "Odleglosc w Milach Ladowych: %d \n", MilaLadowa ); printf( "Odleglosc w Calach: %d \n", Cal ); printf( "Odleglosc w Jardach: %d \n", Jard ); printf( "Odleglosc w Milach Morskich: %d \n", MilaMorska ); } Poprawione ale wychodzi wszędzie 0 |
|
DejaVu |
» 2021-10-12 16:43:48 %d to int, a nie float, więc źle wczytuje Ci wartość do zmiennej. |
|
pekfos |
» 2021-10-12 18:17:18 %d to int, a nie float, więc źle wczytuje Ci wartość do zmiennej. To dotyczy również printf(), powinno być %f przy wprowadzaniu i wypisywaniu danych. Swoją drogą, pierwszy kod dołącza <iostream>, więc czemu scanf() i printf()? Odpowiedniki z C++ nie wymagają podawania dokładnych typów. Obsługa strumienia wejściowego |
|
madpl1239 |
» 2021-11-07 21:29:07 Ja bym to zrobił tak: #include <iostream>
int main() { const float dystansMILELADOWE = 1609.0f; const float dystansCALE = 39.3f; const float dystansSTOPY = 3.2f; const float dystansJARDY = 1.09f; const float dystansMILEMORSKIE = 1852.0f; float MilaLadowa = 0.0f; float Cal = 0.0f; float Jard = 0.0f; float MilaMorska = 0.0f; float dystansM = 0.0f; std::cout << "Podaj dystansM: "; std::cin >> dystansM; MilaLadowa = dystansM * dystansMILELADOWE; Cal = dystansM * dystansCALE; Jard = dystansM * dystansJARDY; MilaMorska = dystansM * dystansMILEMORSKIE; std::cout << "Odleglosc w Milach Ladowych: " << MilaLadowa << "\n"; std::cout << "Odleglosc w Calach: " << Cal << "\n"; std::cout << "Odleglosc w Jardach: " << Jard << "\n"; std::cout << "Odleglosc w Milach Morskich: " << MilaMorska << "\n"; return 0; }
pozdrawiam |
|
« 1 » |