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.
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;
}