<?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[Strukturen in Bruchrechner einbauen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>hab ein kleines Problem... und zwar muss ich eine Struktur bauen, die eine Bruchzahl beinhaltet.<br />
Grundsätzlich soll es dann ein Rechner werden, der zwei Bruchzahlen zusammenzählt und kürzt.<br />
Das Programm an sich Funktioniert einwandfrei, nur hab ich keine Struktur dafür gebraucht.</p>
<p>was bringt mir da eine Struktur??? und wie könnte man diese am besten verwenden?</p>
<p>gruß<br />
martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/241154/strukturen-in-bruchrechner-einbauen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 17:44:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241154.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 May 2009 15:22:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Strukturen in Bruchrechner einbauen on Sat, 16 May 2009 15:22:42 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>hab ein kleines Problem... und zwar muss ich eine Struktur bauen, die eine Bruchzahl beinhaltet.<br />
Grundsätzlich soll es dann ein Rechner werden, der zwei Bruchzahlen zusammenzählt und kürzt.<br />
Das Programm an sich Funktioniert einwandfrei, nur hab ich keine Struktur dafür gebraucht.</p>
<p>was bringt mir da eine Struktur??? und wie könnte man diese am besten verwenden?</p>
<p>gruß<br />
martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711499</guid><dc:creator><![CDATA[Aho]]></dc:creator><pubDate>Sat, 16 May 2009 15:22:42 GMT</pubDate></item><item><title><![CDATA[Reply to Strukturen in Bruchrechner einbauen on Sat, 16 May 2009 16:26:31 GMT]]></title><description><![CDATA[<p>Deine Struktur, oder besser wäre eine class, Stellt nach außen hin deinen Burch dar und nach innen nimmt sie einfach 2 int/long Zahlen. Beispielsweiße so:</p>
<pre><code class="language-cpp">class Bruch
{

 private:
         int zaehler;
         int nenner;
 public:
        Bruch(int z,int n);
}
</code></pre>
<p>Natürlich muss man hier noch paar Operatoren überladen und diverse Funktionen wie das Kürzen implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711521</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Sat, 16 May 2009 16:26:31 GMT</pubDate></item><item><title><![CDATA[Reply to Strukturen in Bruchrechner einbauen on Sat, 16 May 2009 17:31:16 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int  n;
int e,f;

void kuerzen(int&amp;,int&amp;,int&amp;);

int main(int argc, char* argv[])
{ /*
 Zahl a;
 Zahl b;
 a.zahler;
 b.nenner;
 printf(&quot;%d/%d&quot;, a.zahler[1], b.nenner[1] );
 a.zahler[2]=9;
 b.nenner[2]=5;
 printf(&quot;%d/%d&quot;, a.zahler[2], b.nenner[2] );
  */

  char oper;
  int a,b,c,d;
  printf(&quot; TEST\n&quot;);
  cin&gt;&gt; a;
  cin&gt;&gt; b;
  cin&gt;&gt; oper;
  cin&gt;&gt; c;
  cin&gt;&gt; d;

  switch (oper) {

  case'+': {e=a*d+c*b;
			f=b*d;
			break;    }
  case'-':{	e=a*d-c*b;
			f=b*d;
			break;  }
  case'*': {	e=a*c;
			f=b*d;
			break;  }
  case'/': {	e=a/c;
			f=b/d;
			break; }
  default:
	  ;
  }
kuerzen(e,f,n);
e/=n;
f/=n;
printf(&quot;\n %d / %d\n&quot;, e,f);

	getch();
	return 0;
}

//----------------

void kuerzen(int &amp;e, int &amp;f, int &amp;n)
{
int m,h;

m=e;
n=f;
do {
if (m&lt;n) {
h=m;
m=n;
n=h;
}
h=m % n;
if (h!=0) {
   m=n;
   n=h;
}
 }while (h!=0);
}
</code></pre>
<p>ich hätte mal so angefangen...<br />
nur wenn ich jetzt eine struktur oder eine class einbaue, muss ich die werte erst wieder zerlegen um ans ergebnis zu kommen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711546</guid><dc:creator><![CDATA[Aho]]></dc:creator><pubDate>Sat, 16 May 2009 17:31:16 GMT</pubDate></item><item><title><![CDATA[Reply to Strukturen in Bruchrechner einbauen on Sat, 16 May 2009 17:55:44 GMT]]></title><description><![CDATA[<p>Und wo ist das Problem?<br />
Was willst du jetzt zum Beispiel machen wenn du ein Array von mehreren Brüchen aufstellen sollst?<br />
Willste dann für ein Bruch Array mit 10 Brüchen, ein Array mit der GRöße 20 anlegen um den nenner und Zähler seperat abzuspeichern? Würdest du hier ein Struct/class nehmen kannst du die Objekte dieser Bruchklasse hin und her reichen.</p>
<p>P.S. Du programmierst kein C++, also falsches Forum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711552</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Sat, 16 May 2009 17:55:44 GMT</pubDate></item><item><title><![CDATA[Reply to Strukturen in Bruchrechner einbauen on Sat, 16 May 2009 21:26:49 GMT]]></title><description><![CDATA[<p>Aho schrieb:</p>
<blockquote>
<p>was bringt mir da eine Struktur??? und wie könnte man diese am besten verwenden?</p>
</blockquote>
<p>Hallo Martin,</p>
<p>eine Struktur(Klasse) bringt dem Anweder von Bruch, dass er diesen (den Bruch) als Einheit behandeln kann ohne sich um seine Innereien (Nenner,Zähler) Gedanken machen zu müssen. Das vereinfacht die Anwendung erheblich.</p>
<p>Für einen Anweder wäre es doch prima, wenn er den Bruch genau wie eine int oder double behandeln könnte - also etwa so:</p>
<pre><code class="language-cpp">Bruch a(3,4);
    Bruch b(1,6);
    Bruch c = a + b;
    cout &lt;&lt; &quot;Ergebnis: &quot; &lt;&lt; c &lt;&lt; endl;
</code></pre>
<p>wie sähe diese Anwendung bei Dir mit Nenner und Zähler getrennt aus?</p>
<p>Aho schrieb:</p>
<blockquote>
<p>ich hätte mal so angefangen...<br />
nur wenn ich jetzt eine struktur oder eine class einbaue, muss ich die werte erst wieder zerlegen um ans ergebnis zu kommen</p>
</blockquote>
<p>Nein - überhaupt nicht. Der Code - z.B. für das Addieren befindet sich ja im operator+= (oder operator+) und dort stehen Dir ja die Member - also Zähler und Nenner - unmittelbar zur Verfügung.</p>
<p>Mal angenommen der Bruch sähe so aus:</p>
<pre><code class="language-cpp">#include &lt;iosfwd&gt;
class Bruch
{
public:
    explicit Bruch( int zaehler = 0, int nenner = 1 );
    Bruch&amp; operator+=( const Bruch&amp; b );
    friend std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, const Bruch&amp; b );
private:
    int m_zaehler, m_nenner;
};
Bruch operator+( Bruch a, const Bruch&amp; b )
{
    return a += b;
}
</code></pre>
<p>Dann ist die Methode für das Zusammenzählen:</p>
<pre><code class="language-cpp">Bruch&amp; Bruch::operator+=( const Bruch&amp; b )
{
    int z = m_zaehler * b.m_nenner + b.m_zaehler * m_nenner;
    int n = m_nenner * b.m_nenner;
    kuerzen( z, n );
    m_zaehler = z;
    m_nenner = n;
    return *this;
}
</code></pre>
<p>Firefighter schrieb:</p>
<blockquote>
<p>P.S. Du programmierst kein C++, also falsches Forum.</p>
</blockquote>
<p>.. oder richtiges Forum und noch viel zu Lernen.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711623</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sat, 16 May 2009 21:26:49 GMT</pubDate></item></channel></rss>