<?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[VC++ If-Problem?]]></title><description><![CDATA[<p>Hi, ich habe angefangen ein kleines Textadventure zu mahen, aber immer wenn ich einen Befehl im laufendem Programm eingebe, passiert nichts. Warum? Wie kann ich das lösen?++</p>
<pre><code class="language-cpp">// Textadventure 1.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include &quot;stdafx.h&quot;
#include &quot;iostream&quot;
#include &quot;string&quot;
using namespace std;

int _tmain()
{
	string eingabe;
	bool key1see = false;
	bool key1have = false;
	const string zu = &quot;Abgeschlossen&quot;;
	const string leer = &quot;Da ist nichts&quot;;
	const string zeile = &quot; \n \n&quot;;
	const string haben = &quot;Du besitzt jetzt &quot;;
	cout &lt;&lt; &quot;Du wachst in einem grauen Raum auf und du kannst dich an nichts mehr errinern. Es gibt eine Tuer, einen Tisch, einen Muelleimer und das Bett in dem du gelegen hast.&quot; &lt;&lt; zeile;
	cin &gt;&gt; eingabe;
	if (eingabe == &quot;Öffne Tür&quot; &amp;&amp; key1have == false) cout &lt;&lt; zeile &lt;&lt; zu &lt;&lt; zeile;
	if (eingabe == &quot;Schaue Tisch an&quot;){cout &lt;&lt; &quot;Leer&quot; &lt;&lt; leer &lt;&lt; zeile;}
	if (eingabe == &quot;Schaue Mülleimer an&quot; &amp;&amp; key1have == false)
	{
		cout &lt;&lt; zeile &lt;&lt; &quot;Da ist ein Schlüssel&quot; &lt;&lt; zeile;
		key1see = true;
	}
	if (eingabe == &quot;Schaue Mülleimer an&quot; &amp;&amp; key1have == true) cout &lt;&lt; zeile &lt;&lt; leer &lt;&lt; zeile;
	if (eingabe == &quot;Nimm Schlüssel&quot; &amp;&amp; key1see == true)
		{
		cout &lt;&lt; haben &lt;&lt; &quot;Zellenschlüssel&quot;;
		key1have = true;
	}
	cout &lt;&lt; &quot;Test&quot;;
	//getchar();
	//return(0);
	system(&quot;PAUSE&quot;);
}
</code></pre>
<p>**<br />
key1see key1have**<br />
Variablen ob der Spieler den Schlüssel sieht und besitzt<br />
<strong>if(eingabe == &quot;Schaue Mülleimer an&quot; &amp;&amp; key1have == false)</strong><br />
Wenn der Spiele Befehl ... gibt und er den Schlüssel noch nicht hat sollte er den Schlüssel sehen können und da stehen &quot;Da ist ein Schlüssel&quot;</p>
<p>Bitte, helft mir. Ich hoffe der Code ist selbsterklärend<br />
P.S.: Ich möchte keine Antworten wie &quot;Probier was anderes&quot; oder &quot;Mach was leichteres&quot; <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/topic/272092/vc-if-problem</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 02:31:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272092.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Aug 2010 11:10:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to VC++ If-Problem? on Tue, 10 Aug 2010 11:10:04 GMT]]></title><description><![CDATA[<p>Hi, ich habe angefangen ein kleines Textadventure zu mahen, aber immer wenn ich einen Befehl im laufendem Programm eingebe, passiert nichts. Warum? Wie kann ich das lösen?++</p>
<pre><code class="language-cpp">// Textadventure 1.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include &quot;stdafx.h&quot;
#include &quot;iostream&quot;
#include &quot;string&quot;
using namespace std;

int _tmain()
{
	string eingabe;
	bool key1see = false;
	bool key1have = false;
	const string zu = &quot;Abgeschlossen&quot;;
	const string leer = &quot;Da ist nichts&quot;;
	const string zeile = &quot; \n \n&quot;;
	const string haben = &quot;Du besitzt jetzt &quot;;
	cout &lt;&lt; &quot;Du wachst in einem grauen Raum auf und du kannst dich an nichts mehr errinern. Es gibt eine Tuer, einen Tisch, einen Muelleimer und das Bett in dem du gelegen hast.&quot; &lt;&lt; zeile;
	cin &gt;&gt; eingabe;
	if (eingabe == &quot;Öffne Tür&quot; &amp;&amp; key1have == false) cout &lt;&lt; zeile &lt;&lt; zu &lt;&lt; zeile;
	if (eingabe == &quot;Schaue Tisch an&quot;){cout &lt;&lt; &quot;Leer&quot; &lt;&lt; leer &lt;&lt; zeile;}
	if (eingabe == &quot;Schaue Mülleimer an&quot; &amp;&amp; key1have == false)
	{
		cout &lt;&lt; zeile &lt;&lt; &quot;Da ist ein Schlüssel&quot; &lt;&lt; zeile;
		key1see = true;
	}
	if (eingabe == &quot;Schaue Mülleimer an&quot; &amp;&amp; key1have == true) cout &lt;&lt; zeile &lt;&lt; leer &lt;&lt; zeile;
	if (eingabe == &quot;Nimm Schlüssel&quot; &amp;&amp; key1see == true)
		{
		cout &lt;&lt; haben &lt;&lt; &quot;Zellenschlüssel&quot;;
		key1have = true;
	}
	cout &lt;&lt; &quot;Test&quot;;
	//getchar();
	//return(0);
	system(&quot;PAUSE&quot;);
}
</code></pre>
<p>**<br />
key1see key1have**<br />
Variablen ob der Spieler den Schlüssel sieht und besitzt<br />
<strong>if(eingabe == &quot;Schaue Mülleimer an&quot; &amp;&amp; key1have == false)</strong><br />
Wenn der Spiele Befehl ... gibt und er den Schlüssel noch nicht hat sollte er den Schlüssel sehen können und da stehen &quot;Da ist ein Schlüssel&quot;</p>
<p>Bitte, helft mir. Ich hoffe der Code ist selbsterklärend<br />
P.S.: Ich möchte keine Antworten wie &quot;Probier was anderes&quot; oder &quot;Mach was leichteres&quot; <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/1938251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938251</guid><dc:creator><![CDATA[MadBonsaiJr]]></dc:creator><pubDate>Tue, 10 Aug 2010 11:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to VC++ If-Problem? on Tue, 10 Aug 2010 11:15:06 GMT]]></title><description><![CDATA[<p>_tmain? main heißt die Funktion.</p>
<p>#include &quot;iostream&quot; wird zu #include &lt;iostream&gt;, das gleiche gilt für string</p>
<p>system(&quot;PAUSE&quot;); ist nicht Standardkonform.</p>
<p>return(0); am Ende fehlt.</p>
<p>Nächster Schritt: Bitte formatier deinen Code anständig, dann haben wir es leichter und sag uns, was nicht tut, was es soll: 1. Code, 2. Was soll er tun 3. Was passiert. Das 3. fehlt bislang <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938252</guid><dc:creator><![CDATA[Mr X]]></dc:creator><pubDate>Tue, 10 Aug 2010 11:15:06 GMT</pubDate></item><item><title><![CDATA[Reply to VC++ If-Problem? on Tue, 10 Aug 2010 11:21:39 GMT]]></title><description><![CDATA[<p>Mr X schrieb:</p>
<blockquote>
<p>return(0); am Ende fehlt.</p>
</blockquote>
<p>Wo steht, dass das Pflicht ist? main darf doch ruhig ohne return-Statement notiert werden.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/24469">@MadBonsaiJr</a>:<br />
Dein Problem ist, dass du mit cin nur die Zeichen bis zum ersten Whitespace bekommst. Nutze den Debugger, dann siehst du, dass bei einer Eingabe &quot;Schaue in Mülleimer&quot; nur &quot;Schaue&quot; in eingabe steht. Wie du das mit cin lösen kannst, kann ich dir aber auch nicht auf Anhieb sagen, ich schreibe eigentlich keine Konsolenprogramme.</p>
<p>Übrigens: was machst du, wenn jemand nicht penibelst deine Groß-/Kleinschreibung beachtet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938255</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 10 Aug 2010 11:21:39 GMT</pubDate></item><item><title><![CDATA[Reply to VC++ If-Problem? on Tue, 10 Aug 2010 11:26:11 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/24469">@MadBonsaiJr</a>:<br />
Dein Problem ist, dass du mit cin nur die Zeichen bis zum ersten Whitespace bekommst. Nutze den Debugger, dann siehst du, dass bei einer Eingabe &quot;Schaue in Mülleimer&quot; nur &quot;Schaue&quot; in eingabe steht. Wie du das mit cin lösen kannst, kann ich dir aber auch nicht auf Anhieb sagen, ich schreibe eigentlich keine Konsolenprogramme.</p>
</blockquote>
<p><code>getline(cin,eingabe);</code> Liest eine ganze Zeile ein.<br />
Verträgt sich aber nicht gut mit anderen Einleseaktionen durch den Operator &gt;&gt;, also lieber nicht mischen. Dürfte hier ja kein Problem sein, da dein Spielchen zeilenbasiert ist.</p>
<p>Ein weiteres potentielles Problem sind die Umlaute, zumindest falls dein Programmcode in einer anderen Codierung gespeichert sein sollte, als die Konsole hinterher benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938258</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 10 Aug 2010 11:26:11 GMT</pubDate></item><item><title><![CDATA[Reply to VC++ If-Problem? on Tue, 10 Aug 2010 11:30:58 GMT]]></title><description><![CDATA[<p>Das Umlautproblem könnte man lösen, indem Du Handlungen vorschlägst und durchnummerierst und dann nur die Nummer verlangst.</p>
<p>_matze: Ja, ich weiß, inzwischen ists wohl sogar vom Standard erlaubt. Für mich muss eine int-Funktion aber auch einen Integer zurückgeben und main wird nunmal als int main() definiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938264</guid><dc:creator><![CDATA[Mr X]]></dc:creator><pubDate>Tue, 10 Aug 2010 11:30:58 GMT</pubDate></item><item><title><![CDATA[Reply to VC++ If-Problem? on Tue, 10 Aug 2010 11:43:59 GMT]]></title><description><![CDATA[<p>Mr X schrieb:</p>
<blockquote>
<p>Das Umlautproblem könnte man lösen, indem Du Handlungen vorschlägst und durchnummerierst und dann nur die Nummer verlangst.</p>
<p>_matze: Ja, ich weiß, inzwischen ists wohl sogar vom Standard erlaubt. Für mich muss eine int-Funktion aber auch einen Integer zurückgeben und main wird nunmal als int main() definiert.</p>
</blockquote>
<p>Durchnummerieren halte ich nicht für sinnvoll, das führt nur zu stumfen Probieren, bis man die &quot;richtige&quot; Möglichkeit gewählt hat.<br />
Besser wäre eine Überprüfung, die tolerant zu z.B. Groß- und Kleinschreibung oder kleineren Vertippern ist.</p>
<p>Und <code>main</code> gibt durchaus einen <code>int</code> zurück, nämlich <code>0</code> . Der Standard erlaubt lediglich das Weglassen des <code>return</code> -Statements, mit der Existenz des Rückgabewerts an sich hat das aber in diesem Fall nichts zu tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938275</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Tue, 10 Aug 2010 11:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to VC++ If-Problem? on Tue, 10 Aug 2010 12:04:18 GMT]]></title><description><![CDATA[<p>wofür sollte man der Groß-/Kleinschreibung Beachtung schenken ?<br />
einfach tolower()....</p>
<p>für die Sonderzeichen den ASCII-Wert benutzen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1938288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938288</guid><dc:creator><![CDATA[ziv]]></dc:creator><pubDate>Tue, 10 Aug 2010 12:04:18 GMT</pubDate></item><item><title><![CDATA[Reply to VC++ If-Problem? on Tue, 10 Aug 2010 12:48:40 GMT]]></title><description><![CDATA[<p>Durchnummerieren finde ich auch nicht gut. Ein Grund wurde schon genannt, ein anderer wäre, dass Textadventures viel mehr Spaß machen, wenn man die Wörter selbst tippt. <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/1938331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1938331</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 10 Aug 2010 12:48:40 GMT</pubDate></item></channel></rss>