<?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[Ausgabe in Tabellenform]]></title><description><![CDATA[<p>Ich habe eine Datei, dort steht in jeder Zeile immer eine Zahl.<br />
Diese Zahlen sollen in einer Tabelle mit 6 Spalten ausgegeben werden.</p>
<p>Ich habe es hinbekommen, dass zumindest die Zahlen, so, wie sie sind gelesen werden, aber die Ausgabe in Tabellenform klappt noch nicht.</p>
<p>Der Code für das Programm ist folgender</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

int main()
{
    FILE *stream ; // FilePointer

    char dateiname[67] = &quot;DIN6885.DAT&quot; ; // Einzulesende Datei
    int ch ;

    system(&quot;CLS&quot;) ;
    printf(&quot;\nDie Datei beinhaltet folgendes:\n\n&quot;) ;

    //--- Fehlerbehandlung ---//
    if((stream = fopen(dateiname, &quot;r&quot;)) == NULL)
    {
        printf(&quot;\nFehler beim Oeffnen der Datei!\n\n&quot;) ;
        system(&quot;PAUSE&quot;) ;
        exit(1) ;
    }
    //--- Ende Fehlerbehandlung ---//

    ch = fgetc(stream) ;

    while(!feof(stream))
    {
        putchar(ch) ;   
        ch = fgetc(stream) ;     
    }

    fclose(stream) ;

    printf(&quot;\n\n&quot;) ;
    system(&quot;PAUSE&quot;) ;

    return 0 ;
}
</code></pre>
<p>Ich stehe leider auf dem Schlauch und komme mit der Ausgabe nicht weiter.<br />
Das Problem ist, dass das Programm mit einer while Schleife geschrieben werden muss.</p>
<p>Mit einer for Schleife habe ich es wie folgt Lösen können, aber das war leider nicht gefragt.</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;fstream&gt;
using namespace std;

int main()
{
char x[100];
int flag=0;
fstream bla(&quot;test.bin&quot;,ios::in);
for (int i=0; i&lt;=50; i++)
{
bla.getline(x,100);
cout&lt;&lt;x&lt;&lt;&quot;\n&quot;;
}
return 0;
}
</code></pre>
<p>Könnte mir bitte jemand bei diesem Problem helfen (entweder das obige mit dwhile in der Ausgabe ändern, oder das letzte Programm mit einer While verändern)?<br />
Das wäre echt super!</p>
<p>Danke schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/135012/ausgabe-in-tabellenform</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 21:18:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/135012.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Jan 2006 11:25:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ausgabe in Tabellenform on Mon, 30 Jan 2006 11:25:23 GMT]]></title><description><![CDATA[<p>Ich habe eine Datei, dort steht in jeder Zeile immer eine Zahl.<br />
Diese Zahlen sollen in einer Tabelle mit 6 Spalten ausgegeben werden.</p>
<p>Ich habe es hinbekommen, dass zumindest die Zahlen, so, wie sie sind gelesen werden, aber die Ausgabe in Tabellenform klappt noch nicht.</p>
<p>Der Code für das Programm ist folgender</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

int main()
{
    FILE *stream ; // FilePointer

    char dateiname[67] = &quot;DIN6885.DAT&quot; ; // Einzulesende Datei
    int ch ;

    system(&quot;CLS&quot;) ;
    printf(&quot;\nDie Datei beinhaltet folgendes:\n\n&quot;) ;

    //--- Fehlerbehandlung ---//
    if((stream = fopen(dateiname, &quot;r&quot;)) == NULL)
    {
        printf(&quot;\nFehler beim Oeffnen der Datei!\n\n&quot;) ;
        system(&quot;PAUSE&quot;) ;
        exit(1) ;
    }
    //--- Ende Fehlerbehandlung ---//

    ch = fgetc(stream) ;

    while(!feof(stream))
    {
        putchar(ch) ;   
        ch = fgetc(stream) ;     
    }

    fclose(stream) ;

    printf(&quot;\n\n&quot;) ;
    system(&quot;PAUSE&quot;) ;

    return 0 ;
}
</code></pre>
<p>Ich stehe leider auf dem Schlauch und komme mit der Ausgabe nicht weiter.<br />
Das Problem ist, dass das Programm mit einer while Schleife geschrieben werden muss.</p>
<p>Mit einer for Schleife habe ich es wie folgt Lösen können, aber das war leider nicht gefragt.</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;fstream&gt;
using namespace std;

int main()
{
char x[100];
int flag=0;
fstream bla(&quot;test.bin&quot;,ios::in);
for (int i=0; i&lt;=50; i++)
{
bla.getline(x,100);
cout&lt;&lt;x&lt;&lt;&quot;\n&quot;;
}
return 0;
}
</code></pre>
<p>Könnte mir bitte jemand bei diesem Problem helfen (entweder das obige mit dwhile in der Ausgabe ändern, oder das letzte Programm mit einer While verändern)?<br />
Das wäre echt super!</p>
<p>Danke schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/980868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/980868</guid><dc:creator><![CDATA[Maskirowska]]></dc:creator><pubDate>Mon, 30 Jan 2006 11:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe in Tabellenform on Mon, 30 Jan 2006 11:31:18 GMT]]></title><description><![CDATA[<p>Die verschiedenen Schleifentypen lassen sich problemlos ineinander überführen:</p>
<pre><code class="language-cpp">for(init;test;inc)
  anweisung

-&gt;

init;
while(test)
{
  anweisung;
  inc;
}
</code></pre>
<p>Reicht das schon aus, um deine Aufgabe zu lösen?</p>
<p>PS: Was macht eigentlich der C-Code (printf, etc.) im C++ Board?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/980872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/980872</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Jan 2006 11:31:18 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe in Tabellenform on Mon, 30 Jan 2006 12:10:53 GMT]]></title><description><![CDATA[<p>Sorry, das ich falsch gepostet habe.<br />
Anscheinend benutze ich dann die falsche Sprache. SOll es eigentlich nur in C machen.</p>
<p>Aber leider reicht es noch nicht aus.<br />
Habe es so versuicht, aber mir wird nichts ausgegeben.</p>
<pre><code>int i=0; i&lt;=50;
while (bla)
{ 
bla.getline(x,100); 
cout&lt;&lt;x&lt;&lt;&quot;\n&quot;; 
i++;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/980917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/980917</guid><dc:creator><![CDATA[Maskirowska]]></dc:creator><pubDate>Mon, 30 Jan 2006 12:10:53 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe in Tabellenform on Mon, 30 Jan 2006 12:18:01 GMT]]></title><description><![CDATA[<p>Maskirowska schrieb:</p>
<blockquote>
<p>Habe es so versuicht, aber mir wird nichts ausgegeben.</p>
<pre><code>int i=0; i&lt;=50;
while (bla)
{ 
bla.getline(x,100); 
cout&lt;&lt;x&lt;&lt;&quot;\n&quot;; 
i++;
}
</code></pre>
</blockquote>
<p>Was steht überhaupt drin in der Datei? Und wie soll das in der Ausgabe zurechtgerückt werden?</p>
<p>*schaut sich nochmal den oberen Code an*</p>
<p>Ich würde das auslesen ja so machen:</p>
<pre><code class="language-cpp">while((ch=fgetch(stream)!=EOF)
  putchar(ch);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/980924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/980924</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Jan 2006 12:18:01 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe in Tabellenform on Mon, 30 Jan 2006 12:23:13 GMT]]></title><description><![CDATA[<p>Das steht in der Datei</p>
<pre><code>22
30
8
7
M3
4.000000
30
38
10
8
M3
5.000000
38
44
12
8
M4
5.000000
44
50
14
9
M5
5.500000
50
58
16
10
M5
6.000000
58
65
18
11
M6
7.000000
65
75
20
12
M6
7.500000
75
85
22
14
M6
9.000000
85
95
25
14
M8
9.000000
</code></pre>
<p>Die Ausgabe muss wie folgt aussehen:</p>
<p>22 30 8 7 M3 4.000000<br />
30 38 10 8 M3 5.000000</p>
]]></description><link>https://www.c-plusplus.net/forum/post/980927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/980927</guid><dc:creator><![CDATA[Maskirowska]]></dc:creator><pubDate>Mon, 30 Jan 2006 12:23:13 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe in Tabellenform on Mon, 30 Jan 2006 12:44:35 GMT]]></title><description><![CDATA[<p>Sehe ich das richtig? dort kommen immer 4 Ganzzahlen, dann eine Zeichenkette &quot;M*&quot; und eine Gleitkommazahl?</p>
<p>In dem Fall könntest du ja fscanf und printf verwenden:</p>
<pre><code class="language-cpp">while(!feof(stream))
{
  int v1,v2,v3,v4;
  char v5[3];
  float v6;
  fscanf(stream,&quot;%d%d%d%d%2s%f&quot;,&amp;v1,&amp;v2,&amp;v3,&amp;v4,v5,&amp;v6);
  printf(&quot;%3d%3d%3d%3d %2s %.6f&quot;,v1,v2,v3,v4,v5,v6);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/980961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/980961</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Jan 2006 12:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe in Tabellenform on Mon, 30 Jan 2006 14:43:18 GMT]]></title><description><![CDATA[<p>Danke.<br />
Mir wäre es auch lieber, mit fscan zu arbeiten.</p>
<p>Es sieht im Moment noch so bei mir aus</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt; 
#include &lt;stdlib.h&gt; 

int main() 
{ 
    FILE *stream ; // FilePointer 

    char dateiname[67] = &quot;DIN6885.DAT&quot; ; // Einzulesende Datei 
    int ch ; 

    system(&quot;CLS&quot;) ; 
    printf(&quot;\nDie Datei beinhaltet folgendes:\n\n&quot;) ; 

    //--- Fehlerbehandlung ---// 
    if((stream = fopen(dateiname, &quot;r&quot;)) == NULL) 
    { 
        printf(&quot;\nFehler beim Oeffnen der Datei!\n\n&quot;) ; 
        system(&quot;PAUSE&quot;) ; 
        exit(1) ; 
    } 
    //--- Ende Fehlerbehandlung ---// 

    ch = fgetc(stream) ; 

while(!feof(stream)) 
{ 
  int v1,v2,v3,v4; 
  char v5[3]; 
  float v6; 
  fscanf(stream,&quot;%d%d%d%d%2s%f&quot;,&amp;v1,&amp;v2,&amp;v3,&amp;v4,v5,&amp;v6); 
  printf(&quot;%3d%3d%3d%3d %2s %.6f&quot;,v1,v2,v3,v4,v5,v6); 
}
    system(&quot;PAUSE&quot;) ; 
    return EXIT_SUCCESS;
}
</code></pre>
<p>Leider steckt da ein Fehler drin und ich weiss nicht, wie ich es richtig mache.</p>
<p>Aber echt genial, dass du mir geholfen hast und hoffentlich noch weiter hilfst.<br />
DANKE! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/981134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/981134</guid><dc:creator><![CDATA[Maskirowska]]></dc:creator><pubDate>Mon, 30 Jan 2006 14:43:18 GMT</pubDate></item><item><title><![CDATA[Reply to Ausgabe in Tabellenform on Mon, 30 Jan 2006 14:54:17 GMT]]></title><description><![CDATA[<p>Habe es selber gelöst</p>
<pre><code class="language-cpp">printf(&quot;%3d%3d%3d%3d %2s %.6f \n&quot; ,v1,v2,v3,v4,v5,v6);
</code></pre>
<p>Trotzdem vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/981151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/981151</guid><dc:creator><![CDATA[MAskirowska]]></dc:creator><pubDate>Mon, 30 Jan 2006 14:54:17 GMT</pubDate></item></channel></rss>