PROGRAMOWANIE I ALGORYTMY

Skok bezwarunkowy goto


powrót

Budowa instrukcji goto

Skok bezwarunkowy goto jest najstarszym rodzajem pętli, który został wyparty przez pętlę for i pętlę while. Do konstrukcji instrukcji goto potrzebna jest etykieta, czyli takie słowo, które jest zakończone znakiem dwukropka (:). Etykieta musi występować w wierszu jako pierwsza. Gdy program napotka słowo kluczowe goto i nazwę tejże etykiety, to wykona on skok bezwarunkowy w miejsce wystąpienia etykiety. 

Nie jest wskazane stosowanie tego rodzaju instrukcji, ponieważ kod staje się nieczytelny, trudny do analizy oraz łamie ideę programowania strukturalnego.

Przykład 1

Napisz program, który  wyznaczy sumę n kolejnych liczb naturalnych.

Rozwiązanie

#include <iostream>
using namespace std;

int main()
{
	unsigned int i = 0, suma = 0, n;

	cout<<"Podaj ilość liczb do policzenia: ";
	cin>>n;

	licz: //etykieta licz

	suma+=i;

	if(i==n)
		goto koniec; //skocz do etykiety koniec
	else
	{
		i++;
		goto licz; //skocz do etykiety licz:
	}

	koniec:

	cout<<"Suma "<<n<<"-kolejnych liczb naturalnych wynosi: "<<suma<<endl;

	return 0;
}