Witam, mam mały problem przy ćwiczeniu z C++, otóż mam napisać prosty program, który dzieli dwie liczby i zrobić przy pomocy pętli while, żeby nie chciał dzielić przez zero, ale niby wszystko mam ok, a nie działa tak jak należy. Proszę o pomoc.
O to mój kod;
int main()
cout << "Podaj a" << endl;
cin >> a;
cout << "Podaj B" << endl;
cin >> b;
while(b=0)
cout << "Nie dzieli się przez zero dziwko" << endl;
cout << "Podaj jeszcze raz poprawna liczbe B" << endl;
cin >> b;
cout << a << " dzielone przez " << b << " = " << a/b;
getch();
return 0;
Nie zdefiniowałeś zmiennych. Znak = służy do przypisywania, znak == oraz != służy do nadawaniu warunków.
Co to znaczy " nie działa tak jak należy"?
Ok działa, dzięki za błskawiczną odpowiedź. Zmienne miałem zadeklarowane, nie wkleiłem w treść posta cały kod tylko to najważniejsze. Mój błąd polegał na tym, że przypisywałem zamiast nadawać warunek. Pozdrawiam
Narmo -> to znaczy to, że przy każdym dzieleniu wywalało mi wynik taki sam a konkretnie:
1.#INF
A nie, źle przeczytałem, nvm...
Narmo - No nie wiem, hmm, hmmm, spójrzmy na kod, co też może w nim być nie tak? Starasz się być zabawny?
Slow Motion - widzisz, tak sie sklada, ze jezeli ktos oczekuje pomocy to moglby chociaz poprawnie zdefiniowac problem. Wiem ze to banalny program i po 3 sekundach patrzenia w kod widac co jest nie tak ale nie o to chodzi - jak wchodzisz do doktora to pokazujesz palcem na gardlo i mowisz "heal me bijacz"?
OP wkleił napisany przez siebie kod, opisał co ma robic i spytal dlaczego nie dziala. Kod ma całe 12 linijek.
Nie zesrajcie sie czasem.
Nie znam c++ ale raczej powinno byc while(b !=0) i w tym zawarty kod, w dwoch miejscach definiujesz b, czy program dziala poprawnie jak dwa razy podasz 0?
Jest dobrze, dopóki do zmiennej b będzie wczytywane 0 pętla będzie się powtarzać, jeśli wczyta cokolwiek innego program przejdzie dalej. Jest to słabo widoczne bo na GOLu nie ma nawiasów klamrowych i ciężko zobaczyć gdzie jest otwierany a gdzie zamykany blok.