C++ chatch in while-Schleife

Puepue

Komplett-PC-Aufrüster(in)
Hallo zusammen,
was exceptions in C++ angeht stehe ich gerade noch ganz in den Anfängen.

Ich habe jetzt hier ein Beispiel, wo der User einen Nachnamen eingeben muss. Weil Nachnamen ja imme rlänger als 1 Zeichen sind, möchte ich eine Fehlermeldung ausgeben - das klappt auch schon. Wie mache ich das jetzt, dass ich den Nachnamen so lange eingeben muss, bis der Nachname korrekt ist?

Code:
try {
	char tmpstring[255] = "";
	cout << "Bitte Nachname eingeben!" << endl;
	cin >> tmpstring;
	if (strlen(tmpstring) < 2) {
		throw std::length_error("Bitte geben Sie einen gueltigen Nachnamen ein!");
	}
	    nachname = tmpstring;
} catch (exception &e) {
	cout << "Fehler: " << endl;
	cout << e.what() << endl;
}
 

mattinator

Volt-Modder(in)
Z.B. so:
Code:
int nachnamelen = 0;
// Variablen-Deklaration besser außerhalb der Schleife
char tmpstring[255] = "";
while(nachnamelen < 2) {
  try {
    cout << "Bitte Nachname eingeben!" << endl;
    cin >> tmpstring;
    if ((nachnamelen = strlen(tmpstring)) < 2) {
        throw std::length_error("Bitte geben Sie einen gueltigen Nachnamen ein!");
    }
        nachname = tmpstring;
  } catch (exception &e) {
    cout << "Fehler: " << endl;
    cout << e.what() << endl;
  }
}
 
Oben Unten