<?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[If Def. Problem]]></title><description><![CDATA[<p>Moin Moin,</p>
<p>das Programm soll folgende Features haben. Über die Eingabe der Körpergröße und des Gewichtes soll das optimale Gewicht für die Person ermittelt werden. Ich habe zur Zeit das Problem mit dem IF Befehl, nach der Eingabeaufforderung in der man &quot;m/w&quot; eintippen kann soll das Programm halt entweder zu der Rechnung für weiblich oder männlich springen aber das bekomme ich irgendwie nicht so richtig definiert.</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;					// wegen printf
#include &lt;iostream.h&gt;					// wegen cout und cin
#include &lt;conio.h&gt;					// wegen clrscr

	void main ()				// Programmname
		{				// Beginn
		float Groesse;			// Variable vom Typ float
		char Geschl;			// Auswahl Geschlecht
		clrscr ();
		cout &lt;&lt; &quot;Geben Sie ihre Koerpergoeße ein!\n&quot;;
		/* Eingabeaufforderung */
		cin &gt;&gt; Groesse;					// Eingabe
		cout &lt;&lt; &quot;Waehlen Sie ihr Geschlecht aus m/w!\n&quot;;
		/* Eingabeaufforderung */			// Eingabe
        cin &gt;&gt; Geschl;
	if(Geschl == w);			// Ueberpruefung ob weiblich
		{
		/* Rechnung weiblich*/
		Ergebnis = (Groesse - 100.) * 0.95;	// Rechnung weiblich
		// Ausgabe Ergebnisses
		printf(&quot;\nIhr optimal Gewicht beträgt&quot;
		&quot; betraegt: %4.2f KG!&quot;, Ergebnis);// Ausgabe des Ergebnisses
		getchar ();	// wartet auf Tastendruck
		}
	if(Geschl! =w);				// Ueberpruefung ob maennlich
		{
		/* Rechnung maennlich */
		Ergebnis = (Groesse - 100.) * 0.9;	// Rechnung maennlich
		// Ausgabe Ergebnisses
		printf(&quot;\nIhr optimal Gewicht beträgt&quot;
		&quot; betraegt: %4.2f KG!&quot;, Ergebnis);// Ausgabe des Ergebnisses
		getchar ();			// wartet auf Tastendruck
		} // Ende
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/261675/if-def-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 03:38:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261675.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Feb 2010 12:59:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 13:31:23 GMT]]></title><description><![CDATA[<p>Moin Moin,</p>
<p>das Programm soll folgende Features haben. Über die Eingabe der Körpergröße und des Gewichtes soll das optimale Gewicht für die Person ermittelt werden. Ich habe zur Zeit das Problem mit dem IF Befehl, nach der Eingabeaufforderung in der man &quot;m/w&quot; eintippen kann soll das Programm halt entweder zu der Rechnung für weiblich oder männlich springen aber das bekomme ich irgendwie nicht so richtig definiert.</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;					// wegen printf
#include &lt;iostream.h&gt;					// wegen cout und cin
#include &lt;conio.h&gt;					// wegen clrscr

	void main ()				// Programmname
		{				// Beginn
		float Groesse;			// Variable vom Typ float
		char Geschl;			// Auswahl Geschlecht
		clrscr ();
		cout &lt;&lt; &quot;Geben Sie ihre Koerpergoeße ein!\n&quot;;
		/* Eingabeaufforderung */
		cin &gt;&gt; Groesse;					// Eingabe
		cout &lt;&lt; &quot;Waehlen Sie ihr Geschlecht aus m/w!\n&quot;;
		/* Eingabeaufforderung */			// Eingabe
        cin &gt;&gt; Geschl;
	if(Geschl == w);			// Ueberpruefung ob weiblich
		{
		/* Rechnung weiblich*/
		Ergebnis = (Groesse - 100.) * 0.95;	// Rechnung weiblich
		// Ausgabe Ergebnisses
		printf(&quot;\nIhr optimal Gewicht beträgt&quot;
		&quot; betraegt: %4.2f KG!&quot;, Ergebnis);// Ausgabe des Ergebnisses
		getchar ();	// wartet auf Tastendruck
		}
	if(Geschl! =w);				// Ueberpruefung ob maennlich
		{
		/* Rechnung maennlich */
		Ergebnis = (Groesse - 100.) * 0.9;	// Rechnung maennlich
		// Ausgabe Ergebnisses
		printf(&quot;\nIhr optimal Gewicht beträgt&quot;
		&quot; betraegt: %4.2f KG!&quot;, Ergebnis);// Ausgabe des Ergebnisses
		getchar ();			// wartet auf Tastendruck
		} // Ende
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1859490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859490</guid><dc:creator><![CDATA[Fires112]]></dc:creator><pubDate>Mon, 22 Feb 2010 13:31:23 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 13:01:05 GMT]]></title><description><![CDATA[<p>Bitte schnell ins C++-Subforum abschieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859493</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Mon, 22 Feb 2010 13:01:05 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 13:02:07 GMT]]></title><description><![CDATA[<p>Ups, tut mir leid das ich das flasche erwischt habe, kann ich selbst verschieben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859494</guid><dc:creator><![CDATA[Fires112]]></dc:creator><pubDate>Mon, 22 Feb 2010 13:02:07 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 13:07:26 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>1. Bitte Code-Tags benutzen sfds<br />
2. Du mischt C (printf) und C++ (cin/cout), entscheide dich bitte für eins<br />
3. Du verwendest eigentlich nichts Builder-spezifisches, auch das conio/clrscr kannst du durch Standard-C++ ersetzen. Deshalb wirst du ins C++ Forum verschoben. (Verschieben können hier nur Moderatoren)<br />
4. Deine if-Bedingung soll die Variable Geschl nicht mit der Variablen w vergleichen, sondern mit dem konstanten Zeichen 'w'.</p>
<pre><code class="language-cpp">f(Geschl == 'w')
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859498</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 22 Feb 2010 13:07:26 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 13:07:58 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-14774.html" rel="nofollow">akari</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-2.html" rel="nofollow">VCL (C++ Builder)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859499</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 22 Feb 2010 13:07:58 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 13:19:07 GMT]]></title><description><![CDATA[<p>Ich bedanke mich recht herzlich für diesen schnellen Verschub!</p>
<p>Okay das ist natürlich auch ein Unterschied ob nur = w oder =`w´.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859501</guid><dc:creator><![CDATA[Fires112]]></dc:creator><pubDate>Mon, 22 Feb 2010 13:19:07 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 13:25:32 GMT]]></title><description><![CDATA[<p>Nun sagt mir das Liebe Programm aber es ist noch ein Fehler vorhanden:</p>
<pre><code class="language-cpp">printf(&quot;\nIhr optimal Gewicht beträgt&quot;
		&quot; betraegt: %4.2f KG!&quot;, Ergebnis);		// Ausgabe des Ergebnisses
		getchar ();								// wartet auf Tastendruck
		}										// Ende
</code></pre>
<p>Irgendwie vermisst er für die Ende Klammer ein Argument oder so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859509</guid><dc:creator><![CDATA[Fires112]]></dc:creator><pubDate>Mon, 22 Feb 2010 13:25:32 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 13:51:29 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">printf(&quot;\nIhr optimal Gewicht beträgt %4.2f KG!&quot;, Ergebnis);        // Ausgabedes Ergebnisses 
        getchar ();                                // wartet auf Tastendruck 
        }
</code></pre>
<p>probier mal das</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859543</guid><dc:creator><![CDATA[sirchillalot]]></dc:creator><pubDate>Mon, 22 Feb 2010 13:51:29 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 14:00:15 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if(Geschl! =w);                // Ueber
</code></pre>
<p>mach mal das ; weg das gehört da nicht hin ist bei beiden if's</p>
<p>lg lolo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859550</guid><dc:creator><![CDATA[noobLolo]]></dc:creator><pubDate>Mon, 22 Feb 2010 14:00:15 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 14:05:03 GMT]]></title><description><![CDATA[<p>und main() mußt natürlich auch noch zu machen und was zurück geben, also fehlt am ende eine</p>
<pre><code class="language-cpp">...
  return 0;
}
</code></pre>
<p>doppelte zeilen blöcke sind immer bäh also eine neue variable</p>
<pre><code class="language-cpp">double factor;
  if(Geschl == 'w'){
    factor = 0.95;
  }else{//Geschl == 'w'
    factor = 0.9;
  }

  Ergebnis = (Groesse - 100.) * factor;
  ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1859555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859555</guid><dc:creator><![CDATA[noobLolo]]></dc:creator><pubDate>Mon, 22 Feb 2010 14:05:03 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 14:21:51 GMT]]></title><description><![CDATA[<p>Fires112 schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>Ein paar weitere Anmerkungen, zumindest wenn du wirklich C++ programmierst...</p>
<p>Folgende beide Headerincludes sind unter C++ veraltet:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;iostream.h&gt;
</code></pre>
<p>Und gehören wie folgt ersetzt:</p>
<pre><code class="language-cpp">#include &lt;cstdio&gt;   // Die c-Kompatibilitätsheader beginnen mit einem c
#include &lt;iostream&gt; // Und allgemein: die Header aus der Standardbibliothek
                    //   werden ohne .h angegeben
</code></pre>
<p>Nach dem C++ Standard, gibt es auch kein &quot;void main()&quot;, die main-Funktion liefert Grundsätzlich einen int zurück, auch wenn hier eine Besonderheit gilt: du benötigst kein return - in dem Fall wird die main-Funktion mit 0 als Rückgabewert verlassen.</p>
<p>Des weiteren liegen die Funktionen/Objekte der Standardbibliothek im Namensraum std. Daher musst du entweder mit &quot;using namespace&quot; arbeiten, oder Diese explizit mit einem vorangestellten &quot;std::&quot; beginnen. Grundsätzlich solltest du using namespace aber nicht in Headern, und nach allen includes schreiben:</p>
<p>Also entweder...</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
...

int main()
{
    ...
    std::cout &lt;&lt; &quot;Geben Sie ihre Koerpergoeße ein!\n&quot;;
    ...
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
...

using namespace std;

int main()
{
    ...
    cout &lt;&lt; &quot;Geben Sie ihre Koerpergoeße ein!\n&quot;;
    ...
</code></pre>
<p>Zudem rückst du wirklich bescheiden ein. Unabhängig davon welchen Einrückstil man verwendet, sollte man anhand der Einrückung den Scope erkennen. Eine recht verbreitete Variante davon, ist der folgende Einrückstil:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main ()
{
    int zahl;
    std::cout &lt;&lt; &quot;Gebe eine Zahl ein: &quot;;
    std::cin &gt;&gt; zahl;

    if(zahl == 1)
    {
        std::cout &lt;&lt; &quot;Die Zahl beträgt 1.&quot;;
    }
}
</code></pre>
<p>Und zu guter Letzt: Kommentare dienen der Dokumentation. Wie aber beim Allem sind Kommentare nur sinnvoll, wenn man sie an Stellen setzt, die eine Beschreibung verdienen. Ansonsten machen Kommentare einen Code sogar schlechter Lesbar.</p>
<p>Verwende Kommentare an den Stellen, die eine Beschreibung nötig haben, nicht aber bei sofort ersichtlichen Dingen (Wie Beginn, Ende... Zumindest wenn man sauber einrückt, ist das eh ersichtlich).</p>
<p>Zudem kann man Code teilweise noch viel besser dokumentieren, wenn man sprechende Bezeichner verwendet, und nicht unnötig abkürzt. Deine Variable &quot;Geschl&quot; sagt ohne das man den Code analysieren muss, garnichts aus. Ist &quot;Geschlecht&quot; wirklich soviel mehr Schreibaufwand?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859570</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 22 Feb 2010 14:21:51 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 14:23:12 GMT]]></title><description><![CDATA[<p>noobLolo schrieb:</p>
<blockquote>
<p>und main() mußt natürlich auch noch zu machen und was zurück geben, also fehlt am ende eine</p>
<pre><code class="language-cpp">...
  return 0;
}
</code></pre>
</blockquote>
<p>Nein, das return 0 ist im Falle der main-Funktion nicht zwingend nötig (Dies ist ein Sonderfall in C++).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859572</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 22 Feb 2010 14:23:12 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 20:34:11 GMT]]></title><description><![CDATA[<p>Also ich muss ja zugeben, Teile des Programmes habe ich aus der Vorlage unseres C++ Lehrers in der Schule übernommen, evtl. ist der nicht mehr auf dem neusten Stand der Dinge.</p>
<p>Das Problem mit der Endklammer besteht aber weiter habe die Vorschläge durch probiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859771</guid><dc:creator><![CDATA[Fires112]]></dc:creator><pubDate>Mon, 22 Feb 2010 20:34:11 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 20:49:39 GMT]]></title><description><![CDATA[<p>noobLolo schrieb:</p>
<blockquote>
<p>und main() mußt natürlich auch noch zu machen und was zurück geben, also fehlt am ende eine</p>
<pre><code class="language-cpp">...
  return 0;
}
</code></pre>
<p>doppelte zeilen blöcke sind immer bäh also eine neue variable</p>
<pre><code class="language-cpp">double factor;
  if(Geschl == 'w'){
    factor = 0.95;
  }else{//Geschl == 'w'
    factor = 0.9;
  }

  Ergebnis = (Groesse - 100.) * factor;
  ...
</code></pre>
</blockquote>
<p>Der untere Teil ist die Lösung!</p>
<p>Danke Jungs und Mädels!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859782</guid><dc:creator><![CDATA[Fires112]]></dc:creator><pubDate>Mon, 22 Feb 2010 20:49:39 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 21:07:28 GMT]]></title><description><![CDATA[<p>Fires112 schrieb:</p>
<blockquote>
<p>Also ich muss ja zugeben, Teile des Programmes habe ich aus der Vorlage unseres C++ Lehrers in der Schule übernommen, evtl. ist der nicht mehr auf dem neusten Stand der Dinge.</p>
</blockquote>
<p>Nicht nur nicht mehr auf den neuesten Stand der Dinge.</p>
<p>1. &quot;void main()&quot; war noch nie gültiges C++, wenn gleich es von einigen Compilern akzeptiert wird. In der Regel gibt ein Compiler spätestens auf der höchsten Warnstufe hierzu einen Fehler oder mindestens eine Warnung aus.</p>
<p>2. Die Headerangaben der Standardbibliothekt in der Form &quot;#include &lt;iostream&gt;&quot; wurden in dem C++98 Standard übernommen... Wir schreiben das Jahr 2010 - das heißt 12 Jahre veraltet (Auch wenn ich so fair sein will, das es auch eine Weile gedauert hat bis die wesentlichen C++ Features in den Compilern umgesetzt waren, nur nicht 12 Jahre - und der nächste Standard wird hoffentlich spätestens 2012 verabschiedet sein).</p>
<p>Es mag auf den meisten Compilern funktionieren, doch würde ich mir wünschen, wenn auch Lehrer alle paar Jahre mal ihr wissen auf den Prüfstand setzen würden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859792</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 22 Feb 2010 21:07:28 GMT</pubDate></item><item><title><![CDATA[Reply to If Def. Problem on Mon, 22 Feb 2010 21:08:24 GMT]]></title><description><![CDATA[<p>Fires112 schrieb:</p>
<blockquote>
<p>Das Problem mit der Endklammer besteht aber weiter habe die Vorschläge durch probiert.</p>
</blockquote>
<p>Sofern du sauber einrückst, ist es nahezu unmöglich eine Klammer zu übersehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859793</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 22 Feb 2010 21:08:24 GMT</pubDate></item></channel></rss>