[Lekcja 9] Błąd w działaniu programu
Ostatnio zmodyfikowano 2013-01-04 01:14
Wylfryd Temat założony przez niniejszego użytkownika |
[Lekcja 9] Błąd w działaniu programu » 2013-01-02 19:21:02 Mam taki problem. Chciałem napisać program, który wczyta dwie podane liczby i wyświetli je na ekranie. Stworzyłem taki kod: #include <iostream> int main() { double a, b; std::cout << "Wprowadz a" << std::endl; std::cin >> a; std::cout << "Wprowadz b" << std::endl; std::cin >> b; std::cout << "Liczba a= " << a << std::endl; std::cout << "Liczba b= " << b << std::endl; return 0; } Po kompilacji wyświetla mi się komunikat proszący o podanie a. Więc wprowadzam (np.) 34,5. Następnie wyskakuje mi (naraz): Wprowadz b Liczba a= 34 Liczba b= 0 Taki sam efekt (tzn. ucina ułamki w a i nie daje możliwości podania b) osiągnąłem kopiując pierwszy przykład z lekcji, z akapitu "Wczytywanie danych". Znaczy się to: #include <iostream> int main() { int a; float b; std::cout << "Podaj liczbe calkowita: "; std::cin >> a; std::cout << "Podaj liczbe rzeczywista: "; std::cin >> b; std::cout << "Liczba a = " << a << std::endl; std::cout << "Liczba b = " << b << std::endl; return 0; } Jakieś pomysły co jest nie tak? Z góry dzięki za pomoc! ;) PS. Litości, zielony w temacie jestem ;) |
|
czosnek17 |
» 2013-01-02 19:31:51 Zamiast przecinka używaj kropki i będzie działać :) |
|
TheApsik |
» 2013-01-02 19:50:10 nie jestem znawcą ale zmienna int nie zapisuje chyba miejsc po przecinku tylko float. |
|
abdi |
» 2013-01-04 01:14:04 Masz w kodzie dwa typy zmiennych: float zapisuje liczby z ułamkiem oraz double który też zapisuje liczby z ułamkiem tyle że z dwa razy większą precyzją (kosztem pamięci).
Jeśli wprowadzasz do wejścia konsoli liczbę z ułamkiem, część ułamkową musisz wprowadzić po kropce tzn: 3.44 a nie 3,44 |
|
« 1 » |