C++ Benutzer nach dem Namen fragen?
Sehr geehrte gutefrage-Community, ich habe frisch mit c++ angefangen und kam bis gerade auch ganz gut zu recht. Jetzt habe ich mir aber vorgenommen ein Programm zu schreiben, welches nach den Namen des Benutzers fragt. Diesen Namen soll der Nutzer dann mit y oder f bestätigen. Also: y = richtig und f = false. Ich möchte nun bei false eine Endlosschleife starten, die immer wieder nach dem Namen fragt, wie kann ich das machen?
Weiter unten werde ich meinen bisherigen Idee / bzw. den Code schreiben.
Ich hoffe ihr könnt mir helfen.
Liebe Grüße Christian PS: Ich wollte das erstmal hier fragen, und eventuell nacher dann in einem C++ Forum. :)
Hier der Code:
#include<iostream>using namespace std
double name, wahl
int main ()
{cout << "Bitte geben Sie ihren Namen ein:" << endl;
cin >> name >> endl, cout << " Also ist dein Name" << name << "?" << endl; cout << " Bestaetige mit y und lehne ab mit f " << endl;
cin << wahl
if (wahl=f) {
cout << " Wie heißt du den? Gib bitte deinen Namen ein. " << endl;
cin >> name
cout << " Also ist dein Name " << name << "?" << endl; cout << " Bestaetige mit y und lehne ab mit f 2 << endl;
cin >> wahl; }
cout << " Hallo " << name << " schön bekanntschaft gemacht zu haben." << endl;
cout << " Leb Wohl " << name << endl;
return 0;
}
4 Antworten
Nur zur Information: Eine Endlosschleife ist eine Schleife, aus der man nicht wieder rauskommt, eben endlos. Das ist ein Fehlerfall, den kein Programmierer absichtlich macht. Was Du meinst, ist eine ganz gewöhnliche Schleife, die auch eine erfüllbare Endebedingung haben muss. Wenn in der Endlodschleife keine Ein- oder Ausgabe erfolgt, erscheint der Fehler von außen betrachtet so, dass sich das Programm aufgehängt hat und nicht mehr reagiert. Schleifen sind elementarer Bestandteil jeder Programmiersprache. Es ist auf jedenfall richtig, gleich beim Einstieg sich mit der Schleifenprogrammierung auseinanderzusetzen. Denn wie Du sicher schon bemerkt hast, kommt man schon mit der einfachsten Aufgabe nicht um Schleifen herum.
Okay klar du hast recht. Habe mich echt undeutlich ausgedrückt sorry :)
Hallo!
Benutze die while-Schleife, die Syntax in c++ weis ich nicht, aber so ähnlich:
while(wahl==f) do {...}
Für die Punkte deine Eingaben, bis wahl = t wird bleibt das Programm in der Schleife
(besser wäre die Abfrage while(wahl != y) do {...} , dann wird die Schleife erst beendet, wenn y eingegeben wurde)
Gruß
Du solltest beim if statement denke ich if(wahl==f) verwenden. Falls ich falsch liege dann verbessert mich bitte.
stimmt du hast recht. Habe ich denn nun eine Endlosschleife, wenn der User wieder mit f bestätigt?
So, nach den vielen wirklich guten Hilfestellungen habe ich selber nochmal etwas rum getrickst. Ich denke das hier ist die eleganteste Lösung. Für Leute die etwas ähnliches machen wollen, werde ich meinen Ansatz hier unte dem Kommentar posten:
//Endlosschleife Namen
int main()
{
int wahl;
cout << "Bitte geben Sie ihren Namen ein:" << endl;
cin >> name >> endl,
cout << " Also ist dein Name" << name << "?" << endl;
cout << " Bestaetige mit y und lehne ab mit f " << endl;
cin << wahl;
while (true)
{
cout << " Wie heißt du den? Gib bitte deinen Namen ein. " << endl;
cin >> name
cout << " Also ist dein Name " << name << "?" << endl;
cout << " Bestaetige mit y und lehne ab mit f " << endl;
cin >> wahl;
if (wahl == y)
break;
}
cout << " Hallo " << name << " schön bekanntschaft gemacht zu haben." << endl;
cout << " Leb Wohl" << endl;
return 0;
}