C++: Schleife zum Abfragen, ob weitere Eingabe erwünscht ist

Huhu,

also ich habe die Aufgabe bekommen, in C++ ein Programm zu schreiben, welches zwei Buchstaben einliest und diese alphabetisch sortiert ausgibt.
Soweit auch kein Problem, aber das Programm soll danach fragen, ob nach der ersten Überprüfung von den Buchstaben weitere Buchstaben eingegeben werden sollen.
Habe es bereits mit einer While-Schleife versucht,
sodass der User eine Eingabe macht, ob „ja“ oder „nein“, aber das ist in einer Endlosschleife geendet . . .
Das Sortieren habe ich einfach mit if gemacht, also "if (a

Hallo!
Ich würde das Programm folgendermaßen aufbauen:

void main(){ // manche Compiler lassen diese Zeile nicht in dieser Form zu, ggf. durch den Rest ergänzen
bool neueEingabe = true;

while(neueEingabe){ // identisch mit while(neueEingabe == true){
// hier kommt alles für die Eingabe der Buchstaben, das Sortieren usw. hin und wird ggf. in andere Funktionen ausgelagert.

cout > antwort;

if(antwort == ‚n‘ || antwort == ‚N‘)
neueEingabe = false;
}
}

Zu Anfang wird außerhalb der Schleife die Variable neueEingabe auf true gesetzt. Die Schleife wird nun sooft durchlaufen, bis diese den Wert false bekommt.
Welchen Wert diese Variable bekommt, entscheidest du dann, wenn gefragt wird, ob neue Eingaben erfolgen sollen. Im Beispiel wird die Abfrage solange erneut ausgeführt, bis man ein ‚n‘ eingibt. Andere Eingaben werden erstmal alle zu einer erneuten Eingabe führen, da im Beispiel nicht geprüft wird, ob es ein ‚j‘ oder etwas anderes ist. Die Eingabe der Antwort sollte man also in eine eigene Schleife und/oder Funktion packen, damit man noch auf Fehleingaben und das ‚j‘ prüfen kann. Das habe ich jetzt mal weggelassen, da es für das Verständnis der Vorgehensweise nicht von Nöten war.

Wichtig ist, dass das Array, das die Buchstaben enthält, außerhalb der While-Schleife erstellt wird, da sonst die Buchstaben alle wieder gelöscht werden.

Ich hoffe, dass das erstmal weiterhilft.

Liebe Grüße und ein schönes Wochenende!

Also ich würde das so machen:

bool run = true;
char a, b;
char input;

while(run)
{
cout > a >> b;
// Hier das Sortieren und ausgeben

cout > input;
if(input==‚N‘)
{ run = false; }
}

Primitiv aber verständlich :smile:
Und so setzt jeder Aufruf außer ‚N‘ das Programm fort…