program losujacy

0
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int liczba2;
int ilosc=0;


  srand( time( NULL ) );
    int liczba = ((rand() % 1000 ) + 1 );

do
{
int liczba2;
cout << "podaj liczbe";
cin >>liczba2;

     if (liczba2 > liczba   )
{


        cout <<"liczba za duza";
}
if (liczba2<liczba)

{
    cout <<"liczba za mala";
}
ilosc++;

}while (liczba2==liczba);
cout <<liczba<<endl;
cout <<"losc strzalow" <<ilosc<<endl;

return 0;
}

Problem polega na tym, że gdy trafie liczbe program nie kończy się tylko dalej prosi o liczbe. W czym robię błąd?

0

} while (liczba2==liczba);
a nie powinno być dopóki (liczba2 != liczba)?
edit: poprawiłem, dla jasności...

0

niestety nie pomogło.

1

niepotrzebnie po raz drugi deklarujesz zmienną 'liczba2' wewnątrz pętli. Ma ona zasięg tylko wewnątrz niej, a warunek jest sprawdzany dla zmiennej 'liczba2' zadeklarowanej przed pętlą..

1 użytkowników online, w tym zalogowanych: 0, gości: 1