Brauche Hilfe bei meinem Programm - habe seltsame linker fehler
-
Hier die Fehler:
1>PROJEKT BANK.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl dispoOut(struct girokonto &)" (?dispoOut@@YAXAAUgirokonto@@@Z)" in Funktion "_wmain".
1>C:\Users\Vladislav\C++\PROJEKT BANK\Debug\PROJEKT BANK.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.Und hier das eigentliche Programm:
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <windows.h>using namespace std;
struct girokonto
{
double kontostand;
int maxkontostand;
double dispo;
int kontonummer;
char kontoinhaber[20];
double einzahlen;
int auszahlen;
int kontenzaehler;
int PIN;
};void anlegenKonto(girokonto&);
void eingabeDaten();
void ausgabeDaten(girokonto, girokonto);
void einzahlen(girokonto&, girokonto&);
void auszahlen(girokonto&, girokonto&);
void beratung(girokonto);
void dispoOut(girokonto&);
void kundendatenEingabe(girokonto);
void speichern(girokonto&);void anlegenKonto(girokonto &a)
{
cout<<"NEUES KONTO ANLEGEN\n\n";
cout<<"Konto-Nr.:\t"; cin>>a.kontonummer;
cout<<"\nName:\t"; cin>>a.kontoinhaber;
cout<<"\nEinzahlen:\t"; cin>>a.kontostand;
cout<<"\nKontostand:\t"; cout<<a.kontostand;_getch();
system("cls");
}void ausgabeDaten(girokonto a, girokonto b)
{
system("cls");
cout<<"Ihr Kontostand: "<<a.kontostand<<" Euro\n";
}void einzahlen(girokonto &a, girokonto &b)
{
cout<<"Wieviel einzahlen? "; cin>>a.einzahlen;b.kontostand = b.kontostand + a.einzahlen;
system("cls");
}void auszahlen(girokonto &a, girokonto &b)
{
cout<<"Wieviel wollen Sie ausgezahlt haben?\n\n"; cin>>a.auszahlen;
b.kontostand = b.kontostand - a.auszahlen;cout<<"Bitte entnehmen Sie Ihre"<<b.kontostand<<" Euro.\n";
cout<<"Jetziger Kontostand: "<<b.kontostand<<" Euro\n";
}void beratung(girokonto a)
{
cout<<"Wir empfehlen Ihnen wegen Ihren Finanzen ein neues Konto einzurichten.\n";
system("cls");
anlegenKonto(a);
}void disopoOut(girokonto& a)
{
if(a.kontostand<0) cout<<"\n\nSie sind mit "<<a.kontostand<<" Euro im Minus.\nIhr Dispokredit wurde fuer Sie aktiviert.\n";
}void kundendatenEingabe(girokonto a)
{
cout<<"Konto-Nr.:\t"; cin>>a.kontonummer;
//cout<<"\nName:\t"; cin>>a.kontoinhaber;
cout<<"\nPIN:\t"; cin>>a.PIN;if(a.PIN != 1234)
{
cout<<"FALSCHE PIN!";
_getch();
exit(0);
}
system("cls");
}void speichern(girokonto& a)
{
char KN[10];
char PIN[10];
char KS[100];itoa(a.kontonummer, KN, 10);
itoa(a.PIN, PIN, 10);
itoa(a.kontostand, KS, 10);ofstream aus;
aus.open("Bankautomat.txt", ios::out);
aus<<"\n"<<a.kontonummer;
aus<<"\t"<<a.kontoinhaber;
aus<<"\t"<<a.PIN;
aus<<"\t"<<a.kontostand;
aus.close();ifstream ein;
ein.open("Bankautomat.txt", ios::in);
ein.getline(KN, 250, '\n');
ein.getline(PIN, 250, '\n');
ein.getline(a.kontoinhaber, 250, '\n');
ein.getline(KS, 250, '\n');ein.close();
cout<<KN<<a.kontoinhaber<<KS;
}int _tmain(int argc, _TCHAR* argv[])
{
girokonto a;
int tun;
char kunde;
a.kontostand = 0;cout<<"bereits Kunde?(j/n)"; cin>>kunde;
if(kunde == 'n')
{
system("cls");
anlegenKonto(a);
speichern(a);system("cls");
do
{
cout<<"\nWas tun?\n";
cout<<"\n1 - Geld abheben";
cout<<"\n2 - Geld einzahlen";
cout<<"\n3 - Kontostand";
cout<<"\n4 - Neues Konto anlegen";
cout<<"\n\n6 - Beenden\n\n";cin>>tun;
switch(tun)
{
case 1: auszahlen(a,a); break;
case 2: einzahlen(a,a); break;
case 3: cout<<a.kontostand<<" Euro";
if(a.kontostand > 50000)
{
beratung(a);
} break;
case 4: anlegenKonto(a);break;
case 5: exit(0); break;
}dispoOut(a);
}
while(kunde = 'j');
}
else
{
kundendatenEingabe(a);
system("cls");do
{
cout<<"Was tun?\n";
cout<<"\n1 - Geld abheben";
cout<<"\n2 - Geld einzahlen";
cout<<"\n3 - Kontostand";
cout<<"\n4 - Neues Konto anlegen";cout<<"\n6 - Beenden\n\n";
cin>>tun;
switch(tun)
{
case 1: auszahlen(a,a); break;
case 2: einzahlen(a,a); break;
case 3: cout<<a.kontostand<<" Euro";
if(a.kontostand>500000)
{
beratung(a);
} break;
case 4: anlegenKonto(a);break;
case 6: exit(0); break;
}
dispoOut(a);
}
while(kunde='j');
}
_getch();
return 0;
}//waere sehr nett von euch, wenn ihr mir helfen koenntet!!!
-
schau mal, wie du dispoOut beim prototyp und bei deiner definition genannt hast.
Benutze bitte das nächste mal den c++ tag für die code-hervorhebung
-
Hier A-Style formattiert und mit Code-Tags (bitte lese das):
#include "stdafx.h" #include <iostream> #include <fstream> #include <conio.h> #include <windows.h> using namespace std; struct girokonto { double kontostand; int maxkontostand; double dispo; int kontonummer; char kontoinhaber[20]; double einzahlen; int auszahlen; int kontenzaehler; int PIN; }; void anlegenKonto(girokonto&); void eingabeDaten(); void ausgabeDaten(girokonto, girokonto); void einzahlen(girokonto&, girokonto&); void auszahlen(girokonto&, girokonto&); void beratung(girokonto); void dispoOut(girokonto&); void kundendatenEingabe(girokonto); void speichern(girokonto&); void anlegenKonto(girokonto &a) { cout<<"NEUES KONTO ANLEGEN\n\n"; cout<<"Konto-Nr.:\t"; cin>>a.kontonummer; cout<<"\nName:\t"; cin>>a.kontoinhaber; cout<<"\nEinzahlen:\t"; cin>>a.kontostand; cout<<"\nKontostand:\t"; cout<<a.kontostand; _getch(); system("cls"); } void ausgabeDaten(girokonto a, girokonto b) { system("cls"); cout<<"Ihr Kontostand: "<<a.kontostand<<" Euro\n"; } void einzahlen(girokonto &a, girokonto &b) { cout<<"Wieviel einzahlen? "; cin>>a.einzahlen; b.kontostand = b.kontostand + a.einzahlen; system("cls"); } void auszahlen(girokonto &a, girokonto &b) { cout<<"Wieviel wollen Sie ausgezahlt haben?\n\n"; cin>>a.auszahlen; b.kontostand = b.kontostand - a.auszahlen; cout<<"Bitte entnehmen Sie Ihre"<<b.kontostand<<" Euro.\n"; cout<<"Jetziger Kontostand: "<<b.kontostand<<" Euro\n"; } void beratung(girokonto a) { cout<<"Wir empfehlen Ihnen wegen Ihren Finanzen ein neues Konto einzurichten.\n"; system("cls"); anlegenKonto(a); } void disopoOut(girokonto& a) { if(a.kontostand<0) cout<<"\n\nSie sind mit "<<a.kontostand<<" Euro im Minus.\nIhr Dispokredit wurde fuer Sie aktiviert.\n"; } void kundendatenEingabe(girokonto a) { cout<<"Konto-Nr.:\t"; cin>>a.kontonummer; //cout<<"\nName:\t"; cin>>a.kontoinhaber; cout<<"\nPIN:\t"; cin>>a.PIN; if(a.PIN != 1234) { cout<<"FALSCHE PIN!"; _getch(); exit(0); } system("cls"); } void speichern(girokonto& a) { char KN[10]; char PIN[10]; char KS[100]; itoa(a.kontonummer, KN, 10); itoa(a.PIN, PIN, 10); itoa(a.kontostand, KS, 10); ofstream aus; aus.open("Bankautomat.txt", ios::out); aus<<"\n"<<a.kontonummer; aus<<"\t"<<a.kontoinhaber; aus<<"\t"<<a.PIN; aus<<"\t"<<a.kontostand; aus.close(); ifstream ein; ein.open("Bankautomat.txt", ios::in); ein.getline(KN, 250, '\n'); ein.getline(PIN, 250, '\n'); ein.getline(a.kontoinhaber, 250, '\n'); ein.getline(KS, 250, '\n'); ein.close(); cout<<KN<<a.kontoinhaber<<KS; } int _tmain(int argc, _TCHAR* argv[]) { girokonto a; int tun; char kunde; a.kontostand = 0; cout<<"bereits Kunde?(j/n)"; cin>>kunde; if(kunde == 'n') { system("cls"); anlegenKonto(a); speichern(a); system("cls"); do { cout<<"\nWas tun?\n"; cout<<"\n1 - Geld abheben"; cout<<"\n2 - Geld einzahlen"; cout<<"\n3 - Kontostand"; cout<<"\n4 - Neues Konto anlegen"; cout<<"\n\n6 - Beenden\n\n"; cin>>tun; switch(tun) { case 1: auszahlen(a,a); break; case 2: einzahlen(a,a); break; case 3: cout<<a.kontostand<<" Euro"; if(a.kontostand > 50000) { beratung(a); } break; case 4: anlegenKonto(a); break; case 5: exit(0); break; } dispoOut(a); } while(kunde = 'j'); } else { kundendatenEingabe(a); system("cls"); do { cout<<"Was tun?\n"; cout<<"\n1 - Geld abheben"; cout<<"\n2 - Geld einzahlen"; cout<<"\n3 - Kontostand"; cout<<"\n4 - Neues Konto anlegen"; cout<<"\n6 - Beenden\n\n"; cin>>tun; switch(tun) { case 1: auszahlen(a,a); break; case 2: einzahlen(a,a); break; case 3: cout<<a.kontostand<<" Euro"; if(a.kontostand>500000) { beratung(a); } break; case 4: anlegenKonto(a); break; case 6: exit(0); break; } dispoOut(a); } while(kunde='j'); } _getch(); return 0; } //waere sehr nett von euch, wenn ihr mir helfen koenntet!!!