Licznik nie działa

0

Witam.
Nie działa licznik, który zlicza ilość prób odgadnięcia. Jakieś sugestie???

#include <iostream>
#include <ctime>
using namespace std;

int main()
{
	int nLicznik;
	int nLiczba;

	srand ( time_t (NULL));
int nWylosowana = rand () % 1000 + 1 ;

	cout << "Zgadnij liczbe od 1 do 1000 " << endl;
	cout << "Podaj liczbe: ";
	cin >> nLiczba;
	cin.sync();
	cin.clear();

do 
{
	if (nLiczba < nWylosowana)

		cout << "Liczba jest za mala." << endl;
	else
		cout << "Liczba jest za duza." << endl;

	cout << "Sprobuj jeszcze raz: " ;
	cin >> nLiczba;
	cin.sync();
	cin.clear();

}while (nLiczba != nWylosowana);

cout << "Gratulacje probowales " << nLicznik << "raz(y)." << endl;
nLicznik++;

return 0;
}

 
0

działa, ale liczy uruchomienia programu, a nie obroty pętli

0

Aha, a jak to zmienić aby działało?? Umieścić zmienną w pętli czy jak ...???

0

a czemu nie sprawdzisz?

0

Sprawdziłem nadal nie działa.

0

nLicznik++; powinieneś mieć w pętli do..while

0
#include <iostream>
#include <ctime>
using namespace std;
 
int main()
{
        int nLicznik = 0;
        int nLiczba;
 
        srand ( time_t (NULL));
int nWylosowana = rand () % 1000 + 1 ;
 
        cout << "Zgadnij liczbe od 1 do 1000 " << endl;
        cout << "Podaj liczbe: ";
        cin >> nLiczba;
        cin.sync();
        cin.clear();
 
do 
{
        if (nLiczba < nWylosowana)
 
                cout << "Liczba jest za mala." << endl;
        else
                cout << "Liczba jest za duza." << endl;
 
        cout << "Sprobuj jeszcze raz: " ;
        cin >> nLiczba;
        cin.sync();
        cin.clear();
        nLicznik++;
 
}while (nLiczba != nWylosowana);
 
cout << "Gratulacje probowales " << nLicznik << "raz(y)." << endl;
 
return 0;
}
 

zmienna nLicznik musi zwiększać swoją wartość po każdej próbie, a nie po wylosowaniu poprawnej liczby.

0

Naucz się używać debugera, za pomocą niego takie błędy są bardzo łatwo wykrywalne...

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