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

Sprawdź, czy liczba jest całkowita

Ostatnio zmodyfikowano 2012-04-09 17:53
Autor Wiadomość
Kameleon
Temat założony przez niniejszego użytkownika
Sprawdź, czy liczba jest całkowita
» 2012-04-09 10:18:29
Chciałem napisać program pobierający od użytkownika liczbę, jeśli liczba będzie z przecinkiem ma powtórzyć działanie:

C/C++
#include<iostream>
#include<cstdio>
#include<cstdlib>


using namespace std;

int main()
{
   
    int a;
    int b = 13;
   
    do
    {
        cout << "Wprowadz liczba calkowita ";
        cin >> a;
        a = a * b;
       
       
    } while( a % b != 0 );
   
   
   
    system( "pause" );
    cin.ignore();
    getchar();
    return 0;
}

Próbowałem zrobić coś ... z int a na double a ... jednak w pętli while musi być int.
Proszę o pomoc.
Jeszcze jedno! Nie chcę gotowych programów na razie ... Chcę jakieś podpowiedzi, albo coś co mnie zmusi do myślenia! :P
P-54142
ptaq
» 2012-04-09 10:24:57
dlaczego musi byc int ? zadeklaruj sobie zmienno przecinkowa, w petli sprawdzaj reszte z dzielenia, jesli reszta rowna zero to wychodzisz z petli.


ps. opis dzialania programu masz troche niespójny z kodem który podaleś wieć nie wiem czy dobrze sie zrozumieliśmy :D
P-54143
Kameleon
Temat założony przez niniejszego użytkownika
» 2012-04-09 10:33:05
No właśnie nie mogę, jeśli deklaruje double a.
To wyskakuje komunikat, że nie może tak być.

No jeśli jest zły no to powiedz jak ty byś to zrobił, nakieruj mnie jakoś :P
P-54144
ptaq
» 2012-04-09 10:40:56
piszesz ze chcesz sprawdzac liczbe na wejsciu wiec, powiedz po co ci to
b = 13
 i to
a = a * b
  ??
P-54145
Kameleon
Temat założony przez niniejszego użytkownika
» 2012-04-09 10:52:40
No bo ja sobie wykombinowałem tak:
-wprowadzam 2, 2*13=26,  26/13=2, reszty 0 ...
-wprowadzam 2,3 , 2,3*13=29,9 , reszta jest ... :P , wiec wraca do cin>>a; ...
P-54146
ptaq
» 2012-04-09 11:02:47
tylko jak do inta chcesz przypisac liczbe zmienno-przecinkowa ?;p
wyjsc z petli mozesz tak 
while( a -( int ) a != 0 )
 z tym ze a jest typu float.
P-54147
jankowalski25
» 2012-04-09 11:35:09
» Kurs C++Biblioteka <math.h> lekcja

Zaokrąglanie liczb

Masz liczbę typu double. Jeśli po zaokrągleniu nie zmieni ona swej wartości, to znaczy, że jest liczbą całkowitą.
P-54148
Kameleon
Temat założony przez niniejszego użytkownika
» 2012-04-09 13:28:06
Obydwa sposoby mi się bardzo spodobały ( będę stosował ten round(liczba) ) .
Jednak mnie bardziej interesuje sposób bez biblioteki <math.h> oraz tego dziwnego sposobu "a-(int)" .
Jest jakiś inny sposób? Np. z wykorzystaniem pętli for ?
P-54165
« 1 » 2 3
  Strona 1 z 3 Następna strona