<?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[int string ueberpruefung]]></title><description><![CDATA[<p>Hi,<br />
ich habe mir ein Menue mit case und einer while-Schleife zusammengestellt.<br />
Das ganze sieht so aus:</p>
<p>Menue</p>
<p>cin</p>
<p>while</p>
<p>case</p>
<p>Da ich ja case benutze, darf die Eingabe nur int sein und bei mir nur von 0 - 8 gehen und habe das in der while-Schleife so geloest.</p>
<pre><code class="language-cpp">while(befehl &lt; 0 || befehl &gt; 8)
.
.
</code></pre>
<p>Jetzt fehlt mir eine ueberpruefung um zu verhindern dass man durch Eingabe eines Strings einen Fehler ausloest.<br />
Ich hoffe ihr koennt mir da helfen, ich habe auch schon was gefunden, habe aber keine Ahnung wie ich es auf den Berreich von 0 - 8 aendern kann.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

bool eingabe(char *cTemp)
{
	int i=0;

	while(cTemp[i] != '\0')
	{
		if ( ! ((int)cTemp[i] &gt; 47 &amp;&amp; (int)cTemp[i] &lt; 85))
			return false;

		i++;
	}

	return true;
}

int main()
{
	char befehl[100];
	cin&gt;&gt; befehl;

	bool ergebnis = eingabe(befehl);

      while(befehl[100] &lt; 0 || befehl[100] &gt; 8)
      {
	  if( ergebnis == false )
		{
             .
             .
             }
       }

	return 0;
}
</code></pre>
<p>Villeicht habt ihr ja auch eine bessere Loesung</p>
<p>MfG<br />
Coda</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164031/int-string-ueberpruefung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 14:25:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164031.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 Nov 2006 13:34:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to int string ueberpruefung on Sat, 04 Nov 2006 13:36:45 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich habe mir ein Menue mit case und einer while-Schleife zusammengestellt.<br />
Das ganze sieht so aus:</p>
<p>Menue</p>
<p>cin</p>
<p>while</p>
<p>case</p>
<p>Da ich ja case benutze, darf die Eingabe nur int sein und bei mir nur von 0 - 8 gehen und habe das in der while-Schleife so geloest.</p>
<pre><code class="language-cpp">while(befehl &lt; 0 || befehl &gt; 8)
.
.
</code></pre>
<p>Jetzt fehlt mir eine ueberpruefung um zu verhindern dass man durch Eingabe eines Strings einen Fehler ausloest.<br />
Ich hoffe ihr koennt mir da helfen, ich habe auch schon was gefunden, habe aber keine Ahnung wie ich es auf den Berreich von 0 - 8 aendern kann.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

bool eingabe(char *cTemp)
{
	int i=0;

	while(cTemp[i] != '\0')
	{
		if ( ! ((int)cTemp[i] &gt; 47 &amp;&amp; (int)cTemp[i] &lt; 85))
			return false;

		i++;
	}

	return true;
}

int main()
{
	char befehl[100];
	cin&gt;&gt; befehl;

	bool ergebnis = eingabe(befehl);

      while(befehl[100] &lt; 0 || befehl[100] &gt; 8)
      {
	  if( ergebnis == false )
		{
             .
             .
             }
       }

	return 0;
}
</code></pre>
<p>Villeicht habt ihr ja auch eine bessere Loesung</p>
<p>MfG<br />
Coda</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168241</guid><dc:creator><![CDATA[Coda*linux.PrayLoad]]></dc:creator><pubDate>Sat, 04 Nov 2006 13:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to int string ueberpruefung on Sat, 04 Nov 2006 13:57:56 GMT]]></title><description><![CDATA[<p>Erstmal kann deine Überprüfung so nicht funktionieren (besonders da das Element &quot;befehl[100]&quot; nicht mehr zu deinem Array gehört).</p>
<p>Als Ansatz kannst du die Auswahl des Benutzers als int-Wert einlesen und anschließend den Fehlerstatus von cin kontrollieren (wenn da keine Zahl kam, wird ein Fehler gesetzt) - aber vergiss ein clear() am Ende der Prüfung nicht.</p>
<p>Oder du liest ein char ein und gibst es an dein switch() weiter (dort kannst du es mit '0', ... vergleichen).<br />
(char's sind (abgesehen davon, daß sie als ASCII-Zeichen interpretiert werden) ganz normale 8-Bit-Integer-Werte - und damit legal als case-Bedingung verwendbar)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168266</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 04 Nov 2006 13:57:56 GMT</pubDate></item></channel></rss>