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

[Lekcja 10] Zadanie domowe + poprzednie lekcje.

Ostatnio zmodyfikowano 2012-06-19 01:05
Autor Wiadomość
Rafals
Temat założony przez niniejszego użytkownika
[Lekcja 10] Zadanie domowe + poprzednie lekcje.
» 2012-06-18 23:18:45
Witam.
Mianowicie mam taki oto problem. W zadaniu należy napisać program dla liczb całkowitych. Korzystając z poprzednich lekcji chciałbym aby użytkownikowi wyświetlał się komunikat czy wpisał liczbę całkowitą. Oto co spłodziłem( kod nie dokończony jeżeli chodzi o obliczenia itd. itp.):
C/C++
#include <iostream>
int main()

{
    int a, b, dodawanie, odejmowanie, mnozenie, dzielenie, reszta;
   
    std::cout << "Podaj a: ";
    std::cin.clear();
    std::cin.sync();
    std::cin >> a;
    bool sprawdzA = std::cin.good();
   
    std::cout << "Podaj b: ";
    std::cin.clear();
    std::cin.sync();
    std::cin >> b;
    bool sprawdzB = std::cin.good();
   
    dodawanie = a + b;
    odejmowanie = a - b;
    mnozenie = a * b;
    dzielenie = a / b;
   
    reszta = a % b;
   
    std::cout << "Liczba a=" << a << "  Czy liczba 'a' jest liczba calkowita(1-tak, 0-nie)? '" << sprawdzA << "'" << std::endl;
    std::cout << "Liczba b=" << b;
   
   
    return 0;
}
No właśnie. Gdy wpiszę jakąkolwiek liczbę z zakresu typu zmiennej "int", ale zmiennoprzecinkową, program mi obetnie to co jest po przecinku. Czyli jak zrobić, aby program sprawdzał czy podana liczba "a" jest liczbą całkowitą. Hmm dopiero zaczynam przygodę, więc ciężko mi wytłumaczyć.
Czy metodą "cin.good();" możemy sprawdzić czy liczba jest liczbą całkowitą chociaż wpisaliśmy ( i deklarowaliśmy na początku programu ) liczbę rzeczywistą?
Wynik powyższego programu:
Podaj a: 12.3
Podaj b: 1
Liczba a=12 Czy liczba 'a' jest liczba calkowita(1-tak, 0-nie)? '1'
Liczba b=1
Chciałbym aby program wykonał:
Podaj a: 12.3
Podaj b: 1
Liczba a=12.3 Czy liczba 'a' jest liczba calkowita(1-tak, 0-nie)? '0'
Liczba b=1
EDIT Najprościej jak się da. Jak sprawdzić czy liczba rzeczywista zawiera się w zbiorze liczb całkowitych.
P-58679
OSA_PL
» 2012-06-19 00:06:35
Ja bym pobrał dane do zmiennej typu float i sprawdzał czy jest ona całkowita.
C/C++
float liczba;
int pomocnicza;
int main()
{
    //pobierasz liczbę do zmiennej liczba
    pomocznicza = liczba;
   
    if( liczba == pomocnicza ) //to liczba jest całkowita
    {
       
    }
   
}
P-58681
Rafals
Temat założony przez niniejszego użytkownika
» 2012-06-19 01:05:28
Ok dzięki za odpowiedź, po opisaniu mojego problemu zabrałem się za dalsze części kursu. Więc wcześniej nie miałem nawet możliwości aby to rozwiązać w ten sposób. Teraz to co napisałeś wydaje się takie oczywiste :D.
Dzięki zamykam.
P-58682
« 1 »
  Strona 1 z 1