<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>bin zurzeit im ersten Semester meines Studiums und wir sollen nun etwas mit der String Bibliothek herumspielen. Da dachte ich mir, ich schreibe mal eine Art Telefonbuch. Wenn ich dann einen Eintrag erstellen möchte und Name sowie Nummer abfrage, so überspringt er eine Eingabe. Am Besten den Quelltext mal fix rauskopieren und selbst testen, dann seht ihr, was ich meine.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

class Eintrag
{
public:
	void eintragErstellen( string name, double nummer )
	{
		cout &lt;&lt;endl &lt;&lt; &quot;Erstelle Eintrag mit Namen &quot; &lt;&lt; name &lt;&lt; &quot; und Nummer &quot; &lt;&lt; nummer &lt;&lt; endl;
	}
};

class Telefonbuch
{
public: 
	void begruessen( string besitzer )
	{
		cout &lt;&lt;endl &lt;&lt; &quot;Willkommen im Telefonbuch von &quot; &lt;&lt; besitzer &lt;&lt; &quot;!&quot; &lt;&lt; endl &lt;&lt; endl;
	}
};

int main()
{
	// Variablen deklarieren
	string besitzer, name;
	double nummer;
	int anzahleintraege = 0, auswahl;
	// Objekt &quot;Telefonbuch&quot; erzeugen mit Namen &quot;meinTelefonbuch&quot;
	Telefonbuch meinTelefonbuch;
	// Name des Besitzers anfordern
	cout &lt;&lt; &quot;Bitte gib deinen Namen ein:&quot; &lt;&lt; endl;
	// Namen des Besitzers einlesen
	getline( cin, besitzer );
	// Funktion begruessen aus Klasse Telefonbuch aufrufen
	meinTelefonbuch.begruessen( besitzer );
	// Frage, was der Besitzer machen will
	cout &lt;&lt; &quot;Waehlen Sie aus den folgenden Aufgaben:&quot; &lt;&lt; endl &lt;&lt; &quot;1 Eintrag erstellen&quot; &lt;&lt; endl &lt;&lt; &quot;2 Beenden&quot; &lt;&lt; endl &lt;&lt; &quot;Bitte waehlen Sie jetzt:&quot; &lt;&lt; endl;
	// Waehlen
	cin &gt;&gt; auswahl;
	// entsprechend der Eingabe handeln
	if( auswahl == 1){
		// Objekt &quot;Eintrag&quot; erzeugen mit Namen &quot;meinEintrag&quot;
		Eintrag meinEintrag;
		// Namen fuer Eintrag einlesen
		cout &lt;&lt; &quot;Bitte gib einen Namen ein:&quot; &lt;&lt; endl;
		getline( cin, name );
		// Nummer fuer Eintrag einlesen
		cout &lt;&lt; &quot;Bitte gib eine Nummer ein:&quot; &lt;&lt; endl;
		cin &gt;&gt; nummer;
		// Variable fuer Anzahl der Eintraege erhöhen
		anzahleintraege++;
		// Funktion eintragErstellen aus Klasse Eintrag aufrufen
		meinEintrag.eintragErstellen( name, nummer );
		} else if( auswahl == 2) {
		return 0;
	}
}
</code></pre>
<p>Ich vermute, dass ich zwischen den zwei Eingabeaufforderungen eine Art Pause einfügen muss, weiß aber nicht, wie. In meinem C++ Buch fand ich auch nichts passendes hierzu.</p>
<p>Jemand einen Tipp parat?<br />
Vorab vielen Dank!</p>
<p>Grüße<br />
AsHell</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/294042/telefonbuch-konsolenanwendung-in-c-überspringt-eingabeaufforderung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 02:01:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/294042.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Oct 2011 15:25:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 15:25:25 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>bin zurzeit im ersten Semester meines Studiums und wir sollen nun etwas mit der String Bibliothek herumspielen. Da dachte ich mir, ich schreibe mal eine Art Telefonbuch. Wenn ich dann einen Eintrag erstellen möchte und Name sowie Nummer abfrage, so überspringt er eine Eingabe. Am Besten den Quelltext mal fix rauskopieren und selbst testen, dann seht ihr, was ich meine.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

class Eintrag
{
public:
	void eintragErstellen( string name, double nummer )
	{
		cout &lt;&lt;endl &lt;&lt; &quot;Erstelle Eintrag mit Namen &quot; &lt;&lt; name &lt;&lt; &quot; und Nummer &quot; &lt;&lt; nummer &lt;&lt; endl;
	}
};

