Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 9] Błąd w działaniu programu

Ostatnio zmodyfikowano 2013-01-04 01:14
Autor Wiadomość
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:

C/C++
#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:

C/C++
#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 ;)
P-72761
czosnek17
» 2013-01-02 19:31:51
Zamiast przecinka używaj kropki i będzie działać :)
P-72766
TheApsik
» 2013-01-02 19:50:10
nie jestem znawcą ale zmienna int nie zapisuje chyba miejsc po przecinku tylko float.
P-72777
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
P-72883
« 1 »
  Strona 1 z 1