Beispiel Sprunganweisung

goto.cpp
#include <iostream>
 
int main()
{
  int n;
  std::cout << "Startwert: ";
  std::cin >> n;
 
  if (n   == 1) goto stop;
  if (n%2 == 0) goto gerade;
  ungerade:
    n = 3*n+1;
    std::cout << n << '\n';
    if (n == 1) goto stop;
  gerade:
    n = n/2;
    std::cout << n << '\n';
    if (n   == 1) goto stop;
    if (n%2 == 0) goto gerade;
    goto ungerade;
  stop:
  std::cout << "Endwert: " << n << '\n';
}              

Anmerkung: Es geht auch ohne goto. Wie?