Weil gotos in Hochsprachen einfach nichts verloren haben und man sie normalerweise immer durch andere Sprachkonstrukte (if, while, ...) problemlos ersetzen kann.
In extrem seltenen Fällen ist eine Verwendung von gotos evtl. gerechtfertigt, dies ist aber auch umstritten...

Das mit dem Einlesen in ein Array kannst du ungefähr so machen:
Code:
bool weiche[4];
for(int i=0;i<4;++i) {
  cout<<"weiche"<<i<< ": ";
  cin>>weiche[i];
}
Beachte aber, dass hier natürlich eine Plausibilitätsüberprüfung fehlt.