<?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[Anfängerfrage- Was ist Überprüfungscode?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe den untenstehenden Code (lern gerade C++ mit einem Buch von Stroustrup) und es funktioniert nicht. Ich erhalte als Ausgabe nur Nullen, aber ich versteh nicht, warum. Das Buch sagt mir: &quot;Der Überprüfungscode fehlt.&quot;<br />
Was soll das heißen? Ich kapier's einfach nicht.</p>
<pre><code>//Flächenberechnung, x = Länge, y = Weite
int area(int x, int y)
{
	if(x &lt;=0 || y &lt;=0)
	{
		error(&quot;ungültige Argumente&quot;);
	}
	return x*y;
}

//Funktion, die Fehler erzeugen soll mit der Flächenberechnung
int f(int x, int y, int z)
{
	int area1 = area(x,y);
	if (area1&lt;=0) error(&quot;negative Fläche&quot;);
	int area2 = area(1,z);
	int area3 = area(y,z);
	double ratio= double(area1)/area3;
	return area1, area2, area3, ratio;
}

int main()
{
	int x, y, z;
	int area1=0, area2=0, area3=0, ratio=0;

	x = 7; //erstmal irgendwelche Werte
	y = 7;
	z = 8;

	f(x,y,z);

	cout &lt;&lt; area1 &lt;&lt; ' ' &lt;&lt; area2 &lt;&lt; ' ' &lt;&lt; area3 &lt;&lt; ' ' &lt;&lt; ratio &lt;&lt; endl;
	cout &lt;&lt;&quot;\n\n&quot;;
	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/310638/anfängerfrage-was-ist-überprüfungscode</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 08:51:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/310638.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Nov 2012 10:19:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 10:19:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe den untenstehenden Code (lern gerade C++ mit einem Buch von Stroustrup) und es funktioniert nicht. Ich erhalte als Ausgabe nur Nullen, aber ich versteh nicht, warum. Das Buch sagt mir: &quot;Der Überprüfungscode fehlt.&quot;<br />
Was soll das heißen? Ich kapier's einfach nicht.</p>
<pre><code>//Flächenberechnung, x = Länge, y = Weite
int area(int x, int y)
{
	if(x &lt;=0 || y &lt;=0)
	{
		error(&quot;ungültige Argumente&quot;);
	}
	return x*y;
}

//Funktion, die Fehler erzeugen soll mit der Flächenberechnung
int f(int x, int y, int z)
{
	int area1 = area(x,y);
	if (area1&lt;=0) error(&quot;negative Fläche&quot;);
	int area2 = area(1,z);
	int area3 = area(y,z);
	double ratio= double(area1)/area3;
	return area1, area2, area3, ratio;
}

int main()
{
	int x, y, z;
	int area1=0, area2=0, area3=0, ratio=0;

	x = 7; //erstmal irgendwelche Werte
	y = 7;
	z = 8;

	f(x,y,z);

	cout &lt;&lt; area1 &lt;&lt; ' ' &lt;&lt; area2 &lt;&lt; ' ' &lt;&lt; area3 &lt;&lt; ' ' &lt;&lt; ratio &lt;&lt; endl;
	cout &lt;&lt;&quot;\n\n&quot;;
	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2271677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271677</guid><dc:creator><![CDATA[Lieschen Müller]]></dc:creator><pubDate>Sat, 17 Nov 2012 10:19:40 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 10:35:17 GMT]]></title><description><![CDATA[<p>Soll das ein Programm sein, in dem du die Fehler suchen sollst? Da sind viel mehr als ein Fehler drin und ziemlich krasse noch dazu. Zeile 19 ist Unsinn, Zeilen 25-33 kompletter Unfug und selbst bei der Rechnung 14-18 wird zwar irgendwas berechnet, aber nichts was mir Sinn zu machen scheint. Was ist das Ziel dieser Übung? Oder hast du das selber programmiert?</p>
<p>Zu der Frage nach &quot;Überprüfungscode&quot;: Kontext? Das wird irgendeine furchtbare Übersetzung eines englischen Fachbegriffes sein, die man als Fachmann nicht einmal mehr erkennen kann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /> . Das wird sicherlich vorher irgendwo erklärt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271679</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 17 Nov 2012 10:35:17 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 10:38:20 GMT]]></title><description><![CDATA[<p>Der Grund warum du Nullen angezeigt bekommst, ist, dass Du die Variablen area1, 2 und 3 mit 0 initialisierst und dann ausgibst.</p>
<pre><code>int area1=0, area2=0, area3=0, ratio=0;
</code></pre>
<p>und</p>
<pre><code>cout &lt;&lt; area1 &lt;&lt; ' ' &lt;&lt; area2 &lt;&lt; ' ' &lt;&lt; area3 &lt;&lt; ' ' &lt;&lt; ratio &lt;&lt; endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2271681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271681</guid><dc:creator><![CDATA[Hobo]]></dc:creator><pubDate>Sat, 17 Nov 2012 10:38:20 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 10:47:45 GMT]]></title><description><![CDATA[<p><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="😮"
    /> Na gut, doch so schlimm. Wo die Nullen herkommen, weiß ich, aber warum nichts anderes passiert... naja, ich bekomm langsam eine Ahnung.</p>
<p>Bis Zeile 18 steht's im Buch, der Rest ist von mir.</p>
<p>Die Initalisierungen mit 0 habe ich gemacht, weil der Compiler immer gemeckert hat, das sie nicht initalisiert werden.</p>
<p>Der Kontext zum Überprüfungscode (das Wort stammt aus einer deutschen Ausgabe) ist folgender: f ruft die Funktion area auf, vergisst aber die Überprüfung des zurückgelieferten Fehlerwerts. Zeile 6 ist dabei falsch abgeschrieben:</p>
<pre><code>//Flächenberechnung, x = Länge, y = Weite
int area(int x, int y)
{
    if(x &lt;=0 || y &lt;=0)
    {
        return -1;
    }
    return x*y;
}
</code></pre>
<p>Die Aufgabe ist die area1-3 und ratio ausgeben zu lassen und weiter Tests einzufügen, bis alle Fehler weg sind (wenn man negative Zahlen eingibt zB). Naja, wie gibt man denn überhaupt mehrere Werte zurück?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271682</guid><dc:creator><![CDATA[Lieschen Müller]]></dc:creator><pubDate>Sat, 17 Nov 2012 10:47:45 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 11:00:43 GMT]]></title><description><![CDATA[<p>Lieschen Müller schrieb:</p>
<blockquote>
<p>Naja, wie gibt man denn überhaupt mehrere Werte zurück?</p>
</blockquote>
<p>Hier solltest du dir eine eigene Datenstruktur definieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271687</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 17 Nov 2012 11:00:43 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 11:12:11 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Lieschen Müller schrieb:</p>
<blockquote>
<p>Naja, wie gibt man denn überhaupt mehrere Werte zurück?</p>
</blockquote>
<p>Hier solltest du dir eine eigene Datenstruktur definieren.</p>
</blockquote>
<p>Nein, die Aufgabe ist höchstwahrscheinlich ganz anders gemeint. Es soll vermutlich nur ratio zurück gegeben werden. Das Hauptaugenmerk der Übung besteht in dem Auswerten von Funktionsrückgabewerten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271694</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 17 Nov 2012 11:12:11 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 11:14:59 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Lieschen Müller schrieb:</p>
<blockquote>
<p>Naja, wie gibt man denn überhaupt mehrere Werte zurück?</p>
</blockquote>
<p>Hier solltest du dir eine eigene Datenstruktur definieren.</p>
</blockquote>
<p>Nein, die Aufgabe ist höchstwahrscheinlich ganz anders gemeint. Es soll vermutlich nur ratio zurück gegeben werden. Das Hauptaugenmerk der Übung besteht in dem Auswerten von Funktionsrückgabewerten.</p>
</blockquote>
<p>Kann sein, hab' mir den Code nicht wirklich angesehen.</p>
<p>Edit: Jup, hast Recht.<br />
Naja, war auch eher als allgemeiner Ratschlag für solchen Fälle in denen es nicht anders geht als mehrere Werte zurückzugeben gemeint...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271697</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 17 Nov 2012 11:14:59 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 11:20:39 GMT]]></title><description><![CDATA[<p>Hm, also im Buch steht wirklich drin, dass alle 4 berechneten Werte zurückgegeben werden sollen. Irgendwie denk ich mir, ich hätte die Funktion f auch einfach weglassen können und alles in main() ausrechnen. Naja, nun habe ich das wie von sone vorgeschlagen gemacht (hat halt bisschen gedauert, weil ich es erstmal nachlesen musste)</p>
<pre><code>int area(int x, int y)
{
	if(x &lt;=0 || y &lt;=0)
	{
		error(&quot;ungültige Argumente&quot;);
		//return -1;
	}
	return x*y;
}

typedef struct
{
  int area1, area2, area3;
  double ratio;
} Werte;

Werte f(int x, int y, int z)
{
	Werte berechnen;

	berechnen.area1 = area(x,y);
	if (berechnen.area1&lt;=0) error(&quot;negative Fläche&quot;);
	berechnen.area2 = area(1,z);
	berechnen.area3 = area(y,z);
	berechnen.ratio= double(berechnen.area1)/berechnen.area3;

	return berechnen;
}

int main()
{
	int x, y, z;

	x = 7;
	y = 7;
	z = 8;

	Werte berechnen = f(x,y,z);

	cout &lt;&lt; berechnen.area1 &lt;&lt; ' ' &lt;&lt; berechnen.area2 &lt;&lt; ' ' &lt;&lt; berechnen.area3 &lt;&lt; ' ' &lt;&lt; berechnen.ratio &lt;&lt; endl;
	cout &lt;&lt;&quot;\n\n&quot;;
	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
<p>Das klappt jetzt herrvoragend und ich werde beginnen, ungültige Argumente einzusetzen.</p>
<p>Vielen Dank euch allen fürs Draufgucken und Hinweise geben. Das mir weitergeholfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271699</guid><dc:creator><![CDATA[Lieschen Müller]]></dc:creator><pubDate>Sat, 17 Nov 2012 11:20:39 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 11:23:11 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Naja, war auch eher als allgemeiner Ratschlag für solchen Fälle in denen es nicht anders geht als mehrere Werte zurückzugeben gemeint...</p>
</blockquote>
<p>Selbst da finde ich das einen doofen Ratschlag. Entweder gehören die Werte logisch zusammen, dann sollten sie sowieso gemeinsam in ein Objekt, oder nicht, dann wäre das künstliche Zusammenbinden zwecks Rückgabe aus einer Funktion verkehrt. Es gibt schließlich genügend andere Methoden, angefangen bei Referenzen, hin zu den coolen C++11-Tupeln mit std::tie.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271700</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 17 Nov 2012 11:23:11 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 11:27:23 GMT]]></title><description><![CDATA[<p>Nur mal so als Frage, bin ich hier eigentlich richtig mit meinen Fragen oder habt ihr da eine andere Abteilung extra für nervige Anfängerfragen?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a>: Das mit den Referenzen habe ich irgendwie nicht verstanden. Darauf war ich bei meinen Recherechen schon gestoßen. Ich nehme an, es wird noch vieles erklärt, wenn ich erstmal weiter bin im Buch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271703</guid><dc:creator><![CDATA[Lieschen Müller]]></dc:creator><pubDate>Sat, 17 Nov 2012 11:27:23 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 12:57:57 GMT]]></title><description><![CDATA[<p>Lieschen Müller schrieb:</p>
<blockquote>
<p>Das Buch sagt mir: &quot;Der Überprüfungscode fehlt.&quot;<br />
Was soll das heißen? Ich kapier's einfach nicht.</p>
</blockquote>
<p>Das soll schlicht heißen, dass die Funktionen area() und framed_area() einen bestimmten Wert für den Fehlerfall zurückgeben und man das Ergebnis daraufhin prüfen muss um einen Fehler auszuschließen. Wenn man das nicht tut, fehlt der &quot;Überprüfungscode&quot; und das Programm rechnet mit Werten weiter die eigentlich als Fehlermeldung vorgesehen waren.</p>
<p>Desweiteren ist wohl nicht gemeint, dass f() die vier Werte zurückgeben soll und main() sie dann in die Konsole schreibt. Es reicht wenn du sie in f() einfach gleich auf der Konsole ausgibst.</p>
<p>Den Umweg über diese komische struct-Konstruktion kannst Du weglassen.<br />
In c++ würde man es auch nicht so hinschreiben wie Du es getan hast, sondern vielleicht eher so:</p>
<pre><code>struct Werte
{
  int area1, area2, area3;
  double ratio;
};
</code></pre>
<p>Lieschen Müller schrieb:</p>
<blockquote>
<p>Nur mal so als Frage, bin ich hier eigentlich richtig mit meinen Fragen oder habt ihr da eine andere Abteilung extra für nervige Anfängerfragen?</p>
</blockquote>
<p>Da es sich eindeutig um C++ handelt bist Du hier richtig. Wen solche Fragen nerven braucht sie ja nicht zu beantworten. <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/2271722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271722</guid><dc:creator><![CDATA[hmpff]]></dc:creator><pubDate>Sat, 17 Nov 2012 12:57:57 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage- Was ist Überprüfungscode? on Sat, 17 Nov 2012 13:11:01 GMT]]></title><description><![CDATA[<p>Ah, cool, vielen Dank. Gleich noch mehr gelernt. Die Aufgabe hab ich jetzt verstanden.</p>
<blockquote>
<p>Da es sich eindeutig um C++ handelt bist Du hier richtig.</p>
</blockquote>
<p>Na dann gibt's noch öfter so geistreiche Sachen von mir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271729</guid><dc:creator><![CDATA[Lieschen Müller]]></dc:creator><pubDate>Sat, 17 Nov 2012 13:11:01 GMT</pubDate></item></channel></rss>