<?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[Simulation eines Bankautomaten]]></title><description><![CDATA[<p>Hallo!<br />
Ich versuche jetzt die 2. Aufgabe von <a href="http://www.highscore.de/cpp/einfuehrung/uebungen.html#uebungen_aufgaben" rel="nofollow">http://www.highscore.de/cpp/einfuehrung/uebungen.html#uebungen_aufgaben</a><br />
zu machen.</p>
<p>Das ist wozu ich gekommen bin, leider lässt das nicht compilen.Ich verstehe nicht, wo das Problem ist.<br />
Vielen Dank im Voraus.<br />
er sagt mir:</p>
<p>~&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\ntdll.dll&quot; geladen, Cannot find or open the PDB file<br />
&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\kernel32.dll&quot; geladen, Cannot find or open the PDB file<br />
&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\KernelBase.dll&quot; geladen, Cannot find or open the PDB file<br />
&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\msvcp100d.dll&quot; geladen, Symbole wurden geladen.<br />
&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\msvcr100d.dll&quot; geladen, Symbole wurden geladen.<br />
Eine Ausnahme (erste Chance) bei 0x5b77cac8 (msvcr100d.dll) in Bankkonto.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.<br />
Unbehandelte Ausnahme bei 0x5b77cac8 (msvcr100d.dll) in Bankkonto.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.<br />
Eine Ausnahme (erste Chance) bei 0x5b77cac8 (msvcr100d.dll) in Bankkonto.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.<br />
Unbehandelte Ausnahme bei 0x5b77cac8 (msvcr100d.dll) in Bankkonto.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.~</p>
<pre><code class="language-cpp">#include&lt;string&gt;
#include&lt;iostream&gt;
using namespace std;
struct bankkonto{
	string Person;
	int pin;
	int stand;

};

bool isValid(string &amp;name, int &amp;pin,bankkonto v[]){
	bool zulassen=false;
if(name==v[0].Person &amp;&amp; pin==v[0].pin){
	zulassen==true;}
else if(name==v[1].Person &amp;&amp; pin==v[1].pin){
	zulassen==true;}
else if(name==v[2].Person &amp;&amp; pin==v[2].pin){
	zulassen==true;}
return zulassen;}

bool enoughMoney(int &amp;stand, int &amp;betrag){
	bool zulassen=false;
	if(stand&gt;betrag){
		zulassen=true;}
	return zulassen;

}

int main(){
	string Klient;
	int Pin;
	string eingabe;
	int Betrag;

	struct bankkonto bankkonto1[2];
	bankkonto1[0].Person=&quot;Avgust&quot;;
	bankkonto1[0].pin=1234;
	bankkonto1[0].stand=12;
	bankkonto1[1].Person=&quot;Olga&quot;;
	bankkonto1[1].pin=2345;
	bankkonto1[1].stand=13;
	bankkonto1[2].Person=&quot;Karl&quot;;
	bankkonto1[2].pin=3456;
	bankkonto1[2].stand=14;

	cout&lt;&lt;&quot;Geben Sie Ihre name ein&quot;;
	cin&gt;&gt;Klient;
	cout&lt;&lt;&quot;Ihre Pin bitte&quot;;
	cin&gt;&gt;Pin;

	if (isValid(Klient,Pin,bankkonto1)){
		if(Klient==bankkonto1[0].Person){
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[0].stand&lt;&lt;endl;
			cout&lt;&lt;&quot;Wollen Sie geld abziehen?&quot;;
			cin&gt;&gt;eingabe;
			if(eingabe==&quot;ja&quot;){
				cout&lt;&lt;&quot;Wie viel?&quot;;
				cin&gt;&gt;Betrag;
				if(enoughMoney(bankkonto1[0].stand,Betrag)){
					bankkonto1[0].stand=bankkonto1[0].stand-Betrag;
					cout&lt;&lt;&quot;Kontostand:&quot;&lt;&lt;bankkonto1[0].stand;}}}

		}

		else if (Klient==bankkonto1[1].Person){
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[1].stand;
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[1].stand&lt;&lt;endl;
			cout&lt;&lt;&quot;Wollen Sie geld abziehen?&quot;;
			cin&gt;&gt;eingabe;
			if(eingabe==&quot;ja&quot;){
				cout&lt;&lt;&quot;Wie viel?&quot;;
				cin&gt;&gt;Betrag;
				if(enoughMoney(bankkonto1[1].stand,Betrag)){
					bankkonto1[1].stand=bankkonto1[1].stand-Betrag;
					cout&lt;&lt;&quot;Kontostand:&quot;&lt;&lt;bankkonto1[1].stand;}}}

		else if(Klient==bankkonto1[2].Person){
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[2].stand;
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[2].stand&lt;&lt;endl;
			cout&lt;&lt;&quot;Wollen Sie geld abziehen?&quot;;
			cin&gt;&gt;eingabe;
			if(eingabe==&quot;ja&quot;){
				cout&lt;&lt;&quot;Wie viel?&quot;;
				cin&gt;&gt;Betrag;
				if(enoughMoney(bankkonto1[2].stand,Betrag)){
					bankkonto1[2].stand=bankkonto1[2].stand-Betrag;
					cout&lt;&lt;&quot;Kontostand:&quot;&lt;&lt;bankkonto1[2].stand;}}}
</code></pre>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/293713/simulation-eines-bankautomaten</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 04:01:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293713.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 09 Oct 2011 09:33:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 09:33:53 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich versuche jetzt die 2. Aufgabe von <a href="http://www.highscore.de/cpp/einfuehrung/uebungen.html#uebungen_aufgaben" rel="nofollow">http://www.highscore.de/cpp/einfuehrung/uebungen.html#uebungen_aufgaben</a><br />
zu machen.</p>
<p>Das ist wozu ich gekommen bin, leider lässt das nicht compilen.Ich verstehe nicht, wo das Problem ist.<br />
Vielen Dank im Voraus.<br />
er sagt mir:</p>
<p>~&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\ntdll.dll&quot; geladen, Cannot find or open the PDB file<br />
&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\kernel32.dll&quot; geladen, Cannot find or open the PDB file<br />
&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\KernelBase.dll&quot; geladen, Cannot find or open the PDB file<br />
&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\msvcp100d.dll&quot; geladen, Symbole wurden geladen.<br />
&quot;Bankkonto.exe&quot;: &quot;C:\Windows\SysWOW64\msvcr100d.dll&quot; geladen, Symbole wurden geladen.<br />
Eine Ausnahme (erste Chance) bei 0x5b77cac8 (msvcr100d.dll) in Bankkonto.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.<br />
Unbehandelte Ausnahme bei 0x5b77cac8 (msvcr100d.dll) in Bankkonto.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.<br />
Eine Ausnahme (erste Chance) bei 0x5b77cac8 (msvcr100d.dll) in Bankkonto.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.<br />
Unbehandelte Ausnahme bei 0x5b77cac8 (msvcr100d.dll) in Bankkonto.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.~</p>
<pre><code class="language-cpp">#include&lt;string&gt;
#include&lt;iostream&gt;
using namespace std;
struct bankkonto{
	string Person;
	int pin;
	int stand;

};

bool isValid(string &amp;name, int &amp;pin,bankkonto v[]){
	bool zulassen=false;
if(name==v[0].Person &amp;&amp; pin==v[0].pin){
	zulassen==true;}
else if(name==v[1].Person &amp;&amp; pin==v[1].pin){
	zulassen==true;}
else if(name==v[2].Person &amp;&amp; pin==v[2].pin){
	zulassen==true;}
return zulassen;}

bool enoughMoney(int &amp;stand, int &amp;betrag){
	bool zulassen=false;
	if(stand&gt;betrag){
		zulassen=true;}
	return zulassen;

}

int main(){
	string Klient;
	int Pin;
	string eingabe;
	int Betrag;

	struct bankkonto bankkonto1[2];
	bankkonto1[0].Person=&quot;Avgust&quot;;
	bankkonto1[0].pin=1234;
	bankkonto1[0].stand=12;
	bankkonto1[1].Person=&quot;Olga&quot;;
	bankkonto1[1].pin=2345;
	bankkonto1[1].stand=13;
	bankkonto1[2].Person=&quot;Karl&quot;;
	bankkonto1[2].pin=3456;
	bankkonto1[2].stand=14;

	cout&lt;&lt;&quot;Geben Sie Ihre name ein&quot;;
	cin&gt;&gt;Klient;
	cout&lt;&lt;&quot;Ihre Pin bitte&quot;;
	cin&gt;&gt;Pin;

	if (isValid(Klient,Pin,bankkonto1)){
		if(Klient==bankkonto1[0].Person){
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[0].stand&lt;&lt;endl;
			cout&lt;&lt;&quot;Wollen Sie geld abziehen?&quot;;
			cin&gt;&gt;eingabe;
			if(eingabe==&quot;ja&quot;){
				cout&lt;&lt;&quot;Wie viel?&quot;;
				cin&gt;&gt;Betrag;
				if(enoughMoney(bankkonto1[0].stand,Betrag)){
					bankkonto1[0].stand=bankkonto1[0].stand-Betrag;
					cout&lt;&lt;&quot;Kontostand:&quot;&lt;&lt;bankkonto1[0].stand;}}}

		}

		else if (Klient==bankkonto1[1].Person){
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[1].stand;
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[1].stand&lt;&lt;endl;
			cout&lt;&lt;&quot;Wollen Sie geld abziehen?&quot;;
			cin&gt;&gt;eingabe;
			if(eingabe==&quot;ja&quot;){
				cout&lt;&lt;&quot;Wie viel?&quot;;
				cin&gt;&gt;Betrag;
				if(enoughMoney(bankkonto1[1].stand,Betrag)){
					bankkonto1[1].stand=bankkonto1[1].stand-Betrag;
					cout&lt;&lt;&quot;Kontostand:&quot;&lt;&lt;bankkonto1[1].stand;}}}

		else if(Klient==bankkonto1[2].Person){
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[2].stand;
			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[2].stand&lt;&lt;endl;
			cout&lt;&lt;&quot;Wollen Sie geld abziehen?&quot;;
			cin&gt;&gt;eingabe;
			if(eingabe==&quot;ja&quot;){
				cout&lt;&lt;&quot;Wie viel?&quot;;
				cin&gt;&gt;Betrag;
				if(enoughMoney(bankkonto1[2].stand,Betrag)){
					bankkonto1[2].stand=bankkonto1[2].stand-Betrag;
					cout&lt;&lt;&quot;Kontostand:&quot;&lt;&lt;bankkonto1[2].stand;}}}
</code></pre>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129134</guid><dc:creator><![CDATA[akvarel]]></dc:creator><pubDate>Sun, 09 Oct 2011 09:33:53 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 09:42:06 GMT]]></title><description><![CDATA[<p>Erstens: Wenn du so weit gekommen bist, dann lies sich das compilieren, ist aber direkt danach beim Ausführen abgestürzt.</p>
<p>Zweitens: Die &quot;Cannot find or open the PDB file&quot; sind harmlos, dein Problem sind die Zugriffsverletzungen - und die kommen höchstwahrscheinlich daher, daß du auf nicht existierende Array-Elemente zugreifst ( <code>bankkonto</code> hat zwei Elemente <code>bankkonto[0]</code> und <code>bankkonto[1]</code> , &quot;bankkonto[2]&quot; ist illegal).</p>
<p>Drittens: Besonders flexibel ist dein Programm nicht - überleg mal was du alles ändern müsstest, um die Anzahl der verwalteten Konten zu ändern (oder gar um zur Laufzeit neue Konten anzulegen oder vorhandene aufzulösen).</p>
<p>PS: Alle Variablen am Funktionsanfang zu definieren war in C++ nie nötig - die legt man normalerweise genau dort an, wo sie gebraucht werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129138</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 09 Oct 2011 09:42:06 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 12:43:32 GMT]]></title><description><![CDATA[<blockquote>
<p>Zweitens: Die &quot;Cannot find or open the PDB file&quot; sind harmlos, dein Problem sind die Zugriffsverletzungen - und die kommen höchstwahrscheinlich daher, daß du auf nicht existierende Array-Elemente zugreifst (bankkonto hat zwei Elemente bankkonto[0] und bankkonto[1], &quot;bankkonto[2]&quot; ist illegal).</p>
</blockquote>
<p>yep. das habe ich umgeschrieben.</p>
<p>Aber die methode funktioniert irgenwie nicht. wenn name und pin richtig eingetippt sind, gibt diese methode trotzdem false zurück.</p>
<pre><code class="language-cpp">bool isValid(string &amp;name, int &amp;pin,bankkonto v[]){
	bool zulassen=false;
if(name==v[0].Person &amp;&amp; pin==v[0].pin){
	zulassen==true;}
else if(name==v[1].Person &amp;&amp; pin==v[1].pin){
	zulassen==true;}
else if(name==v[2].Person &amp;&amp; pin==v[2].pin){
	zulassen==true;}
return zulassen;}
</code></pre>
<blockquote>
<p>Drittens: Besonders flexibel ist dein Programm nicht - überleg mal was du alles ändern müsstest, um die Anzahl der verwalteten Konten zu ändern (oder gar um zur Laufzeit neue Konten anzulegen oder vorhandene aufzulösen).</p>
</blockquote>
<p>Das mache ich gleich.</p>
<blockquote>
<p>PS: Alle Variablen am Funktionsanfang zu definieren war in C++ nie nötig - die legt man normalerweise genau dort an, wo sie gebraucht werden.</p>
</blockquote>
<p>Meinst du die hier unter dem main?</p>
<pre><code class="language-cpp">int main(){
	string Klient;
	int Pin;
	string eingabe;
	int Betrag;

	struct bankkonto bankkonto1[3];
	bankkonto1[0].Person=&quot;Avgust&quot;;
	bankkonto1[0].pin=1234;
	bankkonto1[0].stand=12;
	bankkonto1[1].Person=&quot;Olga&quot;;
	bankkonto1[1].pin=2345;
	bankkonto1[1].stand=13;
	bankkonto1[2].Person=&quot;Karl&quot;;
	bankkonto1[2].pin=3456;
	bankkonto1[2].stand=14;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2129217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129217</guid><dc:creator><![CDATA[akvarel]]></dc:creator><pubDate>Sun, 09 Oct 2011 12:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 13:52:02 GMT]]></title><description><![CDATA[<p>Na, siehst du den Fehler hier:</p>
<pre><code class="language-cpp">zulassen==true;
</code></pre>
<p>?<br />
(aktiviere mal die Warnungen bei deinem Projekt bzw. beachte sie beim Compilieren...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129239</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sun, 09 Oct 2011 13:52:02 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 15:13:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Na, siehst du den Fehler hier:</p>
</blockquote>
<p>Ich sehe da keinen Fehler.</p>
<p>bei initializiren wird zulassen auf false gesetz, wenn aber die Bedienung name==v[0].Person &amp;&amp; pin==v[0].pin erfüllt ist, wird zulassen auf true gesetzt.</p>
<pre><code class="language-cpp">bool isValid(string &amp;name, int &amp;pin,bankkonto v[]){ 
    bool zulassen=false; 
if(name==v[0].Person &amp;&amp; pin==v[0].pin){ 
    zulassen==true;}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2129263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129263</guid><dc:creator><![CDATA[akvarel]]></dc:creator><pubDate>Sun, 09 Oct 2011 15:13:00 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 15:21:01 GMT]]></title><description><![CDATA[<p>akvarel schrieb:</p>
<blockquote>
<p>wird zulassen auf true gesetzt.</p>
</blockquote>
<p>Wird es eben nicht <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="😛"
    /> Kennst du den unterschied zwischen dem Operator == und dem Operator = ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129266</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 09 Oct 2011 15:21:01 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 15:23:53 GMT]]></title><description><![CDATA[<p>== ist ein Vergleich, = ist die Zuweisung!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129268</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sun, 09 Oct 2011 15:23:53 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 18:00:28 GMT]]></title><description><![CDATA[<p>akvarel schrieb:</p>
<blockquote>
<blockquote>
<p>PS: Alle Variablen am Funktionsanfang zu definieren war in C++ nie nötig - die legt man normalerweise genau dort an, wo sie gebraucht werden.</p>
</blockquote>
<p>Meinst du die hier unter dem main?</p>
<pre><code class="language-cpp">int main(){
	string Klient;
	int Pin;
	string eingabe;
	int Betrag;

	struct bankkonto bankkonto1[3];
	bankkonto1[0].Person=&quot;Avgust&quot;;
	bankkonto1[0].pin=1234;
	bankkonto1[0].stand=12;
	bankkonto1[1].Person=&quot;Olga&quot;;
	bankkonto1[1].pin=2345;
	bankkonto1[1].stand=13;
	bankkonto1[2].Person=&quot;Karl&quot;;
	bankkonto1[2].pin=3456;
	bankkonto1[2].stand=14;
</code></pre>
</blockquote>
<p>Das und auch die Konstruktion am Anfang der isValid-Funktion (dort wäre die Hilfsvariable überhaupt nicht nötig, stattdessen könntest du auch jeweils direkt einen Wert zurückgeben).</p>
<p>PS: Schonmal darüber nachgedacht, wie du dieses Programm für eine variable (d.h. beim Compilieren unbekannte) Konten-Anzahl erweitern müsstest?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129312</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 09 Oct 2011 18:00:28 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 19:53:21 GMT]]></title><description><![CDATA[<blockquote>
<p>Das und auch die Konstruktion am Anfang der isValid-Funktion (dort wäre die Hilfsvariable überhaupt nicht nötig, stattdessen könntest du auch jeweils direkt einen Wert zurückgeben).</p>
</blockquote>
<p>Meinst du das die isValid-Funktion zB. den Stand des Kontos zurückgeben kann?</p>
<blockquote>
<p>PS: Schonmal darüber nachgedacht, wie du dieses Programm für eine variable (d.h. beim Compilieren unbekannte) Konten-Anzahl erweitern müsstest?</p>
</blockquote>
<p>Ich vermute, ich muss die class benutzer und bank schreiben.<br />
die variablen von benutzer wäre dann der Name und Pin und methoden set(name,pin)(also, pin und name angeben) und den betrag wählen</p>
<p>Variablen von bank: name,pin,kontostand , und das alles mit pin und name von kunden vergleichen und geld ausgeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129325</guid><dc:creator><![CDATA[akvarel]]></dc:creator><pubDate>Sun, 09 Oct 2011 19:53:21 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Sun, 09 Oct 2011 20:09:36 GMT]]></title><description><![CDATA[<p>akvarel schrieb:</p>
<blockquote>
<blockquote>
<p>Das und auch die Konstruktion am Anfang der isValid-Funktion (dort wäre die Hilfsvariable überhaupt nicht nötig, stattdessen könntest du auch jeweils direkt einen Wert zurückgeben).</p>
</blockquote>
<p>Meinst du das die isValid-Funktion zB. den Stand des Kontos zurückgeben kann?</p>
</blockquote>
<p>Nein, ein boolean ist schon OK (Kontostand zurückgeben hat wohl nichts mit der Gültigkeitsproüfung zu tun), aber den extra noch in einer Hilfsvariablen zwischenzulagern ist imho unnötig. Wobei, im Hinblick auf die Erweiterbarkeit würde ich den Index des erkannten Kontos zurückgeben (und die Funktion umbenennen).</p>
<blockquote>
<blockquote>
<p>PS: Schonmal darüber nachgedacht, wie du dieses Programm für eine variable (d.h. beim Compilieren unbekannte) Konten-Anzahl erweitern müsstest?</p>
</blockquote>
<p>Ich vermute, ich muss die class benutzer und bank schreiben.<br />
die variablen von benutzer wäre dann der Name und Pin und methoden set(name,pin)(also, pin und name angeben) und den betrag wählen</p>
</blockquote>
<p>Vor allem mußt du deine if-else-Kaskaden in der isValid() und main() entrümpeln und zusammenfassen (Stichwort: Schleife) und das Array durch etwas dynamisch erwaiterbares (z.B. std::vector) ersetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129329</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 09 Oct 2011 20:09:36 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Mon, 10 Oct 2011 16:04:45 GMT]]></title><description><![CDATA[<blockquote>
<p>Wobei, im Hinblick auf die Erweiterbarkeit würde ich den Index des erkannten Kontos zurückgeben (und die Funktion umbenennen).</p>
</blockquote>
<p>Also, jetzt habe ich sowas:</p>
<pre><code class="language-cpp">int klientnummer = (isKlient(Klient,Pin,bankkonto1));

			cout&lt;&lt;&quot;Kontostand&quot;&lt;&lt;bankkonto1[klientnummer].stand&lt;&lt;endl;
			cout&lt;&lt;&quot;Wollen Sie geld abziehen?&quot;;
			cin&gt;&gt;eingabe;
			if(eingabe==&quot;ja&quot;){
				cout&lt;&lt;&quot;Wie viel?&quot;;
				cin&gt;&gt;Betrag;
				if(enoughMoney(bankkonto1[klientnummer].stand,Betrag)){
					bankkonto1[0].stand=bankkonto1[klientnummer].stand-Betrag;
					cout&lt;&lt;&quot;Kontostand:&quot;&lt;&lt;bankkonto1[klientnummer].stand;
</code></pre>
<blockquote>
<p>Vor allem mußt du deine if-else-Kaskaden in der isValid() und main() entrümpeln und zusammenfassen (Stichwort: Schleife) und das Array durch etwas dynamisch erwaiterbares (z.B. std::vector) ersetzen.</p>
</blockquote>
<pre><code>int isKlient(string name, int pin,bankkonto v[]){

	for(int i=0;i&lt;sizeof(v);i++){	   
           if(name==v[i].Person &amp;&amp; pin==v[i].pin){ 
			  return i;		  		   

       } 		   
	}}
</code></pre>
<p>Er gibt mir aber die Warnung, und läuft nicht weiter. Also ich muss nich mal debugging, damit er mir den Kontostand schreibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129640</guid><dc:creator><![CDATA[akvarel]]></dc:creator><pubDate>Mon, 10 Oct 2011 16:04:45 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Mon, 10 Oct 2011 16:53:24 GMT]]></title><description><![CDATA[<p>Bei der isKlient()-Funktion hast du keinen Rückgabewert, wenn die angegebene Konto/Pin-Kombination ungültig ist - und die sizeof()-Konstruktion dort ist auch nicht anwendbar (trotz der Definition ist v nur ein Zeiger mit der festen Größe 4). Dazu kommt, daß du im Hauptprogramm die Möglichkeit nicht abfängst, daß das Konto nicht gefunden wurde.<br />
Wie schon gesagt, nimm keine Arrays, sondern schau dich in der STL um - std::vector&lt;&gt; und std::find() (eventuell std::find_if()) würden dir die Aufgabe wesentlich erleichtern.</p>
<p>PS: Und für Hilfestellungen ist es auch hilfreich, wenn du die Meldungen des Compilers mitlieferst <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/2129662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129662</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 10 Oct 2011 16:53:24 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Mon, 10 Oct 2011 17:57:22 GMT]]></title><description><![CDATA[<pre><code>- std::vector&lt;&gt; und std::find() (eventuell std::find_if()) würden dir die Aufgabe wesentlich erleichtern.
</code></pre>
<p>meinst du so was?<br />
und dann muss ich alle funktionen ändern.</p>
<pre><code class="language-cpp">vector&lt;bankkonto&gt; bank;
	bankkonto a;
	a.Person=&quot;August&quot;;
	a.pin=1234;
	bank.push_back(a);
	bankkonto b;
	b.Person=&quot;Opel&quot;;
	b.pin=2345;
	bank.push_back(b);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2129679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129679</guid><dc:creator><![CDATA[akvarel]]></dc:creator><pubDate>Mon, 10 Oct 2011 17:57:22 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Mon, 10 Oct 2011 18:49:40 GMT]]></title><description><![CDATA[<p>Ja, sowas habe ich gemeint (Anmerkung: wenn du der Kontoklasse noch einen passenden Konstruktor spendierst, sparst du dir die Schreibarbeit - aber das können wir klären, wenn der Rest läuft).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129692</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 10 Oct 2011 18:49:40 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Mon, 10 Oct 2011 20:37:47 GMT]]></title><description><![CDATA[<p>Ok...<br />
Ich verstehe jetzt aber nicht mit find_if</p>
<pre><code class="language-cpp">vector&lt;bankkonto&gt; bank;
vector&lt;int&gt;::iterator it;
	bankkonto a;
	a.Person=&quot;August&quot;;
	a.pin=1234;
	bank.push_back(a);
	bankkonto b;
	b.Person=&quot;Opel&quot;;
	b.pin=2345;
	bank.push_back(b);

	cout&lt;&lt;&quot;Geben Sie Ihre name ein&quot;;
	cin&gt;&gt;Klient;
	cout&lt;&lt;&quot;Ihre Pin bitte&quot;;
	cin&gt;&gt;Pin;
</code></pre>
<p>it = find_if(bank.begin(),bank.end(),isKlient(Klient,Pin));<br />
und dann muss die Funktion isKlient überprüfen,den string und den pin zurückgeben,damit find_if checkt von bank.begin bis bank.end ob diese string und pind da gespeicher sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2129743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2129743</guid><dc:creator><![CDATA[akvarel]]></dc:creator><pubDate>Mon, 10 Oct 2011 20:37:47 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Wed, 12 Oct 2011 11:31:17 GMT]]></title><description><![CDATA[<p>ich habe jetzt so was:<br />
bei</p>
<pre><code class="language-cpp">cout&lt;&lt; *it
</code></pre>
<p>sagt er mir, dass die Operator nicht kompartibel *it ist.<br />
Aber was ist dann ein *it? Das ist die Referenzen auf person in vector bank, bei der die Bedienung (khs.Person==name &amp;&amp; khs.pin==pin) true zurückgibt.</p>
<p>Kann ich irgenwie von *it aus auf Kontostand in *it gespeichertrn Person zugreifen?</p>
<p>Vielen dank</p>
<pre><code class="language-cpp">bool isKlient(const bankkonto&amp; khs,const string&amp; name, const int&amp; pin){

	return (khs.Person==name &amp;&amp; khs.pin==pin);

	}
int main(){
	string Klient;
	int Pin;
	string eingabe;
	int Betrag;

	vector&lt;bankkonto&gt; bank;
	vector&lt;bankkonto&gt;::iterator it;

	bankkonto a;
	a.Person=&quot;August&quot;;
	a.pin=1234;
	a.stand=145;
	bank.push_back(a);
	bankkonto b;
	b.Person=&quot;Opel&quot;;
	b.pin=2345;
	b.stand=88;

	cout&lt;&lt;&quot;Geben Sie Ihre name ein&quot;;
	cin&gt;&gt;Klient;
	cout&lt;&lt;&quot;Ihre Pin bitte&quot;;
	cin&gt;&gt;Pin;

	it = find_if(bank.begin(),bank.end(),(isKlient,Klient,Pin));

	cout&lt;&lt; *it
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2130406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130406</guid><dc:creator><![CDATA[akvarel]]></dc:creator><pubDate>Wed, 12 Oct 2011 11:31:17 GMT</pubDate></item><item><title><![CDATA[Reply to Simulation eines Bankautomaten on Wed, 12 Oct 2011 12:55:02 GMT]]></title><description><![CDATA[<p>Gibt es für deine Bankkonto-Klasse denn einen überladenen &lt;&lt; Stream-Operator?</p>
<pre><code class="language-cpp">ostream&amp; operator &lt;&lt; (ostream&amp; os, const bankkonto&amp; bk)
{
  // ...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2130459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2130459</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 12 Oct 2011 12:55:02 GMT</pubDate></item></channel></rss>