class Telefonbuch
{
public: 
	void begruessen( string besitzer )
	{
		cout &lt;&lt;endl &lt;&lt; &quot;Willkommen im Telefonbuch von &quot; &lt;&lt; besitzer &lt;&lt; &quot;!&quot; &lt;&lt; endl &lt;&lt; endl;
	}
};

int main()
{
	// Variablen deklarieren
	string besitzer, name;
	double nummer;
	int anzahleintraege = 0, auswahl;
	// Objekt &quot;Telefonbuch&quot; erzeugen mit Namen &quot;meinTelefonbuch&quot;
	Telefonbuch meinTelefonbuch;
	// Name des Besitzers anfordern
	cout &lt;&lt; &quot;Bitte gib deinen Namen ein:&quot; &lt;&lt; endl;
	// Namen des Besitzers einlesen
	getline( cin, besitzer );
	// Funktion begruessen aus Klasse Telefonbuch aufrufen
	meinTelefonbuch.begruessen( besitzer );
	// Frage, was der Besitzer machen will
	cout &lt;&lt; &quot;Waehlen Sie aus den folgenden Aufgaben:&quot; &lt;&lt; endl &lt;&lt; &quot;1 Eintrag erstellen&quot; &lt;&lt; endl &lt;&lt; &quot;2 Beenden&quot; &lt;&lt; endl &lt;&lt; &quot;Bitte waehlen Sie jetzt:&quot; &lt;&lt; endl;
	// Waehlen
	cin &gt;&gt; auswahl;
	// entsprechend der Eingabe handeln
	if( auswahl == 1){
		// Objekt &quot;Eintrag&quot; erzeugen mit Namen &quot;meinEintrag&quot;
		Eintrag meinEintrag;
		// Namen fuer Eintrag einlesen
		cout &lt;&lt; &quot;Bitte gib einen Namen ein:&quot; &lt;&lt; endl;
		getline( cin, name );
		// Nummer fuer Eintrag einlesen
		cout &lt;&lt; &quot;Bitte gib eine Nummer ein:&quot; &lt;&lt; endl;
		cin &gt;&gt; nummer;
		// Variable fuer Anzahl der Eintraege erhöhen
		anzahleintraege++;
		// Funktion eintragErstellen aus Klasse Eintrag aufrufen
		meinEintrag.eintragErstellen( name, nummer );
		} else if( auswahl == 2) {
		return 0;
	}
}
</code></pre>
<p>Ich vermute, dass ich zwischen den zwei Eingabeaufforderungen eine Art Pause einfügen muss, weiß aber nicht, wie. In meinem C++ Buch fand ich auch nichts passendes hierzu.</p>
<p>Jemand einen Tipp parat?<br />
Vorab vielen Dank!</p>
<p>Grüße<br />
AsHell</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132118</guid><dc:creator><![CDATA[AsHell]]></dc:creator><pubDate>Sun, 16 Oct 2011 15:25:25 GMT</pubDate></item><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 16:18:49 GMT]]></title><description><![CDATA[<p>Problem gelöst!</p>
<pre><code class="language-cpp">cin.seekg(0,std::ios::end);
		cin.clear();
</code></pre>
<p>Vor jede neue Eingabeaufforderung und es funktioniert! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132146</guid><dc:creator><![CDATA[AsHell]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:18:49 GMT</pubDate></item><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 16:21:15 GMT]]></title><description><![CDATA[<p>double ist der wohl denkbar schlechteste Datentyp für eine Telefonnummer. Wie wäre es mit einem String?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132148</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:21:15 GMT</pubDate></item><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 16:31:11 GMT]]></title><description><![CDATA[<p>Ja, das habe ich mittlerweile auch bemerkt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Danke für den Hinweis!<br />
Falls es interessiert, hier der momentane Quelltext:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;
int anzahleintraege;

class Eintrag
{
public:
	void eintragErstellen( string name, string nummer )
	{
		cout &lt;&lt; endl &lt;&lt; &quot;Eintrag mit Nummer &quot; &lt;&lt; anzahleintraege &lt;&lt; &quot; wird erstellt...&quot;&lt;&lt; endl;
		// Hier muss das Programm die Daten für den Eintrag fest abspeichern - nur wie? 
		cout &lt;&lt; &quot;Fertig!&quot; &lt;&lt; endl &lt;&lt; endl;
	}
};

class Telefonbuch
{
public: 
	void begruessen( string besitzer )
	{
		cout &lt;&lt;endl &lt;&lt; &quot;Willkommen im Telefonbuch von &quot; &lt;&lt; besitzer &lt;&lt; &quot;!&quot; &lt;&lt; endl &lt;&lt; endl;
	}
};

int main()
{
	// Variablen deklarieren
	string besitzer, name, nummer;
	int auswahl;
	// Objekt &quot;Telefonbuch&quot; erzeugen mit Namen &quot;meinTelefonbuch&quot;
	Telefonbuch meinTelefonbuch;
	// Name des Besitzers anfordern
	cout &lt;&lt; &quot;Bitte gib deinen Namen ein:&quot; &lt;&lt; endl;
	// Namen des Besitzers einlesen
	cin.seekg(0,std::ios::end);
	cin.clear();	
	getline( cin, besitzer );
	// Funktion begruessen aus Klasse Telefonbuch aufrufen
	meinTelefonbuch.begruessen( besitzer );
	Auswahl:
	// Frage, was der Besitzer machen will
	cout &lt;&lt; &quot;Waehlen Sie aus den folgenden Aufgaben:&quot; &lt;&lt; endl &lt;&lt; &quot;1 Eintrag erstellen&quot; &lt;&lt; endl &lt;&lt; &quot;2 Eintraege anschauen&quot; &lt;&lt; endl &lt;&lt; &quot;3 Beenden&quot; &lt;&lt; endl &lt;&lt; endl &lt;&lt; &quot;Bitte waehlen Sie jetzt:&quot; &lt;&lt; endl;
	// Waehlen
	cin.seekg(0,std::ios::end);
	cin.clear();
	cin &gt;&gt; auswahl;
	// entsprechend der Eingabe handeln
	if( auswahl == 1 ){
		// Variable fuer Anzahl der Eintraege erhöhen
		anzahleintraege++;
		// Objekt &quot;Eintrag&quot; erzeugen mit Namen &quot;meinEintrag&quot;
		Eintrag meinEintrag;
		// Namen fuer Eintrag einlesen
		cout &lt;&lt; endl &lt;&lt; &quot;Bitte gib einen Namen ein:&quot; &lt;&lt; endl;
		cin.seekg(0,std::ios::end);
		cin.clear();
		getline( cin, name );
		// Nummer fuer Eintrag einlesen
		cout &lt;&lt; &quot;Bitte gib eine Nummer ein:&quot; &lt;&lt; endl;
		cin.seekg(0,std::ios::end);
		cin.clear();
		getline( cin, nummer );
		// Funktion eintragErstellen aus Klasse Eintrag aufrufen
		meinEintrag.eintragErstellen( name, nummer );
		goto Auswahl;
		} else if( auswahl == 2 ) { 
		goto Auswahl;
		}else if( auswahl == 3 ) {
		return 0;
	}
}
</code></pre>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132160</guid><dc:creator><![CDATA[AsHell]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 16:54:41 GMT]]></title><description><![CDATA[<p>Okay, eine kleine Frage hätte ich da noch...</p>
<p>Ich will nun, dass die Daten temporär abgespeichert werden.</p>
<p>Für Eintrag 1 sollen Name und Telefonnummer als<br />
name1 und nummer1 (beide vom Typ String) abgespeichert werden.<br />
Da ich einen Integer &quot;anzahleintraege&quot; habe, wollte die Strings für jeden Eintrag<br />
in der Funktion eintragErstellen erzeugen lassen.<br />
Nur: Wie genau mache ich das?</p>
<p>string name(anzahleintraege); oder solche Konstruktionen funktionieren leider nicht!</p>
<p>Danke vorab. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132184</guid><dc:creator><![CDATA[AsHell]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:54:41 GMT</pubDate></item><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 17:00:36 GMT]]></title><description><![CDATA[<p>Noch ein Tipp: Goto in unerfahrenen Händen führt erfahrungsgemäß unweigerlich zu Spagetticode. Meide es als Anfänger. Schreib alle Programme sauber mit den vorgegebenen Schleifenkonstrukten und sauberen Abbruchbedingungen. Versuche, dabei auch break zu vermeiden.</p>
<p>edit: Zu deiner neuen Frage: Du suchst Container wie z.B. std::vector. Sollte in einem guten Lehrbuch bald drankommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132189</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 16 Oct 2011 17:00:36 GMT</pubDate></item><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 18:38:56 GMT]]></title><description><![CDATA[<p>Vielen Dank für deine Infos!<br />
Dann hab ich ja jetzt noch einiges vor mir. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Einen schönen Sonntag noch,<br />
AsHell. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132242</guid><dc:creator><![CDATA[AsHell]]></dc:creator><pubDate>Sun, 16 Oct 2011 18:38:56 GMT</pubDate></item><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 19:57:07 GMT]]></title><description><![CDATA[<p>Da ich leider (NOCH!) nicht angemeldet bin,<br />
kann ich meinen Beitrag nicht editieren.</p>
<p>Wollte nur kurz Bescheid geben, dass der Tipp mit den Vektoren top war!<br />
Funktioniert nun so, wie ich das wollte.</p>
<p><strong>Dickes Dankeschön!</strong></p>
<p>Gruß<br />
AsHell</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132269</guid><dc:creator><![CDATA[AsHell]]></dc:creator><pubDate>Sun, 16 Oct 2011 19:57:07 GMT</pubDate></item><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 21:26:45 GMT]]></title><description><![CDATA[<p>Ich muss doch nochmal nerven... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Will nun überprüfen, ob der Vektor an der Stelle &quot;einzelnereintrag&quot; (Integer) leer ist oder nicht.</p>
<pre><code class="language-cpp">if( namen[einzelnereintrag].size() == 0 ){
</code></pre>
<p>Geht leider nicht. Habe auch schon &quot;... == NULL&quot; und Ähnliches versucht.<br />
Mit .empty() komme ich auch nicht weiter. Internetrecherchen haben mehr verwirrt, als gut getan und genau ein solcher Fall ist in meinem Büchlein (Einstieg in C++, 4. Auflage, Arnold Willemer) nicht beschrieben.</p>
<p>Die Komplette if-Bedingung sieht wie folgt aus:</p>
<pre><code class="language-cpp">// pruefen ob der Eintrag existiert
		if( namen[einzelnereintrag].size() == 0 ){
			cout &lt;&lt; endl &lt;&lt; &quot;Dieser Eintrag existiert nicht!&quot; &lt;&lt; endl;
			cout &lt;&lt; &quot;********************************&quot; &lt;&lt; endl &lt;&lt; endl;
			}else{
			// Eintrag ausgeben
			cout &lt;&lt; endl &lt;&lt; &quot;Eintrag Nr.: &quot; &lt;&lt; einzelnereintrag+1 &lt;&lt; &quot; Name: &quot; &lt;&lt; namen[einzelnereintrag] &lt;&lt; &quot; Nummer: &quot; &lt;&lt; nummern[einzelnereintrag] &lt;&lt; endl;
			cout &lt;&lt; &quot;********************************&quot; &lt;&lt; endl &lt;&lt; endl;
		}
</code></pre>
<p>Für einen Tipp wieder vorab vielen Dank!</p>
<p>Achja: Kann man irgendwo für den Erhalt des Forums spenden?<br />
Ich glaube, das sollte ich bald tun. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Grüße<br />
AsHell</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132301</guid><dc:creator><![CDATA[AsHell]]></dc:creator><pubDate>Sun, 16 Oct 2011 21:26:45 GMT</pubDate></item><item><title><![CDATA[Reply to Telefonbuch (Konsolenanwendung) in C++ überspringt Eingabeaufforderung on Sun, 16 Oct 2011 22:06:08 GMT]]></title><description><![CDATA[<p>Nach langem Überlegen selbst gelöst:<br />
Die Vektoradresse, die er überprüfen wollte, existierte nicht.<br />
Hab daher den Vektor nun so erstellt:</p>
<pre><code class="language-cpp">vector&lt;string&gt; namen (1000);
</code></pre>
<p>So kann ich nun zumindest die Stellen bis vector[999] prüfen.<br />
Durch eine if Bedingung kann ich nun bei größerer Eingabe direkt abbrechen.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132311</guid><dc:creator><![CDATA[AsHell]]></dc:creator><pubDate>Sun, 16 Oct 2011 22:06:08 GMT</pubDate></item></channel></rss>