<?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[programm verständnisproblem]]></title><description><![CDATA[<p>HEY!</p>
<p>Ich hab vorhin ein kleines Programm SELBST geschrieben das die getippten zeichen und ihre ASCII Codes anzeigt also ohne Enter. Das Programm tut genau das was ich verlange <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> ich versteh aber nicht wie das Programm funktioniert (unglaublich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> ). Kann mir das kurz jemand erklären.</p>
<pre><code class="language-cpp">int z;
int a;
a = getch();
z = a;
	if(a) // oder z geht auch, wieso?
	{
		cout &lt;&lt; &quot;'&quot; &lt;&lt; z &lt;&lt; &quot;' wurde gedrueckt. ASCII Code: &quot; &lt;&lt; a &lt;&lt; endl;
	}
</code></pre>
<p>Und ist dieser Code auch sicher? Also das nicht etwas böses während des Programmes passiert? Mit diesen getch kenne ich mich nicht so gut aus.</p>
<p>Bin dankbar für jede Hilfe!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271395/programm-verständnisproblem</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 11:19:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271395.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Jul 2010 18:00:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to programm verständnisproblem on Tue, 27 Jul 2010 18:00:31 GMT]]></title><description><![CDATA[<p>HEY!</p>
<p>Ich hab vorhin ein kleines Programm SELBST geschrieben das die getippten zeichen und ihre ASCII Codes anzeigt also ohne Enter. Das Programm tut genau das was ich verlange <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> ich versteh aber nicht wie das Programm funktioniert (unglaublich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> ). Kann mir das kurz jemand erklären.</p>
<pre><code class="language-cpp">int z;
int a;
a = getch();
z = a;
	if(a) // oder z geht auch, wieso?
	{
		cout &lt;&lt; &quot;'&quot; &lt;&lt; z &lt;&lt; &quot;' wurde gedrueckt. ASCII Code: &quot; &lt;&lt; a &lt;&lt; endl;
	}
</code></pre>
<p>Und ist dieser Code auch sicher? Also das nicht etwas böses während des Programmes passiert? Mit diesen getch kenne ich mich nicht so gut aus.</p>
<p>Bin dankbar für jede Hilfe!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932718</guid><dc:creator><![CDATA[MajorWar]]></dc:creator><pubDate>Tue, 27 Jul 2010 18:00:31 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Tue, 27 Jul 2010 18:35:02 GMT]]></title><description><![CDATA[<p>Macht das Programm wirklich genau das, was du willst? Ich hätte mir an der Ausgabe jetzt etwas anderes erwartet <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>getch liefert dir den ascii - code als int (ganzzahliger Wert) zurück.<br />
Diesen speicherst du in der Variablen a ab.<br />
In der Folgezeile kopierst du den Wert 1:1 in z. Beide Variablen enthalten nun den gleichen Wert.</p>
<p>Bei der Ausgabe solltest du aber explizit schon in einen char casten, wenn du wirklich das Zeichen haben willst, was du wünschst.</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;'&quot; &lt;&lt; static_cast&lt;char&gt;(z) &lt;&lt; &quot;' wurde gedrueckt. ASCII Code: &quot; &lt;&lt; a &lt;&lt; endl;

	// oder ohne cast ganz implizit
	char z;
	int a;
	a = getch();
	z = a;
</code></pre>
<p>mit getch() hab ich bisher keine schlechten Erfahrungen gemacht. Die Funktion kann auch net viel. Entweder drückt man ne Taste oder nicht.<br />
Aber andere wissen dazu eventuell mehr</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932737</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Tue, 27 Jul 2010 18:35:02 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Tue, 27 Jul 2010 18:56:24 GMT]]></title><description><![CDATA[<p>Moin,</p>
<p>wie kannst du ein Programm schreiben, ohne es zu verstehen? Hast du einfach so lange Dinge geändert, bis der Compiler nicht mehr gemeckert hat?</p>
<p>Bei deinem Programm sehe ich nicht, wie es das tun könnte, was du beschreibst. Daher habe ich das mal getestet (mit kleinen Modifikationen, da es wohl getch() nur unter Windows gibt). Ergebnis:</p>
<pre><code>f
'102' wurde gedrueckt. ASCII Code: 102
</code></pre>
<p>Also Programm so geschrieben, dass es das tut, was deine Beschreibung besagt:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cstdio&gt;

int main()
{
    int a;
    a = getchar();
    if(a)
    {   
        std::cout &lt;&lt; &quot;'&quot; &lt;&lt; static_cast&lt;char&gt;(a) &lt;&lt; &quot;' wurde gedrueckt. ASCII Code: &quot; &lt;&lt; a &lt;&lt; std::endl;
    }   
    return 0;
}
</code></pre>
<p>Nun bin ich auch kein C++-Kenner und kann dir nichts über Pro und Kontra erzählen, aber dieser Code sollte mit der Erklärung von BasicMan01 eigentlich selbsterklärend sein.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932750</guid><dc:creator><![CDATA[icwiener]]></dc:creator><pubDate>Tue, 27 Jul 2010 18:56:24 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Tue, 27 Jul 2010 19:47:47 GMT]]></title><description><![CDATA[<p>ups ich habe mich beim z vertan da gehört natürlich ein char nicht int <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="🙄"
    /><br />
ich weis nicht wieso da int steht. Wenn man jetz f drückt sollte stehen: 'f' wurde gedrückt. ASCII Code: 102</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932771</guid><dc:creator><![CDATA[MajorWar]]></dc:creator><pubDate>Tue, 27 Jul 2010 19:47:47 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Tue, 27 Jul 2010 19:50:34 GMT]]></title><description><![CDATA[<p>MajorWar schrieb:</p>
<blockquote>
<p>ups ich habe mich beim z vertan da gehört natürlich ein char nicht int <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="🙄"
    /><br />
ich weis nicht wieso da int steht. Wenn man jetz f drückt sollte stehen: 'f' wurde gedrückt. ASCII Code: 102</p>
</blockquote>
<p>Weil du die Aufgabe falsch vom Zettel abgeschrieben hast!</p>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932772</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Tue, 27 Jul 2010 19:50:34 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Tue, 27 Jul 2010 19:54:36 GMT]]></title><description><![CDATA[<p>Mit diesen casten ist auch ne gute Idee halt nur mit einer Variable. Und was passiert jetzt mit den z(char) = a(int).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932773</guid><dc:creator><![CDATA[MajorWar]]></dc:creator><pubDate>Tue, 27 Jul 2010 19:54:36 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Tue, 27 Jul 2010 20:21:10 GMT]]></title><description><![CDATA[<p>MajorWar schrieb:</p>
<blockquote>
<p>Mit diesen casten ist auch ne gute Idee halt nur mit einer Variable. Und was passiert jetzt mit den z(char) = a(int).</p>
</blockquote>
<p>Was genau willst du jetzt wissen?</p>
<p>Wenn du einem char ein int zuweist, dann enthält danach deine char Variable das ensprechende ASCII Zeichen was zu dem Code gehört, der in deiner int Variable steht.</p>
<p>Hoffe konnte dir helfen.</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932782</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Tue, 27 Jul 2010 20:21:10 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Tue, 27 Jul 2010 21:04:38 GMT]]></title><description><![CDATA[<p>hmm ja schon Danke!<br />
An alle natürlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932799</guid><dc:creator><![CDATA[MajorWar]]></dc:creator><pubDate>Tue, 27 Jul 2010 21:04:38 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Tue, 27 Jul 2010 21:31:13 GMT]]></title><description><![CDATA[<p>Das ist eigentlich nicht richtig und erzeugt falsche Vorstellungen davon was ein char ist. Wenn man einem char einen int zuweist, so hat der char hinterher den Wert den der int hatte (eventuell ein paar mal umgebrochen, falls der Wert größer als der wertebereich eines chars ist). Denn chars sind auch nur Zahlen und man kann mit ihnen ganz normal rechnen, sie verhalten sich so zu int wie sich short zu int verhält, nur sind sie in der Regel noch kleiner als short.</p>
<p>Alles was mit Zeichen zu tun hat kommt erst bei der Ausgabe zustande, weil die Ausgaberoutinen eine spezielle Routine haben die chars nicht wie üblich als ihren Dezimalwert ausgeben, sondern als ein Zeichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932817</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 27 Jul 2010 21:31:13 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Wed, 28 Jul 2010 07:39:03 GMT]]></title><description><![CDATA[<p>Ok, gut zu wissen, denn das wusste ich auch nicht:-P</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1932922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1932922</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Wed, 28 Jul 2010 07:39:03 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Sat, 31 Jul 2010 03:27:19 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Das ist eigentlich nicht richtig und erzeugt falsche Vorstellungen davon was ein char ist. Wenn man einem char einen int zuweist, so hat der char hinterher den Wert den der int hatte (eventuell ein paar mal umgebrochen, falls der Wert größer als der wertebereich eines chars ist). Denn chars sind auch nur Zahlen und man kann mit ihnen ganz normal rechnen, sie verhalten sich so zu int wie sich short zu int verhält, nur sind sie in der Regel noch kleiner als short.</p>
<p>Alles was mit Zeichen zu tun hat kommt erst bei der Ausgabe zustande, weil die Ausgaberoutinen eine spezielle Routine haben die chars nicht wie üblich als ihren Dezimalwert ausgeben, sondern als ein Zeichen.</p>
</blockquote>
<p>Ja sowas habe ich mir schon gedacht <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/1934285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934285</guid><dc:creator><![CDATA[MajorWar]]></dc:creator><pubDate>Sat, 31 Jul 2010 03:27:19 GMT</pubDate></item><item><title><![CDATA[Reply to programm verständnisproblem on Sat, 31 Jul 2010 04:52:31 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>MajorWar schrieb:</p>
<blockquote>
<p>ups ich habe mich beim z vertan da gehört natürlich ein char nicht int <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="🙄"
    /><br />
ich weis nicht wieso da int steht. Wenn man jetz f drückt sollte stehen: 'f' wurde gedrückt. ASCII Code: 102</p>
</blockquote>
<p>Weil du die Aufgabe falsch vom Zettel abgeschrieben hast!</p>
<p>Lars</p>
</blockquote>
<p><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/1934292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934292</guid><dc:creator><![CDATA[heey]]></dc:creator><pubDate>Sat, 31 Jul 2010 04:52:31 GMT</pubDate></item></channel></rss>