Niedziałająca pętla - w jaki sposób pozbyć się goto?

Niedziałająca pętla - w jaki sposób pozbyć się goto?
NA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Nie dam rady obejść się bez komendy goto. Nie mam pojecia dlaczego petla nie chce sie zamykać. Mam jeszcze jedno pytanie, jak mógłbym poprawić kod, żeby wyświetlała mi sie ilość prób przed odgadnięciem liczby. Tzn. gdzie muszę wstawić funkcję proby=proby+1, żeby zaczęło działać. Jestem nowym programistom, dlatego zrozumcie moje problemy.

Kopiuj
#include <iostream>
int main()
{
	int liczba;

	
	do {
		
	std::cout<<"Zgadnij liczbe od 1 do 100: ";
	std::cin>>liczba;
	std::cout<<"\n\n";
	

	if (liczba < 50)
	 std::cout<<"Podana liczba jest zbyt mala. Sprobuj ponownie\n";
	 
	 else if (liczba>50)  
	 	 std::cout<<"Podana liczba jest za duza. Sprobuj ponownie\n";
	
} while (liczba = 50);
end:
std::cout<<"Brawo, zgadnales ze liczba wynosi 50";
}

dodanie kodu do posta - furious programming

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1683
1

w warunku masz przypisanie. powinno być } while (liczba != 50); . jakbyś nie wiedział ocb łap - http://pl.wikibooks.org/wiki/C/Operatory ;]

Lucas Darkstorm
  • Rejestracja: dni
  • Ostatnio: dni
2
Kopiuj
#include <iostream>

using namespace std ;

int main()
{
  int number = 0 ;

  while(1)
  {
    cin >> number ;

    if (number != 50)
    {
       cout << "Podales nieprawidlowa liczbe. Sprobuj jeszcze raz." << endl ;
    }
    else
    {
      cout << "Brawo. Udalo Ci sie!" << endl ;
      break ;
    }
  }
}

Wersja z licznikiem:

Kopiuj
#include <iostream>

using namespace std ;

int main()
{
  int number = 0 ;
  int counter = 3 ;

  while (counter != 0)
  {
	  cout << "Zostaly Ci " << counter << " proby. Podaj liczbe:" ;

	  cin >> number ;

	  if (number == 50)
	  {
		  cout << "Brawo! Odgadles liczbe ;)" << endl ;
		  break ;
	  }

	  counter-- ;
  }

  if (counter == 0)
  {
	  cout << "Przegrales brachu :(" << endl ;
  }
}
NA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Ok, rozumiem błąd, rozumiem błąd teraz. Jeśli chodzi o licznik, to chciałem zrobić coś takiego, co liczy ilość powtórzeń pętli, np. pomyliłeś się i zgadłeś dopiero po 5 razie, to pokazuje ci, że "Gratulacje, zgadłeś za:" "ile" razem"

Lucas Darkstorm
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
int counter = 1 ;

for (; ; counter++)
{
  // Wprowadzanie liczby i sprawdzanie warunku
}

cout << "Zgadles za " << counter << " razem." << endl ;
MD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 280
0

Jestem nowym programistom

W woli scislosci nie jestes programistom, a osoba ktora chce nim zostac :P

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.