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 » |