<?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[[gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms]]></title><description><![CDATA[<p>Hallo, ich habe hier in diesem Forum folgenden Code gefunden...<br />
Es geht um die Nummerierung einer Textdatei mit vorhandenen Daten.<br />
Ich wollte meine Version die auf ein array basiert ändern und habe dies gefunden.<br />
Es funktioniert, nur kann mir jmd. das kleine Progrämmchen vllt. mal Schritt für Schritt erklären?</p>
<p>Vielen Dank für die Hilfe im voraus.<br />
Einstein jr.</p>
<pre><code class="language-cpp">#include &lt;fstream&gt; 
 #include &lt;vector&gt; 
 #include &lt;string&gt; 
 #include &lt;iomanip&gt; 
 #include &lt;iostream&gt; 
using namespace std; 

int digits(int n) { 
   int r=1; 
   while (n/=10) ++r; 
   return r; 
 } 

int main(int argc, char *argv[]) 
 { 
     ifstream is(&quot;in.txt&quot;); // Fileinputstream 
     vector&lt;string&gt; v; // Container 

     string tmp; 
     while (getline(is, tmp)) v.push_back(tmp); // zeilenweise einlesen 
     int n = digits(v.size()+1); // Anzahl Ziffern für Nummerierung 

     for (int i=0; i&lt;v.size(); ++i) 
         cout &lt;&lt; setw(n) &lt;&lt; i &lt;&lt; ' ' &lt;&lt; v[i] &lt;&lt; endl; 
 }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/296145/gelöst-erlärung-kommentierung-eines-kleinen-programms</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 02:00:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296145.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 28 Nov 2011 20:39:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 22:34:43 GMT]]></title><description><![CDATA[<p>Hallo, ich habe hier in diesem Forum folgenden Code gefunden...<br />
Es geht um die Nummerierung einer Textdatei mit vorhandenen Daten.<br />
Ich wollte meine Version die auf ein array basiert ändern und habe dies gefunden.<br />
Es funktioniert, nur kann mir jmd. das kleine Progrämmchen vllt. mal Schritt für Schritt erklären?</p>
<p>Vielen Dank für die Hilfe im voraus.<br />
Einstein jr.</p>
<pre><code class="language-cpp">#include &lt;fstream&gt; 
 #include &lt;vector&gt; 
 #include &lt;string&gt; 
 #include &lt;iomanip&gt; 
 #include &lt;iostream&gt; 
using namespace std; 

int digits(int n) { 
   int r=1; 
   while (n/=10) ++r; 
   return r; 
 } 

int main(int argc, char *argv[]) 
 { 
     ifstream is(&quot;in.txt&quot;); // Fileinputstream 
     vector&lt;string&gt; v; // Container 

     string tmp; 
     while (getline(is, tmp)) v.push_back(tmp); // zeilenweise einlesen 
     int n = digits(v.size()+1); // Anzahl Ziffern für Nummerierung 

     for (int i=0; i&lt;v.size(); ++i) 
         cout &lt;&lt; setw(n) &lt;&lt; i &lt;&lt; ' ' &lt;&lt; v[i] &lt;&lt; endl; 
 }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2150211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150211</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Tue, 29 Nov 2011 22:34:43 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Mon, 28 Nov 2011 20:44:18 GMT]]></title><description><![CDATA[<p>Wenn du genau fragst was du nicht verstehst, kann man dir auch antworten. Denn &quot;Schritt für Schritt erklären&quot; ist etwas nebulös. Kennst du std::vector? std::string? Weist du was die digits Funktion macht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150215</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 28 Nov 2011 20:44:18 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Mon, 28 Nov 2011 21:02:46 GMT]]></title><description><![CDATA[<blockquote>
<p>Wenn du genau fragst was du nicht verstehst...</p>
</blockquote>
<p>Ich dachte das ist Sinn und Zweck eines Forums?<br />
Ich will ja lernen. Und was gibt es besseres, als das aktive Lernen <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>
<p>digits: so weit ich weiß, prüft die fkt. ob ein Parameter eine ganze Zahl ist<br />
string: Ich hab mir ein paar Sachen durchgelesen, nur werd ich davon nicht ganz schlau. Soweit ich das verstanden habe, kann man damit mit Zeichenketten operieren, sprich suchen ersetzen usw.<br />
vector: Vom Prinzip her genau wie ein Array, nur mit gewissen Zusatztfkt.en.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150227</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Mon, 28 Nov 2011 21:02:46 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Mon, 28 Nov 2011 21:06:33 GMT]]></title><description><![CDATA[<p>std::string und std::vector scheinen halbwegs verstanden zu sein, aber</p>
<p>Einstein jr. schrieb:</p>
<blockquote>
<p>digits: so weit ich weiß, prüft die fkt. ob ein Parameter eine ganze Zahl ist</p>
</blockquote>
<p>berechnen die Anzahl der Stellen einer Zahl. (Im Dezimalsystem)<br />
(Daher auch digits() -&gt; ziffern())</p>
<p>Und ja, ich habe ja kein Problem damit, dass du hier Anfängerfragen stellst, aber bitte stell doch auch eine Frage, damit man dann darauf antworten kann.<br />
Zu merken was man nicht versteht ist oft hilfreicher als man denkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150229</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 28 Nov 2011 21:06:33 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Mon, 28 Nov 2011 21:25:51 GMT]]></title><description><![CDATA[<p>Ok, dann fang ich mal an das Prog zu erklären:<br />
ab Z1.6:<br />
- ifstream is klar<br />
- deklaration eines vectors &quot;v&quot; mit dem datentyp string<br />
- deklaration eins string namens &quot;temp&quot;<br />
- getline liest eine textzeile aus &quot;is&quot; und speichert es in/als &quot;tmp&quot; ab<br />
- was v.push_back(tmp) hier machen soll, ist mir nicht ganz klar. Normalerweise gebe ich bei einem Array zB. mein Datenfeld an.</p>
<p>So, das was ich (zusätzlich ?) nicht verstanden hab, ist Z.21 und dazu mein int digits.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150237</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Mon, 28 Nov 2011 21:25:51 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 04:56:53 GMT]]></title><description><![CDATA[<p>Einstein jr. schrieb:</p>
<blockquote>
<p>Ok, dann fang ich mal an das Prog zu erklären:<br />
ab Z1.6:<br />
- ifstream is klar<br />
- deklaration eines vectors &quot;v&quot; mit dem datentyp string<br />
- deklaration eins string namens &quot;temp&quot;<br />
- getline liest eine textzeile aus &quot;is&quot; und speichert es in/als &quot;tmp&quot; ab<br />
- was v.push_back(tmp) hier machen soll, ist mir nicht ganz klar. Normalerweise gebe ich bei einem Array zB. mein Datenfeld an.</p>
<p>So, das was ich (zusätzlich ?) nicht verstanden hab, ist Z.21 und dazu mein int digits.</p>
</blockquote>
<p>So versuche ich mich mal <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>
<p>Also Zeile 21 sieht ja folgend aus :</p>
<pre><code class="language-cpp">while (getline(is, tmp))
{
 v.push_back(tmp); // zeilenweise einlesen
}
</code></pre>
<p>Weiss gerade nicht was du hier mit Array meinst,<br />
Aber weiter oben sagen wir das unser Vector als Datentyp String's erwartet.</p>
<pre><code class="language-cpp">int n = digits(v.size()+1);
</code></pre>
<p>Nun zu dieser Zeile drüber.</p>
<pre><code class="language-cpp">int digits(int n) {
   int r=1;
   while (n/=10) ++r;
   return r;
 }
</code></pre>
<p>An diese Funktion übergeben wir ja die grösse des Vektors +1.<br />
Warum +1 sagt uns die while-schleife versuche mal in cpp die Rechnung 0/10 auszuführen. <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>
<p>So nun kommen wir zur While von Digits:</p>
<p>Wir machen solange teilen die Länge des Vectors+1 solange durch 10 bis wir 0 rauskriegen und solange wir keine 0 haben erhöhen wir r um 1.</p>
<p>Als Bsp:</p>
<p>n= 20</p>
<p>Bei der While 20/10 = 2 also r um 1 erhöhen.<br />
2. Lauf der Schleife 2/10 da die Varibale n ein int ist,erlaubt sie keine Fließkommazahl wie 0,2 also haben wir nur 0.<br />
Da wir nun 0 haben ist die Bedingung nicht erfüllt und wir hören auf und geben unser r zurück.</p>
<p>Die Digits Funktion berechnet uns einfach wieviele Zeichen unsere Index hat.<br />
bei 1 = 1<br />
bei 10 = 2 usw.</p>
<p>Diese sind dann beim cout für die Einrückung zuständig.(die Funktion setw(n) )</p>
<p>Edit: Kleinigkeiten verändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150339</guid><dc:creator><![CDATA[demonking]]></dc:creator><pubDate>Tue, 29 Nov 2011 04:56:53 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 06:57:51 GMT]]></title><description><![CDATA[<p>zum vector, da der wohl noch nicht ganz klar ist:<br />
vector sind praktisch dynamische arrays. d.h. du kannst die größe zur laufzeit verändern, was bei einem array nicht möglich ist, da die größe vor programmstart bekannt sein muss.<br />
push_back macht nichts anderes als ein neues element hinten dran zu hängen.<br />
pop_back würde das letzte element löschen.<br />
einfach mal <a href="http://www.cplusplus.com/reference/stl/vector/" rel="nofollow">das hier</a> durchlesen, sollte ein wenig klarheit schaffen <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/2150346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150346</guid><dc:creator><![CDATA[DNKpp]]></dc:creator><pubDate>Tue, 29 Nov 2011 06:57:51 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 17:49:37 GMT]]></title><description><![CDATA[<p>ICh glaub ich hab's jetzt. Ein Paar Fragen/Anmerkungen hab ich noch:<br />
- Allso, theoretisch gesehen, bräuchte ich die digits-fkt. nciht, wenn ich die Anzahl der Stellen schon von vornherein weiß, sprich setw(10), zB. für 10 Stellen könnte ich dann so angeben und die komplette Fkt. weglassen?<br />
- Wenn ich die Daten jetzt nicht ausgeben lasse will, kann ich doch einfach per ofstream eine neue Datei öffnen, und statt cout mein &quot;Datei-Variable&quot; nehmen und hätte das selbe Ergabniss, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150599</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150599</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Tue, 29 Nov 2011 17:49:37 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 17:51:09 GMT]]></title><description><![CDATA[<p>Ja, ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150600</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 29 Nov 2011 17:51:09 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 18:25:42 GMT]]></title><description><![CDATA[<p>Es läuft, es läuft, aber noch nicht ganz <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="😃"
    /><br />
Wenn ich die beiden Programme jetzt über ein main starten lassen will, muss ich ja im Programm int Zeilennummerierung (int argc, char *argv[]) was ehemals int main(int argc, char *argv[]) hieß, mit return ein Rückgabeparameter haben, oder kann ich den weglassen, weil es wird ja eigentlich nichts zurückgegeben.</p>
<pre><code class="language-cpp">void main()
{
   int Zeilennummerierung (int argc, char *argv[])
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2150610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150610</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Tue, 29 Nov 2011 18:25:42 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 18:28:25 GMT]]></title><description><![CDATA[<p>die Funktion main hat per Definition immer einen Rückgabewert. Wenn du einen vernünftigen Compiler hast, dann brauchst du diesen aber nicht angeben. Aber du musst sie zumindest als int main(...) deklarieren!</p>
<p>Und was soll das?</p>
<pre><code class="language-cpp">int Zeilennummerierung (int argc, char *argv[])
</code></pre>
<p>Das gehört so nicht in die main Funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150613</guid><dc:creator><![CDATA[dfgdfg]]></dc:creator><pubDate>Tue, 29 Nov 2011 18:28:25 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 18:43:02 GMT]]></title><description><![CDATA[<p>Das war copy&amp;paste...<br />
Aber, ich hab gedacht dass die void main Funktion keinen Rückgabeparameter hat. Dementsprechend kann ich das ja als main nehmen.<br />
Desweiteren geht's ja um den Teil, der einen Rückgabeparameter braucht:</p>
<pre><code class="language-cpp">int Zeilennummerierung(int argc, char *argv[]) 
 { 
     ifstream is(&quot;in.txt&quot;); // Fileinputstream 
     vector&lt;string&gt; v; // Container 

     string tmp; 
     while (getline(is, tmp)) v.push_back(tmp); // zeilenweise einlesen 
     int n = digits(v.size()+1); // Anzahl Ziffern für Nummerierung 

     for (int i=0; i&lt;v.size(); ++i) 
         cout &lt;&lt; setw(n) &lt;&lt; i &lt;&lt; ' ' &lt;&lt; v[i] &lt;&lt; endl; 

     return ????
 }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2150624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150624</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Tue, 29 Nov 2011 18:43:02 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 18:51:35 GMT]]></title><description><![CDATA[<p>Irgendwie verwirrst du mich gerade. Was soll das mit dieser komischen Funktion? Poste doch mal irgendetwas, was kompiliert. (Und warum sollte die Funktion etwas zurückgeben?)</p>
<p>Und nein, es <strong>gibt keine</strong> void main()-Funktion. main() <strong>muss</strong> int zurückgeben, ob du das willst oder nicht. Das ist vom Standard so festgelegt, nur weil dein Compiler es frisst, ist es nicht gleich gültiges C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150627</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 29 Nov 2011 18:51:35 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 18:59:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int Zeilennummerierung(int argc, char *argv[])
</code></pre>
<p>ersetzt NICHT die main funktion.<br />
du MUSST eine main funktion im programm haben, da das dein &quot;einstiegspunkt&quot; ist, wenn das programm startet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150630</guid><dc:creator><![CDATA[DNKpp]]></dc:creator><pubDate>Tue, 29 Nov 2011 18:59:52 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 19:05:40 GMT]]></title><description><![CDATA[<p>Sry, für die Verwirrung. Das will starten lassen:<br />
Mein Compiler spuckt aber: 'Funktion_Zeilennnummer': Muss einen Wert zurückgebe</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;iostream&gt;						
#include &lt;conio.h&gt;						
#include &lt;stdio.h&gt;
#include &lt;cmath&gt; 						
#include &lt;string&gt;
#include &lt;fstream&gt;
#include &lt;ctype.h&gt;						
#include &lt;wchar.h&gt;
#include &lt;iomanip&gt;
#include &lt;time.h&gt;
#include &lt;cstdlib&gt;
#include &lt;sstream&gt;
#include &lt;vector&gt;
using namespace std;

int digits(int n) 
{ 
   int r=1; 
   while (n/=10) ++r; 
   return r; 
} 

int Funktion_Zeilennnummer(int argc, char *argv[]) 
{ 
     ifstream is(&quot;C:\\Datenreihe.txt&quot;); // Fileinputstream 
	 ofstream of(&quot;C:\\Datenreihe_modi.txt&quot;);
     vector&lt;string&gt; v; // Container 

     string tmp; 
     while (getline(is, tmp)) v.push_back(tmp); // zeilenweise einlesen 
     int n = digits(v.size()+1); // Anzahl Ziffern für Nummerierung 

     for (int i=0; i&lt;v.size(); ++i) 
		{cout &lt;&lt; setw(n) &lt;&lt; i &lt;&lt; ' ' &lt;&lt; v[i] &lt;&lt; endl; 
			of&lt;&lt; setw(n) &lt;&lt; i &lt;&lt; ' ' &lt;&lt; v[i] &lt;&lt; endl;} 
}

int main (int argc, char *argv[])
{ 
	int Funktion_Zeilennnummer(); 
}
</code></pre>
<p>Und das mit der void main()-Funktion haben wir in der Vorlesung gelernt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150636</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:05:40 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 19:14:09 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;vector&gt;

using namespace std;

int digits(int n) 
{ 
   int r=1; 
   while (n/=10) ++r; 
   return r; 
} 

int main (int argc, char *argv[])
{ 
     ifstream is(&quot;C:\\Datenreihe.txt&quot;); // Fileinputstream 
	 ofstream of(&quot;C:\\Datenreihe_modi.txt&quot;);
     vector&lt;string&gt; v; // Container 

     string tmp; 
     while (getline(is, tmp)) v.push_back(tmp); // zeilenweise einlesen 
     int n = digits(v.size()+1); // Anzahl Ziffern für Nummerierung 

     for (int i=0; i&lt;v.size(); ++i) 
		{cout &lt;&lt; setw(n) &lt;&lt; i &lt;&lt; ' ' &lt;&lt; v[i] &lt;&lt; endl; 
			of&lt;&lt; setw(n) &lt;&lt; i &lt;&lt; ' ' &lt;&lt; v[i] &lt;&lt; endl;}

     return 0;
}
</code></pre>
<p>so sollte es wohl gehen...<br />
bei den includes kann ich mich irren, aber auf die schnelle scheint das so richtig zu sein. du brauchst auf jeden fall nicht diese extreme liste von includes, wie du sie verwendest^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150643</guid><dc:creator><![CDATA[DNKpp]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:14:09 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 19:16:43 GMT]]></title><description><![CDATA[<p>Du hast mich nicht verstanden glaub ich.<br />
Dass das so geht, ist mir klar, ist ja nichts anderes als das im 1. Post.<br />
Den Rückgabewert mit return 0 brauch ich dabei sogar gar nicht.<br />
Der Grund, warum ich das so mit einer eigenen main-fkt. machen will, liegt ja daran, dass ich mehrere kleine funktionen noch habe, die ich dort aufrufe.<br />
Ich hoffe die Problematik ist verständlich geworden. Besser:</p>
<pre><code class="language-cpp">void main(void)
{
	Funktion_Header();
	Funktion_Zeilennummer();
	Funktion_Einlesen();
	Funktion_Mittelwert();
	Funktion_Maximalwert();
	Funktion_Minimalwert();
	Funktion_Ausgabe();
	getch();
}
</code></pre>
<p>So soll das dann aussehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150651</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:16:43 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 19:18:45 GMT]]></title><description><![CDATA[<p>google mal nach &quot;vorwärts deklination c++&quot; oder sowas.<br />
sollte dir bei deinem problem helfen.</p>
<p>btw hab ich mitlerweile schon wieder vergessen was auf seit 1 stand, deswegen bezog ich mich lediglich auf deinen letzten post.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150655</guid><dc:creator><![CDATA[DNKpp]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:18:45 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 19:21:13 GMT]]></title><description><![CDATA[<p>Dann mach doch aus</p>
<pre><code class="language-cpp">int Zeilennummerierung (int argc, char *argv[])
</code></pre>
<p>das:</p>
<pre><code class="language-cpp">void Zeilennummerierung()
</code></pre>
<p>Argv und argc brauchst du ja auch nicht</p>
<p>Und return 0 in main() ist Pflicht! Sonst ist das ungültiges C++. Und main muss int zurückgeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150657</guid><dc:creator><![CDATA[pyhax]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 19:43:49 GMT]]></title><description><![CDATA[<p>pyhax schrieb:</p>
<blockquote>
<p>Dann mach doch aus</p>
<pre><code class="language-cpp">int Zeilennummerierung (int argc, char *argv[])
</code></pre>
<p>das:</p>
<pre><code class="language-cpp">void Zeilennummerierung()
</code></pre>
<p>Argv und argc brauchst du ja auch nicht</p>
</blockquote>
<p>Also das geht auch nicht. Zumindest bekomme ich keine Fehlermeldung, aber das Fenster blinkt einmall auf und das wars dann.</p>
<p>Und vorwärtsdeklaration hab ich kurz gegoogelt. Das ist ja nichts anderes als die fkt. am anfang schon zu erwähnen, damit der compiler den schon kennen lernt.<br />
Geholfen hat es mir nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150671</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:43:49 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 19:46:42 GMT]]></title><description><![CDATA[<p>pyhax schrieb:</p>
<blockquote>
<p>Dann mach doch aus</p>
<pre><code class="language-cpp">int Zeilennummerierung (int argc, char *argv[])
</code></pre>
<p>das:</p>
<pre><code class="language-cpp">void Zeilennummerierung()
</code></pre>
<p>Argv und argc brauchst du ja auch nicht</p>
</blockquote>
<p>Ich glaube, darum geht es ihm nicht. Er will einfach eine &quot;eigene main-Funktion&quot; haben, die er in der main aufruft; daher wohl auch sein &quot;void main&quot;.</p>
<pre><code class="language-cpp">void main2(int argc, char *argv[])
{
    Funktion_Header();
    Funktion_Zeilennummer();
    Funktion_Einlesen();
    Funktion_Mittelwert();
    Funktion_Maximalwert();
    Funktion_Minimalwert();
    Funktion_Ausgabe();
    getch();
}

int main(int argc, char *argv[])
{
    main2(argc,argv);
}
</code></pre>
<p>pyhax schrieb:</p>
<blockquote>
<p>Und return 0 in main() ist Pflicht! Sonst ist das ungültiges C++. Und main muss int zurückgeben.</p>
</blockquote>
<p>Da liegst du nur fast richtig :p. Es ist immer Pflicht, außer in der main, dort wird automatisch 0 zurückgegeben, wenn man nichts angibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150678</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:46:42 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 19:51:59 GMT]]></title><description><![CDATA[<p>Wenn du eine Funktion aufrufst schreibst du doch nicht den Typ vorneweg?</p>
<pre><code class="language-cpp">int digits(int n)
{
   int r=1;
   while (n/=10) ++r;
   return r;
}

void Funktion_Zeilennnummer()
{
     ifstream is(&quot;C:\\Datenreihe.txt&quot;); // Fileinputstream
     ofstream of(&quot;C:\\Datenreihe_modi.txt&quot;);
     vector&lt;string&gt; v; // Container

     string tmp;
     while (getline(is, tmp)) v.push_back(tmp); // zeilenweise einlesen
     int n = digits(v.size()+1); // Anzahl Ziffern für Nummerierung

     for (int i=0; i&lt;v.size(); ++i)
     {  // Rücke doch bitte ordentlich ein
       cout &lt;&lt; setw(n) &lt;&lt; i &lt;&lt; ' ' &lt;&lt; v[i] &lt;&lt; endl;
       of&lt;&lt; setw(n) &lt;&lt; i &lt;&lt; ' ' &lt;&lt; v[i] &lt;&lt; endl;
     }
}

int main()
{
    Funktion_Zeilennnummer();
}
</code></pre>
<p>So. Und void main() habt ihr in euer Vorlesung gelernt? Ernsthaft? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Edit:<br />
Das Konsolenfenster blinkt übrigens nur kurz auf, weil dein Programm schneller läuft als du gucken kannst. Mach eine Eingabe ans Ende, dann geht es. getchar() liest übrigens das verbleibende '\n' ein, wenn du vorher mit operator &gt;&gt; gelesen hast. Daher zwei mal getchar(), oder gleich wieder etwas mit &gt;&gt; einlesen, oder dein Programm aus der Konsole starten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150681</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:51:59 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 19:50:47 GMT]]></title><description><![CDATA[<p>probier mal:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; //Falls du das noch nicht hast
// ...
int main(int argc, char** argv) {
  // ...
  std::cout&lt;&lt;&quot;Drücke Enter zum Beenden&quot;&lt;&lt;std::endl;
  std::cin.get();
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2150683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150683</guid><dc:creator><![CDATA[pyhax]]></dc:creator><pubDate>Tue, 29 Nov 2011 19:50:47 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 20:05:29 GMT]]></title><description><![CDATA[<p>Ich hab ja auch gedacht, dass das Prog zu schnell arbeitet. Aber das kann nciht sein, denn<br />
1.) Ich lese eine Datenreihe mit 2000 Daten ein<br />
2.) Die modifizierte Datei muss im C-Lw sein. Ist es aber nicht.<br />
Daraus folgt mich, dass die fkt. nicht aufgerufen wird, so wie ich das da stehen hab (post von cooky ist mein prog, nochmal zur erinnerung)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150700</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Tue, 29 Nov 2011 20:05:29 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 20:09:00 GMT]]></title><description><![CDATA[<p>Hast du zufällig Windows 7 und gibst dem Programm keine Schreibrechte für C? Vielleicht solltest du mal auf is.is_open() und of.is_open() testen. (Bzw. .good())</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150703</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 29 Nov 2011 20:09:00 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst]Erlärung&#x2F;Kommentierung eines kleinen Programms on Tue, 29 Nov 2011 20:12:48 GMT]]></title><description><![CDATA[<p>Ich hab Win7, aber schreibrechte sind ohne Ende vorhanden.<br />
Nochmal: Wenn ich das ohne diesen Teil mache:</p>
<pre><code class="language-cpp">int main() 
 { 
     Funktion_Zeilennnummer(); 
 }
</code></pre>
<p>also meine Fkt &quot;Zeilennummer&quot; als main-fkt aufrufe, dann läuft ja alles (Was aber für mich, unbedeutend ist).<br />
Deshalb gehe ich ja davon aus, dass die fkt. so gar nicht aufgerufen wird, warum auch immer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2150705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2150705</guid><dc:creator><![CDATA[Einstein jr.]]></dc:creator><pubDate>Tue, 29 Nov 2011 20:12:48 GMT</pubDate></item></channel></rss>