<?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[Setw() bei Verkettungen?]]></title><description><![CDATA[<p>Hallo liebe C++-Gemeinde,</p>
<p>ich bin relativ neu eingestiegen in C++ und da mir dieses Board als sehr hilfsbereit und konstruktiv aufgefallen ist, habe ich mich hier mal angemeldet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Zu meiner Frage:<br />
Ich habe ein Programm, das Lösungen für quadratische Gleichungen für mich löst. Das klappt auch alles ganz gut, allerdings soll das ganze ja auch relativ schick aussehen, deshalb benutze ich ganz gerne setw() aus der &lt;iomanip&gt;-Bibliothek. Allerdings bekomme ich beim Verketten ein Problem:</p>
<pre><code>cout &lt;&lt; setw(25) &lt;&lt; a &lt;&lt; &quot;x² + &quot; &lt;&lt; b &lt;&lt; &quot;x + &quot; &lt;&lt; c &lt;&lt; setw(13) &lt;&lt; &quot;x1 = &quot; &lt;&lt; x1 &lt;&lt; ';' &lt;&lt; setw(12) &lt;&lt; &quot;&quot; &lt;&lt; &quot;x2 = &quot; &lt;&lt; x2 &lt;&lt; endl;
</code></pre>
<p>Ich möchte, dass der komplette Term ax² + bx + c eine Breite von 25 Feldern einnimmt. Allerdings wird durch diesen Code nur das &quot;a&quot; (aus einer Variablen) in das Feld gerückt, der Rest wird 25 Felder weiter rechts angezeigt. Gibts da irgendeine Möglichkeit, das zu lösen?</p>
<p>Gruß</p>
<p>PS: Auf andere Formatierungsfehler oder Schwächen im Code jetzt bitte nicht eingehen, das krieg ich schon selbst hin <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/314777/setw-bei-verkettungen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 31 Jul 2026 17:40:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/314777.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Mar 2013 19:55:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Setw() bei Verkettungen? on Wed, 13 Mar 2013 19:55:02 GMT]]></title><description><![CDATA[<p>Hallo liebe C++-Gemeinde,</p>
<p>ich bin relativ neu eingestiegen in C++ und da mir dieses Board als sehr hilfsbereit und konstruktiv aufgefallen ist, habe ich mich hier mal angemeldet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Zu meiner Frage:<br />
Ich habe ein Programm, das Lösungen für quadratische Gleichungen für mich löst. Das klappt auch alles ganz gut, allerdings soll das ganze ja auch relativ schick aussehen, deshalb benutze ich ganz gerne setw() aus der &lt;iomanip&gt;-Bibliothek. Allerdings bekomme ich beim Verketten ein Problem:</p>
<pre><code>cout &lt;&lt; setw(25) &lt;&lt; a &lt;&lt; &quot;x² + &quot; &lt;&lt; b &lt;&lt; &quot;x + &quot; &lt;&lt; c &lt;&lt; setw(13) &lt;&lt; &quot;x1 = &quot; &lt;&lt; x1 &lt;&lt; ';' &lt;&lt; setw(12) &lt;&lt; &quot;&quot; &lt;&lt; &quot;x2 = &quot; &lt;&lt; x2 &lt;&lt; endl;
</code></pre>
<p>Ich möchte, dass der komplette Term ax² + bx + c eine Breite von 25 Feldern einnimmt. Allerdings wird durch diesen Code nur das &quot;a&quot; (aus einer Variablen) in das Feld gerückt, der Rest wird 25 Felder weiter rechts angezeigt. Gibts da irgendeine Möglichkeit, das zu lösen?</p>
<p>Gruß</p>
<p>PS: Auf andere Formatierungsfehler oder Schwächen im Code jetzt bitte nicht eingehen, das krieg ich schon selbst hin <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2306480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306480</guid><dc:creator><![CDATA[Anonymus42]]></dc:creator><pubDate>Wed, 13 Mar 2013 19:55:02 GMT</pubDate></item><item><title><![CDATA[Reply to Setw() bei Verkettungen? on Wed, 13 Mar 2013 21:04:49 GMT]]></title><description><![CDATA[<p>Schreib das ganze vorher in einen Stringstream:</p>
<pre><code>...

#include &lt;sstream&gt;

...

  stringstream out;
  out &lt;&lt; a &lt;&lt; &quot;x² + &quot; &lt;&lt; b &lt;&lt; &quot;x + &quot; &lt;&lt; c;
  cout &lt;&lt; setw(25) &lt;&lt; out.str() &lt;&lt; endl;

...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2306503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306503</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 13 Mar 2013 21:04:49 GMT</pubDate></item><item><title><![CDATA[Reply to Setw() bei Verkettungen? on Wed, 13 Mar 2013 21:06:54 GMT]]></title><description><![CDATA[<p>Ich fürchte, mir fällt an einfachen Möglichkeiten nichts besseres ein als die Ausdrücke vorher in einen stringstream zu packen und dann das Ergebnis auszugeben:</p>
<pre><code>links &lt;&lt; a &lt;&lt; &quot;x² + &quot; &lt;&lt; b &lt;&lt; &quot;x + &quot; &lt;&lt; c;
  mitte &lt;&lt; &quot;x1 = &quot; &lt;&lt; x1 &lt;&lt; ';';
  rechts &lt;&lt; &quot;&quot; &lt;&lt; &quot;x2 = &quot; &lt;&lt; x2;
  cout &lt;&lt; setw(25) &lt;&lt; links.str() &lt;&lt; setw(13) &lt;&lt; mitte.str() &lt;&lt; setw(12) &lt;&lt; rechts.str() &lt;&lt; '\n';
</code></pre>
<p>Die schönere zu benutzende , aber wesentlich komplizierter zu programmierende Variante wäre ein eigener streambuf der Tabellen passend formatiert. Das mache ich jetzt aber nicht vor.</p>
<p>edit: zu langsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2306504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306504</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 13 Mar 2013 21:06:54 GMT</pubDate></item><item><title><![CDATA[Reply to Setw() bei Verkettungen? on Wed, 13 Mar 2013 21:10:35 GMT]]></title><description><![CDATA[<p>Stringstream habe ich noch gar nicht gekannt, sieht aber sehr logisch aus. Werd ich mich mal einlesen.</p>
<p>Vielen Dank!</p>
<p>Gäbe es noch irgendwelche Möglichkeiten oder ist das die einzige? Nur so aus Interesse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2306505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306505</guid><dc:creator><![CDATA[Anonymus42]]></dc:creator><pubDate>Wed, 13 Mar 2013 21:10:35 GMT</pubDate></item><item><title><![CDATA[Reply to Setw() bei Verkettungen? on Wed, 13 Mar 2013 22:09:03 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct deep_setw {
  deep_setw(std::size_t n) : n(n) {}
  std::size_t n;
  mutable std::ostringstream o;
};
template &lt;typename T&gt;
deep_setw const&amp; operator&lt;&lt;(deep_setw const&amp; d, T const&amp; t) { d.o &lt;&lt; t; return d; }

std::ostream&amp; operator&lt;&lt;(std::ostream&amp; os, deep_setw const&amp; d)
{ os.width(d.n); return os &lt;&lt; d.o.str(); }

// dann:
cout &lt;&lt; (deep_setw(25) &lt;&lt; a &lt;&lt; &quot;x� + &quot; &lt;&lt; b &lt;&lt; &quot;x + &quot; &lt;&lt; c)
     &lt;&lt; (deep_setw(13) &lt;&lt; &quot;x1 = &quot; &lt;&lt; x1 &lt;&lt; ';')
     &lt;&lt; (deep_setw(12) &lt;&lt; &quot;&quot; &lt;&lt; &quot;x2 = &quot; &lt;&lt; x2) &lt;&lt; endl;
</code></pre>
<p>Das ganze kann so beliebig tief verschachtelt werden.</p>
<p>Die Idee von SeppJ w�rde IMHO darauf hinauslaufen, einen eigenen Stringstreambuffer zu schreiben, aber das w�re weder schneller noch sch�ner zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2306517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306517</guid><dc:creator><![CDATA[schättweh]]></dc:creator><pubDate>Wed, 13 Mar 2013 22:09:03 GMT</pubDate></item><item><title><![CDATA[Reply to Setw() bei Verkettungen? on Wed, 13 Mar 2013 22:33:05 GMT]]></title><description><![CDATA[<p>Anonymus42 schrieb:</p>
<blockquote>
<p>Ich möchte, dass der komplette Term ax² + bx + c eine Breite von 25 Feldern einnimmt.</p>
</blockquote>
<p>.. was spricht gegen:</p>
<pre><code>cout &lt;&lt; &quot;1234567890123456789012345;&quot; &lt;&lt; endl;
    cout &lt;&lt; setw(5) &lt;&lt; a &lt;&lt; &quot;x2 + &quot; &lt;&lt; setw(6) &lt;&lt; b &lt;&lt; &quot;x + &quot; &lt;&lt; setw(5) &lt;&lt; c &lt;&lt; &quot;;&quot; &lt;&lt; endl;
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2306520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306520</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 13 Mar 2013 22:33:05 GMT</pubDate></item><item><title><![CDATA[Reply to Setw() bei Verkettungen? on Thu, 14 Mar 2013 20:03:29 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Anonymus42 schrieb:</p>
<blockquote>
<p>Ich möchte, dass der komplette Term ax² + bx + c eine Breite von 25 Feldern einnimmt.</p>
</blockquote>
<p>.. was spricht gegen:</p>
<pre><code>cout &lt;&lt; &quot;1234567890123456789012345;&quot; &lt;&lt; endl;
    cout &lt;&lt; setw(5) &lt;&lt; a &lt;&lt; &quot;x2 + &quot; &lt;&lt; setw(6) &lt;&lt; b &lt;&lt; &quot;x + &quot; &lt;&lt; setw(5) &lt;&lt; c &lt;&lt; &quot;;&quot; &lt;&lt; endl;
</code></pre>
<p>Gruß<br />
Werner</p>
</blockquote>
<p>Da ist halt das Problem, dass der Abstand von &quot;x2 +&quot; zu b nicht so schön ist. Da gefällt mir die Variante mit dem Stringstream schon besser. <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/2306798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2306798</guid><dc:creator><![CDATA[Anonymus42]]></dc:creator><pubDate>Thu, 14 Mar 2013 20:03:29 GMT</pubDate></item></channel></rss>