<?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[Daten einlesen]]></title><description><![CDATA[<pre><code class="language-cpp">// Bankautomat.cpp - Simulation eines Bankautomaten mit 3 Konten

#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;cstdlib&gt;
using namespace std;

void wait()
{
  cin.clear();
  cin.ignore(cin.rdbuf()-&gt;in_avail());
  cin.get();
}

int main()
{

  ifstream dat_ein;
  string daten = (&quot;daten.txt&quot;);

  dat_ein.open(daten.c_str(), ios_base::in);

  if(!dat_ein)
  {
    cout &lt;&lt; &quot;Die Datei konnte nicht geöffnet werden&quot; &lt;&lt; endl;
    cout &lt;&lt; endl;
    return -1;
  }

  int anzahl;

  string name, pin;

  string benutzername;
  string pinnummer;

  int loop;

  dat_ein &gt;&gt; anzahl;

  // Benutzerdaten immer wieder abfragen
  loop = anzahl;
  while (loop == 3)
  {

    dat_ein &gt;&gt; name &gt;&gt; pin;

  cout &lt;&lt; &quot;Benutzername&quot; &lt;&lt; endl;
  cin  &gt;&gt; benutzername;

  cout &lt;&lt; &quot;Pinnummer&quot; &lt;&lt; endl;
  cin  &gt;&gt; pinnummer;

  if (name == benutzername &amp;&amp; pin == pinnummer)
  {
    cout &lt;&lt; &quot;Sie können nun Geld abheben oder einzahlen&quot; &lt;&lt; endl;
  }
  else
  {
    cout &lt;&lt; &quot;Falsche Eingabe&quot; &lt;&lt; endl;
  }

  }

    dat_ein.close();

}
</code></pre>
<p>Ich möchte folgendes <a href="http://www.highscore.de/cpp/einfuehrung/uebungen.html" rel="nofollow">2.Aufgabe</a><br />
Hab den Code jetzt mal geändert, aber jetzt habe ich ein anderes Problem: In meiner Datei daten.txt habe ich drei Datensätze, aber sobald ich die ersten eingegeben habe und nochmal den ersten eingeben möchte (mit Benutzenamen und Pinnummer) sagt er mir andauernd &quot;Falsche Eingabe&quot;, ganz so, als ob er in der daten.txt nach dem dritten Datensatz drunter weiterliest, obwohl da nichts mehr ist.<br />
<a href="http://img75.imageshack.us/my.php?image=bildog1.png" rel="nofollow"></a><a href="http://img75.imageshack.us/img75/7581/bildog1.th.png" rel="nofollow">http://img75.imageshack.us/img75/7581/bildog1.th.png</a></p>
<p>Bin übrigends noch ein totaler Anfänger, also nehmt es mir nicht übel^^</p>
<p>Dae</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215659/daten-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 03:11:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215659.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jun 2008 18:24:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Daten einlesen on Fri, 13 Jun 2008 19:07:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// Bankautomat.cpp - Simulation eines Bankautomaten mit 3 Konten

#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;cstdlib&gt;
using namespace std;

void wait()
{
  cin.clear();
  cin.ignore(cin.rdbuf()-&gt;in_avail());
  cin.get();
}

int main()
{

  ifstream dat_ein;
  string daten = (&quot;daten.txt&quot;);

  dat_ein.open(daten.c_str(), ios_base::in);

  if(!dat_ein)
  {
    cout &lt;&lt; &quot;Die Datei konnte nicht geöffnet werden&quot; &lt;&lt; endl;
    cout &lt;&lt; endl;
    return -1;
  }

  int anzahl;

  string name, pin;

  string benutzername;
  string pinnummer;

  int loop;

  dat_ein &gt;&gt; anzahl;

  // Benutzerdaten immer wieder abfragen
  loop = anzahl;
  while (loop == 3)
  {

    dat_ein &gt;&gt; name &gt;&gt; pin;

  cout &lt;&lt; &quot;Benutzername&quot; &lt;&lt; endl;
  cin  &gt;&gt; benutzername;

  cout &lt;&lt; &quot;Pinnummer&quot; &lt;&lt; endl;
  cin  &gt;&gt; pinnummer;

  if (name == benutzername &amp;&amp; pin == pinnummer)
  {
    cout &lt;&lt; &quot;Sie können nun Geld abheben oder einzahlen&quot; &lt;&lt; endl;
  }
  else
  {
    cout &lt;&lt; &quot;Falsche Eingabe&quot; &lt;&lt; endl;
  }

  }

    dat_ein.close();

}
</code></pre>
<p>Ich möchte folgendes <a href="http://www.highscore.de/cpp/einfuehrung/uebungen.html" rel="nofollow">2.Aufgabe</a><br />
Hab den Code jetzt mal geändert, aber jetzt habe ich ein anderes Problem: In meiner Datei daten.txt habe ich drei Datensätze, aber sobald ich die ersten eingegeben habe und nochmal den ersten eingeben möchte (mit Benutzenamen und Pinnummer) sagt er mir andauernd &quot;Falsche Eingabe&quot;, ganz so, als ob er in der daten.txt nach dem dritten Datensatz drunter weiterliest, obwohl da nichts mehr ist.<br />
<a href="http://img75.imageshack.us/my.php?image=bildog1.png" rel="nofollow"></a><a href="http://img75.imageshack.us/img75/7581/bildog1.th.png" rel="nofollow">http://img75.imageshack.us/img75/7581/bildog1.th.png</a></p>
<p>Bin übrigends noch ein totaler Anfänger, also nehmt es mir nicht übel^^</p>
<p>Dae</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528580</guid><dc:creator><![CDATA[Daeran]]></dc:creator><pubDate>Fri, 13 Jun 2008 19:07:21 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen on Fri, 13 Jun 2008 18:39:09 GMT]]></title><description><![CDATA[<p>Was hast du hier bloß gemacht??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <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="🙄"
    /></p>
<p>Auf den ersten Blick:<br />
1. if (name == name, pin == pin) Komma bei if ist ungewöhnlich -&gt; logisches Und <strong>&amp;&amp;</strong><br />
2. name == name Eine Variable mit sich selbst zu vergleichen ist auch nicht gerade sinnvoll<br />
3. loop = 2 * datensatz; datensatz ist garnicht initialisiert.<br />
4. while(loop == 5) hier passiert garnichts, denn loop ist durch 3 teilbar, und somit niemals 5. Das wird also übersprungen.<br />
5. dat_ein &gt;&gt; name &gt;&gt; pin; in einer Schleife ist sinnlos, weil am Ende nur der letzte eingelesene Wert darinsteht<br />
6. void wait(); in main? eine lokale Funktion? Mach das ganze global.</p>
<p>Hast du dir überhaupt überlegt was das mal werden soll? <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="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528584</guid><dc:creator><![CDATA[Blaze]]></dc:creator><pubDate>Fri, 13 Jun 2008 18:39:09 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen on Fri, 13 Jun 2008 19:09:48 GMT]]></title><description><![CDATA[<p>*update*</p>
<p>-neuen Quelltext eingefügt<br />
-mit Bild Problem erläutert (hoff ich doch)</p>
<p>Dae</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528613</guid><dc:creator><![CDATA[Daeran]]></dc:creator><pubDate>Fri, 13 Jun 2008 19:09:48 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen on Fri, 13 Jun 2008 19:35:12 GMT]]></title><description><![CDATA[<p>Daeran schrieb:</p>
<blockquote>
<p>ganz so, als ob er in der daten.txt nach dem dritten Datensatz drunter weiterliest, obwohl da nichts mehr ist.</p>
</blockquote>
<p>Genau das passiert auch <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="😉"
    /> Das &quot;ifstream&quot;-Objekt merkt sich, wo es gerade in der Datei ist. Wenn du weitere Sachen einliest, verschiebt sich auch die Position, nach der dritten Eingabe ist die nun mal am Ende der Datei.</p>
<p>Mein Vorschlag wäre: Lass den Benutzer den Benutzernamen und das Passwort eingeben und durchsuche <em>dann</em> die komplette Datei, ob Benutzername+Passwort darin enthalten sind. Also Zugangsdaten eingeben, Datei durchsuchen, entsprechend ja oder nein. Und das jede Runde.<br />
Als Fortgeschrittenen-Version könntest du auch am Anfang des Programms alle Benutzernamen mit zugehörigem Passwort in einen geeigneten Container einlesen (z.B. std::vector) und dann die Datei in Ruhe lassen und stattdessen nur deinen Container nach Name+Passwort durchsuchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1528620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1528620</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 13 Jun 2008 19:35:12 GMT</pubDate></item></channel></rss>