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: #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 |
|
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 |
|
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 |
|
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 ?? |
|
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; ... |
|
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. |
|
jankowalski25 |
» 2012-04-09 11:35:09 Biblioteka <math.h>Zaokrąglanie liczbMasz liczbę typu double. Jeśli po zaokrągleniu nie zmieni ona swej wartości, to znaczy, że jest liczbą całkowitą. |
|
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 ? |
|
« 1 » 2 3 |