<?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[array richtig ausgeben]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich bin neu in der objektorientierten Programmierung und habe da so meine Schwierigkeiten.<br />
Ich möchte ein Code schreiben, der einen Linearen Term und einen Quadratischen Term einließt, ausgibt, Nullstellen berechnet sowie Schnittstellen und die Eingabe auf Richtigkeit überprüft(zur Zahleneingabe korrekt).<br />
Ich habe auch soweit Programmiert.<br />
Nun würde ich gerne zwei arrays anlegen und diese mit meinem LinearTerm bzw. meinem QuadratTErm füllen und dann anders herum ausgeben, also array[erste Stelle] = array[Letzte Stelle]unw.<br />
Ich bekomme leider immer sehr verwirrende Ausgaben und weiß nicht mehr weiter.<br />
Ich würde mich über hilfe sehr freuen aber bitte verurteilt mich nicht wenn Code zu viel da ist oder sowas.<br />
Mit freundlichen Grüßen,<br />
Tomica[#include &lt;iostream&gt;<br />
#include &lt;string&gt;<br />
#include &lt;math.h&gt;<br />
#include &lt;stdio.h&gt;</p>
<p>#define l 1<br />
#define q 2</p>
<p>using namespace std;</p>
<p>struct Linear{ //Struktur zum speichern eines linearen Terms<br />
double m;<br />
double b;<br />
} LinearTerm;</p>
<p>struct Quadrat{ //Struktur zum speichern eines quadratischen Terms<br />
double a, b, c;<br />
}QuadratTerm;</p>
<p>void valuesOfLinear (){<br />
cout &lt;&lt; &quot;\nLinearterm:&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;x &quot;;<br />
if(LinearTerm.b &gt;= 0){<br />
cout &lt;&lt; &quot;+&quot; &lt;&lt;LinearTerm.b;<br />
}else<br />
cout &lt;&lt; LinearTerm.b;<br />
}<br />
void valuesOfQuadrat (){<br />
cout &lt;&lt; &quot;\nQuadratterm:&quot;&lt;&lt; QuadratTerm.a &lt;&lt; &quot;x^2 &quot;;<br />
if(QuadratTerm.b &gt;= 0 &amp;&amp; QuadratTerm.c &gt;= 0){<br />
cout &lt;&lt; &quot;+&quot; &lt;&lt; QuadratTerm.b;<br />
cout &lt;&lt; &quot;x &quot; &lt;&lt; &quot;+&quot; &lt;&lt; QuadratTerm.c;}<br />
else<br />
cout &lt;&lt; QuadratTerm.b &lt;&lt;&quot;x&quot; &lt;&lt; QuadratTerm.c;<br />
}<br />
void PQ(double, double, double){<br />
double x1;<br />
double x2;<br />
double Wurzel;<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;\t&quot; &lt;&lt; LinearTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.a &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.c;<br />
if(QuadratTerm.a == 1){<br />
Wurzel = sqrt((QuadratTerm.b / 2)*(QuadratTerm.b / 2) - QuadratTerm.c);<br />
if(Wurzel &gt;= 0){<br />
x1 = -(QuadratTerm.b / 2) + Wurzel;<br />
x2 = -(QuadratTerm.b / 2) - Wurzel;<br />
cout &lt;&lt; &quot;\nx1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\nx2=&quot; &lt;&lt; x2;<br />
}else<br />
cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;</p>
<p>}else if(QuadratTerm.a != 1){<br />
cout &lt;&lt; &quot;\nErgebniss nach Umformung:&quot;;<br />
QuadratTerm.b = QuadratTerm.b / QuadratTerm.a;<br />
QuadratTerm.c = QuadratTerm.c / QuadratTerm.a;<br />
Wurzel = sqrt((QuadratTerm.b / 2)*(QuadratTerm.b / 2) - QuadratTerm.c);<br />
if(Wurzel &gt;= 0){<br />
x1 = -(QuadratTerm.b / 2) + Wurzel;<br />
x2 = -(QuadratTerm.b / 2) - Wurzel;<br />
cout &lt;&lt; &quot;\nx1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\nx2=&quot; &lt;&lt; x2;<br />
}else<br />
cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;<br />
}<br />
}</p>
<p>void intersection(){<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;\t&quot; &lt;&lt; LinearTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.a &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.c;<br />
double s1, s2, Wurzel, x1, x2;<br />
s1 = QuadratTerm.b - (LinearTerm.m *(-1));<br />
s2 = QuadratTerm.c - (LinearTerm.b <em>(-1));<br />
if(QuadratTerm.a == 1){<br />
Wurzel = sqrt((s1 / 2)</em>(s1 / 2) - s2);<br />
if(Wurzel &gt;= 0){<br />
x1 = -(s1 / 2) + Wurzel;<br />
x2 = -(s1 / 2) - Wurzel;<br />
cout &lt;&lt; &quot;\ns1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\ns2=&quot; &lt;&lt; x2;<br />
}else<br />
cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;</p>
<p>}else if(QuadratTerm.a != 1){<br />
cout &lt;&lt; &quot;\nErgebniss nach Umformung:&quot;;<br />
s1 = s1 / QuadratTerm.a;<br />
s2 = s2 / QuadratTerm.a;<br />
Wurzel = sqrt((s1 / 2)*(s1 / 2) - s2);<br />
if(Wurzel &gt;= 0){<br />
x1 = -(s1 / 2) + Wurzel;<br />
x2 = -(s1 / 2) - Wurzel;<br />
cout &lt;&lt; &quot;\ns1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\ns2=&quot; &lt;&lt; x2;<br />
}else<br />
cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;<br />
}</p>
<p>}</p>
<p>int inputValidation(double){<br />
if(!(cin != false))<br />
{<br />
std::cin.clear();<br />
std::cin.ignore(1000, '\n');<br />
cout &lt;&lt; &quot;\nEingabe fehlerhaft! Bitte nur double Werte eingeben!&quot;;<br />
}<br />
}</p>
<p>//void reserve(){</p>
<p>//}</p>
<p>int main() {</p>
<p>cout &lt;&lt; &quot;Eingabe von zwei double Werten des Linearterms:&quot;;<br />
cin &gt;&gt; LinearTerm.m;<br />
inputValidation(LinearTerm.m);<br />
cin &gt;&gt; LinearTerm.b;<br />
inputValidation(LinearTerm.b);</p>
<p>cout &lt;&lt; &quot;\nEingabe von drei double Werten des Quadratterms:&quot;;<br />
cin &gt;&gt; QuadratTerm.a;<br />
inputValidation(QuadratTerm.a);<br />
cin &gt;&gt; QuadratTerm.b;<br />
inputValidation(QuadratTerm.b);<br />
cin &gt;&gt; QuadratTerm.c;<br />
inputValidation(QuadratTerm.c);</p>
<p>valuesOfLinear ();<br />
valuesOfQuadrat();<br />
PQ(QuadratTerm.a, QuadratTerm.b, QuadratTerm.c);<br />
intersection();<br />
//int Linear[l];<br />
//int Quadrat[q];<br />
Linear arrayl[l] = {LinearTerm.m, LinearTerm.b};<br />
Quadrat arrayq[q] = {QuadratTerm.a, QuadratTerm.b, QuadratTerm.c};<br />
// arrayl[0].m = LinearTerm.m;<br />
// arrayl[1].b = LinearTerm.b;<br />
// arrayq[0].a = QuadratTerm.a;<br />
// arrayq[1].b = QuadratTerm.b;<br />
// arrayq[2].c = QuadratTerm.c;<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;\t&quot; &lt;&lt; LinearTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.a &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.c;<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; arrayl[0].m &lt;&lt; &quot;\t&quot; &lt;&lt; arrayl[1].b &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[0].a &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[1].b &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[2].c;<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; l &lt;&lt; q;<br />
// cout &lt;&lt; &quot;\n&quot; &lt;&lt; arrayl[0] &lt;&lt; &quot;\t&quot; &lt;&lt; arrayl[1];<br />
// cout &lt;&lt; &quot;\n&quot; &lt;&lt; arrayq[0] &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[1] &lt;&lt; &quot;\t&quot; &lt;&lt;arrayq[2];</p>
<p>// for(int i=0; i &lt; l; i++)<br />
// {<br />
// cout &lt;&lt; &quot;\n&quot;&lt;&lt; Linear[i];<br />
// }<br />
// for(int k=0; k &lt; 2; k++)<br />
// {<br />
// cout &lt;&lt; &quot;\n&quot; &lt;&lt; Quadrat[k];<br />
// }</p>
<p>// reserve();<br />
}=&quot;cpp&quot;]</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/332404/array-richtig-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 23:22:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/332404.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Apr 2015 15:07:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to array richtig ausgeben on Tue, 28 Apr 2015 15:07:20 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich bin neu in der objektorientierten Programmierung und habe da so meine Schwierigkeiten.<br />
Ich möchte ein Code schreiben, der einen Linearen Term und einen Quadratischen Term einließt, ausgibt, Nullstellen berechnet sowie Schnittstellen und die Eingabe auf Richtigkeit überprüft(zur Zahleneingabe korrekt).<br />
Ich habe auch soweit Programmiert.<br />
Nun würde ich gerne zwei arrays anlegen und diese mit meinem LinearTerm bzw. meinem QuadratTErm füllen und dann anders herum ausgeben, also array[erste Stelle] = array[Letzte Stelle]unw.<br />
Ich bekomme leider immer sehr verwirrende Ausgaben und weiß nicht mehr weiter.<br />
Ich würde mich über hilfe sehr freuen aber bitte verurteilt mich nicht wenn Code zu viel da ist oder sowas.<br />
Mit freundlichen Grüßen,<br />
Tomica[#include &lt;iostream&gt;<br />
#include &lt;string&gt;<br />
#include &lt;math.h&gt;<br />
#include &lt;stdio.h&gt;</p>
<p>#define l 1<br />
#define q 2</p>
<p>using namespace std;</p>
<p>struct Linear{ //Struktur zum speichern eines linearen Terms<br />
double m;<br />
double b;<br />
} LinearTerm;</p>
<p>struct Quadrat{ //Struktur zum speichern eines quadratischen Terms<br />
double a, b, c;<br />
}QuadratTerm;</p>
<p>void valuesOfLinear (){<br />
cout &lt;&lt; &quot;\nLinearterm:&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;x &quot;;<br />
if(LinearTerm.b &gt;= 0){<br />
cout &lt;&lt; &quot;+&quot; &lt;&lt;LinearTerm.b;<br />
}else<br />
cout &lt;&lt; LinearTerm.b;<br />
}<br />
void valuesOfQuadrat (){<br />
cout &lt;&lt; &quot;\nQuadratterm:&quot;&lt;&lt; QuadratTerm.a &lt;&lt; &quot;x^2 &quot;;<br />
if(QuadratTerm.b &gt;= 0 &amp;&amp; QuadratTerm.c &gt;= 0){<br />
cout &lt;&lt; &quot;+&quot; &lt;&lt; QuadratTerm.b;<br />
cout &lt;&lt; &quot;x &quot; &lt;&lt; &quot;+&quot; &lt;&lt; QuadratTerm.c;}<br />
else<br />
cout &lt;&lt; QuadratTerm.b &lt;&lt;&quot;x&quot; &lt;&lt; QuadratTerm.c;<br />
}<br />
void PQ(double, double, double){<br />
double x1;<br />
double x2;<br />
double Wurzel;<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;\t&quot; &lt;&lt; LinearTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.a &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.c;<br />
if(QuadratTerm.a == 1){<br />
Wurzel = sqrt((QuadratTerm.b / 2)*(QuadratTerm.b / 2) - QuadratTerm.c);<br />
if(Wurzel &gt;= 0){<br />
x1 = -(QuadratTerm.b / 2) + Wurzel;<br />
x2 = -(QuadratTerm.b / 2) - Wurzel;<br />
cout &lt;&lt; &quot;\nx1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\nx2=&quot; &lt;&lt; x2;<br />
}else<br />
cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;</p>
<p>}else if(QuadratTerm.a != 1){<br />
cout &lt;&lt; &quot;\nErgebniss nach Umformung:&quot;;<br />
QuadratTerm.b = QuadratTerm.b / QuadratTerm.a;<br />
QuadratTerm.c = QuadratTerm.c / QuadratTerm.a;<br />
Wurzel = sqrt((QuadratTerm.b / 2)*(QuadratTerm.b / 2) - QuadratTerm.c);<br />
if(Wurzel &gt;= 0){<br />
x1 = -(QuadratTerm.b / 2) + Wurzel;<br />
x2 = -(QuadratTerm.b / 2) - Wurzel;<br />
cout &lt;&lt; &quot;\nx1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\nx2=&quot; &lt;&lt; x2;<br />
}else<br />
cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;<br />
}<br />
}</p>
<p>void intersection(){<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;\t&quot; &lt;&lt; LinearTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.a &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.c;<br />
double s1, s2, Wurzel, x1, x2;<br />
s1 = QuadratTerm.b - (LinearTerm.m *(-1));<br />
s2 = QuadratTerm.c - (LinearTerm.b <em>(-1));<br />
if(QuadratTerm.a == 1){<br />
Wurzel = sqrt((s1 / 2)</em>(s1 / 2) - s2);<br />
if(Wurzel &gt;= 0){<br />
x1 = -(s1 / 2) + Wurzel;<br />
x2 = -(s1 / 2) - Wurzel;<br />
cout &lt;&lt; &quot;\ns1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\ns2=&quot; &lt;&lt; x2;<br />
}else<br />
cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;</p>
<p>}else if(QuadratTerm.a != 1){<br />
cout &lt;&lt; &quot;\nErgebniss nach Umformung:&quot;;<br />
s1 = s1 / QuadratTerm.a;<br />
s2 = s2 / QuadratTerm.a;<br />
Wurzel = sqrt((s1 / 2)*(s1 / 2) - s2);<br />
if(Wurzel &gt;= 0){<br />
x1 = -(s1 / 2) + Wurzel;<br />
x2 = -(s1 / 2) - Wurzel;<br />
cout &lt;&lt; &quot;\ns1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\ns2=&quot; &lt;&lt; x2;<br />
}else<br />
cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;<br />
}</p>
<p>}</p>
<p>int inputValidation(double){<br />
if(!(cin != false))<br />
{<br />
std::cin.clear();<br />
std::cin.ignore(1000, '\n');<br />
cout &lt;&lt; &quot;\nEingabe fehlerhaft! Bitte nur double Werte eingeben!&quot;;<br />
}<br />
}</p>
<p>//void reserve(){</p>
<p>//}</p>
<p>int main() {</p>
<p>cout &lt;&lt; &quot;Eingabe von zwei double Werten des Linearterms:&quot;;<br />
cin &gt;&gt; LinearTerm.m;<br />
inputValidation(LinearTerm.m);<br />
cin &gt;&gt; LinearTerm.b;<br />
inputValidation(LinearTerm.b);</p>
<p>cout &lt;&lt; &quot;\nEingabe von drei double Werten des Quadratterms:&quot;;<br />
cin &gt;&gt; QuadratTerm.a;<br />
inputValidation(QuadratTerm.a);<br />
cin &gt;&gt; QuadratTerm.b;<br />
inputValidation(QuadratTerm.b);<br />
cin &gt;&gt; QuadratTerm.c;<br />
inputValidation(QuadratTerm.c);</p>
<p>valuesOfLinear ();<br />
valuesOfQuadrat();<br />
PQ(QuadratTerm.a, QuadratTerm.b, QuadratTerm.c);<br />
intersection();<br />
//int Linear[l];<br />
//int Quadrat[q];<br />
Linear arrayl[l] = {LinearTerm.m, LinearTerm.b};<br />
Quadrat arrayq[q] = {QuadratTerm.a, QuadratTerm.b, QuadratTerm.c};<br />
// arrayl[0].m = LinearTerm.m;<br />
// arrayl[1].b = LinearTerm.b;<br />
// arrayq[0].a = QuadratTerm.a;<br />
// arrayq[1].b = QuadratTerm.b;<br />
// arrayq[2].c = QuadratTerm.c;<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;\t&quot; &lt;&lt; LinearTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.a &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.c;<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; arrayl[0].m &lt;&lt; &quot;\t&quot; &lt;&lt; arrayl[1].b &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[0].a &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[1].b &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[2].c;<br />
cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; l &lt;&lt; q;<br />
// cout &lt;&lt; &quot;\n&quot; &lt;&lt; arrayl[0] &lt;&lt; &quot;\t&quot; &lt;&lt; arrayl[1];<br />
// cout &lt;&lt; &quot;\n&quot; &lt;&lt; arrayq[0] &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[1] &lt;&lt; &quot;\t&quot; &lt;&lt;arrayq[2];</p>
<p>// for(int i=0; i &lt; l; i++)<br />
// {<br />
// cout &lt;&lt; &quot;\n&quot;&lt;&lt; Linear[i];<br />
// }<br />
// for(int k=0; k &lt; 2; k++)<br />
// {<br />
// cout &lt;&lt; &quot;\n&quot; &lt;&lt; Quadrat[k];<br />
// }</p>
<p>// reserve();<br />
}=&quot;cpp&quot;]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2451889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2451889</guid><dc:creator><![CDATA[Tomica2351]]></dc:creator><pubDate>Tue, 28 Apr 2015 15:07:20 GMT</pubDate></item><item><title><![CDATA[Reply to array richtig ausgeben on Tue, 28 Apr 2015 17:06:21 GMT]]></title><description><![CDATA[<p><a href="http://www.heise.de/newsticker/meldung/Online-Trolle-automatisch-erkennen-2617979.html" rel="nofollow">http://www.heise.de/newsticker/meldung/Online-Trolle-automatisch-erkennen-2617979.html</a></p>
<p>Passt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2451894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2451894</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Tue, 28 Apr 2015 17:06:21 GMT</pubDate></item><item><title><![CDATA[Reply to array richtig ausgeben on Wed, 29 Apr 2015 00:38:21 GMT]]></title><description><![CDATA[<p>Hallo Tomica2351,</p>
<p>wie du merkst, bekommst du keine sehr große Resonanz auf deine Frage. Das liegt an mehreren Dingen:<br />
-Du stellst keine klare Frage. Irgendwas ist für dich verwirrend. Aha. Dann ist für Außenstehende ja alles klar <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 />
-Die Form deines Beitrags ist offensichtlich vollkommen unlesbar. Benutze die Vorschau um zu sehen, ob du die Codetags richtig benutzt hast. Man braucht auch nicht jeden Satz mit einem Zeilenumbruch abschließen.<br />
-Dein Code ist vermutlich viel zu lang. <a href="https://www.c-plusplus.net/forum/304133">Reduziere ihn</a> auf das Wesentliche, das dein Problem ausmacht.</p>
<p>Hier dein Code in lesbarer Formatierung (Naja. Nicht wirklich gut lesbar. Sagen wir eher: &quot;in der Formatierung, die du beabsichtigt hast&quot;):</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;math.h&gt;
#include &lt;stdio.h&gt;

#define l 1
#define q 2 

using namespace std;

struct Linear{                  //Struktur zum speichern eines linearen Terms
	double m;
	double b;
} LinearTerm;

struct Quadrat{                 //Struktur zum speichern eines quadratischen Terms
	double a, b, c;
}QuadratTerm;

void valuesOfLinear (){
		cout &lt;&lt; &quot;\nLinearterm:&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;x &quot;;
		if(LinearTerm.b &gt;= 0){
		cout &lt;&lt; &quot;+&quot; &lt;&lt;LinearTerm.b;
		}else
			cout &lt;&lt; LinearTerm.b;
	}
void valuesOfQuadrat (){
		cout &lt;&lt; &quot;\nQuadratterm:&quot;&lt;&lt; QuadratTerm.a &lt;&lt; &quot;x^2 &quot;;
		if(QuadratTerm.b &gt;= 0 &amp;&amp; QuadratTerm.c &gt;= 0){
			cout &lt;&lt; &quot;+&quot; &lt;&lt; QuadratTerm.b;
			cout &lt;&lt; &quot;x &quot; &lt;&lt; &quot;+&quot; &lt;&lt; QuadratTerm.c;}
		else
			cout &lt;&lt; QuadratTerm.b &lt;&lt;&quot;x&quot; &lt;&lt; QuadratTerm.c;		
	}
void PQ(double, double, double){
	double x1;
	double x2;
	double Wurzel;
	cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;\t&quot; &lt;&lt; LinearTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.a &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.c;
	if(QuadratTerm.a == 1){
		Wurzel = sqrt((QuadratTerm.b / 2)*(QuadratTerm.b / 2) - QuadratTerm.c);
		if(Wurzel &gt;= 0){
			x1 = -(QuadratTerm.b / 2) + Wurzel;
			x2 = -(QuadratTerm.b / 2) - Wurzel;
			cout &lt;&lt; &quot;\nx1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\nx2=&quot; &lt;&lt; x2;
		}else
			cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;; 

	}else if(QuadratTerm.a != 1){
		cout &lt;&lt; &quot;\nErgebniss nach Umformung:&quot;;
		QuadratTerm.b = QuadratTerm.b / QuadratTerm.a;
		QuadratTerm.c = QuadratTerm.c / QuadratTerm.a;
		Wurzel = sqrt((QuadratTerm.b / 2)*(QuadratTerm.b / 2) - QuadratTerm.c);
		if(Wurzel &gt;= 0){
			x1 = -(QuadratTerm.b / 2) + Wurzel;
			x2 = -(QuadratTerm.b / 2) - Wurzel;
			cout &lt;&lt; &quot;\nx1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\nx2=&quot; &lt;&lt; x2;
	}else 
		cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;
	}
}

void intersection(){
		cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;\t&quot; &lt;&lt; LinearTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.a &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.c;
	double s1, s2, Wurzel, x1, x2;
	s1 = QuadratTerm.b - (LinearTerm.m *(-1));
	s2 = QuadratTerm.c - (LinearTerm.b *(-1));
	if(QuadratTerm.a == 1){
		Wurzel = sqrt((s1 / 2)*(s1 / 2) - s2);
		if(Wurzel &gt;= 0){
			x1 = -(s1 / 2) + Wurzel;
			x2 = -(s1 / 2) - Wurzel;
			cout &lt;&lt; &quot;\ns1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\ns2=&quot; &lt;&lt; x2;
		}else
			cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;; 

	}else if(QuadratTerm.a != 1){
		cout &lt;&lt; &quot;\nErgebniss nach Umformung:&quot;;
		s1 = s1 / QuadratTerm.a;
		s2 = s2 / QuadratTerm.a;
		Wurzel = sqrt((s1 / 2)*(s1 / 2) - s2);
		if(Wurzel &gt;= 0){
			x1 = -(s1 / 2) + Wurzel;
			x2 = -(s1 / 2) - Wurzel;
			cout &lt;&lt; &quot;\ns1=&quot; &lt;&lt; x1 &lt;&lt; &quot;\ns2=&quot; &lt;&lt; x2;
	}else 
		cout &lt;&lt; &quot;\nnegativer Wert unter der Wurzel!&quot;;
	}

}

int inputValidation(double){
if(!(cin != false)) 
{   
    std::cin.clear(); 
    std::cin.ignore(1000, '\n');
	cout &lt;&lt; &quot;\nEingabe fehlerhaft! Bitte nur double Werte eingeben!&quot;; 
}
}

//void reserve(){

//}

int main() {

	cout &lt;&lt; &quot;Eingabe von zwei double Werten des Linearterms:&quot;;
	cin &gt;&gt; LinearTerm.m;
	inputValidation(LinearTerm.m);
	cin &gt;&gt; LinearTerm.b;
	inputValidation(LinearTerm.b);

	cout &lt;&lt; &quot;\nEingabe von drei double Werten des Quadratterms:&quot;;
	cin &gt;&gt; QuadratTerm.a;
	inputValidation(QuadratTerm.a); 
	cin &gt;&gt; QuadratTerm.b; 
	inputValidation(QuadratTerm.b);
	cin &gt;&gt; QuadratTerm.c;
	inputValidation(QuadratTerm.c);

	valuesOfLinear ();
	valuesOfQuadrat();
	PQ(QuadratTerm.a, QuadratTerm.b, QuadratTerm.c);
	intersection();
	//int Linear[l];
	//int Quadrat[q];
	Linear arrayl[l] = {LinearTerm.m, LinearTerm.b};
	Quadrat arrayq[q] = {QuadratTerm.a, QuadratTerm.b, QuadratTerm.c};
//	arrayl[0].m = LinearTerm.m;
//	arrayl[1].b = LinearTerm.b;
//	arrayq[0].a = QuadratTerm.a;
//	arrayq[1].b = QuadratTerm.b;
//	arrayq[2].c = QuadratTerm.c;
		cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; LinearTerm.m &lt;&lt; &quot;\t&quot; &lt;&lt; LinearTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.a &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.b &lt;&lt; &quot;\t&quot; &lt;&lt; QuadratTerm.c;
	cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; arrayl[0].m &lt;&lt; &quot;\t&quot; &lt;&lt; arrayl[1].b &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[0].a &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[1].b &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[2].c;	
	cout &lt;&lt; &quot;\n\t&quot; &lt;&lt; l &lt;&lt; q;
//	cout &lt;&lt; &quot;\n&quot; &lt;&lt; arrayl[0] &lt;&lt; &quot;\t&quot; &lt;&lt; arrayl[1];
//	cout &lt;&lt; &quot;\n&quot; &lt;&lt; arrayq[0] &lt;&lt; &quot;\t&quot; &lt;&lt; arrayq[1] &lt;&lt; &quot;\t&quot; &lt;&lt;arrayq[2];

//	for(int i=0; i &lt; l; i++) 
//    { 
//        cout &lt;&lt; &quot;\n&quot;&lt;&lt; Linear[i];       
//    }
//    for(int k=0; k &lt; 2; k++) 
//    { 
//        cout &lt;&lt; &quot;\n&quot; &lt;&lt; Quadrat[k];       
//    }

//	reserve();
}
</code></pre>
<p>Ein paar Dinge, die sofort auffallen, ohne dein Problem zu kennen:<br />
-globale Variablen. Todsünde. Macht außerdem eine Fehlersuche schwierig.<br />
-defines. Noch dazu mit Bezeichnern wie &quot;l&quot; und &quot;q&quot; ein Schlamassel.<br />
-Es soll sich wohl um C++ handeln, sieht aber aus wie C mit cout.<br />
-Ausdrücke mit dreifacher(!) Verneinung. Compiliert <code>cin != false</code> überhaupt? Das sieht einfach falsch aus.<br />
-Funktionen mit vielen ungenutzten Parametern. Lässt erhebliche Zweifel aufkommen, ob diese korrekt programmiert wurden. Verschiedene Teile des Codes scheinen nicht recht zusammen zu passen.</p>
<p>Und hier noch, was mein Compiler dazu zu sagen hat:</p>
<pre><code>test.cpp: In function ‘int inputValidation(double)’:
test.cc:94:13: warning: converting ‘false’ to pointer type ‘void*’ [-Wconversion-null]
 if(!(cin != false)) 
             ^
test.cpp:100:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
</code></pre>
<p>Was dann auch die Frage nach der Compilierbarkeit von <code>cin != false</code> beantwortet, mit einem klaren &quot;Ja, aber...&quot; <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/2451923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2451923</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 29 Apr 2015 00:38:21 GMT</pubDate></item><item><title><![CDATA[Reply to array richtig ausgeben on Wed, 29 Apr 2015 09:30:08 GMT]]></title><description><![CDATA[<blockquote>
<p>Compiliert <code>cin != false</code> überhaupt?</p>
</blockquote>
<p><code>ios</code> überlädt doch <code>operator bool</code> . Edit: Ups, der ist ja <code>explicit</code> . Ist also ill-formed, seit C++11.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2451939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2451939</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Wed, 29 Apr 2015 09:30:08 GMT</pubDate></item></channel></rss>