<?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[viele if-Abfragen]]></title><description><![CDATA[<p>Hallo <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="🙂"
    /><br />
Ich habe ein Programm geschrieben (mit Qt als GUI) und habe in einer Funktion relativ viele if-Abfragen:</p>
<pre><code>static bool start = false;

	if(start == true)//wenn auf den start Button geklickt wurde
	{	
		...

			if(ui.change-&gt;isChecked())
			{
				if(v[wert].getAntwort() == getText())
					{
						...
					}
			}

				else
				{
					if(v[wert].getLösung() == getText())
					{
					 ...
					}
				}

					if(ui.checkBox-&gt;isChecked())
					{
						v.erase(v.begin()+wert); 
					}

                                    ...

					if(ui.checkBox-&gt;isChecked())
					{
						if(v.size() &lt;= 0) 
							{
						            results();
						 	}		
					}

					if(!ui.checkBox-&gt;isChecked())
					{
						if(anzahl &gt;= 10)
						{
							                      results(anzahl,richtig,start);
						}
					}

							if(start == true)
							{

								if(ui.change-&gt;isChecked())
								{
									setchange();
								}

								else
								{
								setv();
								}

							}

		}

	else // wenn der Button das erste mal geklick wird
	{
		if(read_file())
		{
				start = true;
				ui.checkButton-&gt;setText(&quot;Check&quot;);
				ui.checkBox-&gt;setEnabled(false);
				ui.Edit-&gt;setEnabled(false);

				if(ui.change-&gt;isChecked())
				{
					setchange();
				}

				else
				{
					setv();
				}

				ui.change-&gt;setEnabled(false);
		}

	}
</code></pre>
<p>Gibt es vlt eine alternative dafür? (Das Programm prüft halt immer ob eine Option eingestellt wurde (if(ui.change-&gt;isChecked()))<br />
Danke <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/topic/324227/viele-if-abfragen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 14:54:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/324227.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Mar 2014 15:46:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to viele if-Abfragen on Fri, 07 Mar 2014 15:46:49 GMT]]></title><description><![CDATA[<p>Hallo <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="🙂"
    /><br />
Ich habe ein Programm geschrieben (mit Qt als GUI) und habe in einer Funktion relativ viele if-Abfragen:</p>
<pre><code>static bool start = false;

	if(start == true)//wenn auf den start Button geklickt wurde
	{	
		...

			if(ui.change-&gt;isChecked())
			{
				if(v[wert].getAntwort() == getText())
					{
						...
					}
			}

				else
				{
					if(v[wert].getLösung() == getText())
					{
					 ...
					}
				}

					if(ui.checkBox-&gt;isChecked())
					{
						v.erase(v.begin()+wert); 
					}

                                    ...

					if(ui.checkBox-&gt;isChecked())
					{
						if(v.size() &lt;= 0) 
							{
						            results();
						 	}		
					}

					if(!ui.checkBox-&gt;isChecked())
					{
						if(anzahl &gt;= 10)
						{
							                      results(anzahl,richtig,start);
						}
					}

							if(start == true)
							{

								if(ui.change-&gt;isChecked())
								{
									setchange();
								}

								else
								{
								setv();
								}

							}

		}

	else // wenn der Button das erste mal geklick wird
	{
		if(read_file())
		{
				start = true;
				ui.checkButton-&gt;setText(&quot;Check&quot;);
				ui.checkBox-&gt;setEnabled(false);
				ui.Edit-&gt;setEnabled(false);

				if(ui.change-&gt;isChecked())
				{
					setchange();
				}

				else
				{
					setv();
				}

				ui.change-&gt;setEnabled(false);
		}

	}
</code></pre>
<p>Gibt es vlt eine alternative dafür? (Das Programm prüft halt immer ob eine Option eingestellt wurde (if(ui.change-&gt;isChecked()))<br />
Danke <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/2387454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2387454</guid><dc:creator><![CDATA[asdfasdfasdf]]></dc:creator><pubDate>Fri, 07 Mar 2014 15:46:49 GMT</pubDate></item><item><title><![CDATA[Reply to viele if-Abfragen on Fri, 07 Mar 2014 17:19:00 GMT]]></title><description><![CDATA[<p>Du könntest das ganze etwas stauchen:</p>
<pre><code>static bool start = false; 

	if(start)//wenn auf den start Button geklickt wurde 
	{   
		//... 

		if(ui.change-&gt;isChecked()) 
		{ 
			if(v[wert].getAntwort() == getText()) 
			{ 
				//... 
			} 
		}
		else 
		{ 
			if(v[wert].getLösung() == getText()) 
			{ 
				//... 
			} 
		} 

		if(ui.checkBox-&gt;isChecked()) 
			v.erase(v.begin()+wert); 

		//... 

		if(ui.checkBox-&gt;isChecked()) 
		{ 
			if(v.size() &lt;= 0) 
				results();      
		}
		else
		{ 
			if(anzahl &gt;= 10) 
				results(anzahl,richtig,start); 
		} 

		if(ui.change-&gt;isChecked()) 
			setchange(); 
		else 
			setv(); 
	} 
	else // wenn der Button das erste mal geklick wird 
	{ 
		if(read_file()) 
		{ 
			start = true; 
			ui.checkButton-&gt;setText(&quot;Check&quot;); 
			ui.checkBox-&gt;setEnabled(false); 
			ui.Edit-&gt;setEnabled(false); 

			if(ui.change-&gt;isChecked()) 
				setchange(); 
			else 
				setv(); 

			ui.change-&gt;setEnabled(false); 
		} 
	}
</code></pre>
<p>Alternativen gibt es wohl keine, außer du schaffst es die Bedingungen umzustrukturieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2387486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2387486</guid><dc:creator><![CDATA[DarkShadow44]]></dc:creator><pubDate>Fri, 07 Mar 2014 17:19:00 GMT</pubDate></item><item><title><![CDATA[Reply to viele if-Abfragen on Mon, 10 Mar 2014 10:17:17 GMT]]></title><description><![CDATA[<p>ok vielen Dank <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="🙂"
    /><br />
Aber ist das wenn man so viele if-Abfragen hat nicht schlechter style?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2387991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2387991</guid><dc:creator><![CDATA[asdfasdfasdf]]></dc:creator><pubDate>Mon, 10 Mar 2014 10:17:17 GMT</pubDate></item><item><title><![CDATA[Reply to viele if-Abfragen on Mon, 10 Mar 2014 10:49:50 GMT]]></title><description><![CDATA[<p>Das ist doch noch nicht viele. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Aber es geht ja schlecht mit weniger Abfragen oder ?<br />
Insofern passt das schon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2387996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2387996</guid><dc:creator><![CDATA[DarkShadow44]]></dc:creator><pubDate>Mon, 10 Mar 2014 10:49:50 GMT</pubDate></item><item><title><![CDATA[Reply to viele if-Abfragen on Mon, 10 Mar 2014 10:58:20 GMT]]></title><description><![CDATA[<p>Wenn es mehr werden sollte, würde ich mal State Charts in den Raum werfen:</p>
<p>z. B. aus boost:</p>
<p><a href="http://www.boost.org/doc/libs/1_55_0/libs/statechart/doc/index.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/libs/statechart/doc/index.html</a></p>
<p>und</p>
<p><a href="http://www.boost.org/doc/libs/1_55_0/libs/msm/doc/HTML/index.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/libs/msm/doc/HTML/index.html</a></p>
<p>VG</p>
<p>Pellaeon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388000</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 10 Mar 2014 10:58:20 GMT</pubDate></item><item><title><![CDATA[Reply to viele if-Abfragen on Mon, 10 Mar 2014 11:04:34 GMT]]></title><description><![CDATA[<p>asdfasdfasdf schrieb:</p>
<blockquote>
<p>Aber ist das wenn man so viele if-Abfragen hat nicht schlechter style?</p>
</blockquote>
<p>Grundsätzlich kommt es darauf an ob es eine Alternative gibt.</p>
<p>Allgemein spricht wenig gegen viele if, wenn sie notwendig sind. Falls die Verschachtelungen zu tief werden sollte man nur überlegen ob eine Negation die Abfragetiefe vielleicht ändern kann, oder ob man Codeteile in Funktionen auslagert.</p>
<p>Bei längeren Code mit vielen if neige ich dazu, die Logik in kleinere Funktionen zu splitten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388004</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 10 Mar 2014 11:04:34 GMT</pubDate></item></channel></rss>