wedhead
Mitglied
Hi @ all !
Benutze den Borland C++ Builder 6...
Ich bin dabei ein Consolenprogramm zu schreiben das wie eine Bank aufgebaut sein soll...
Dazu will ich die verschiedenen Daten wie kontonummer, inhaber, pin, kontostand usw in eine binärdatei "konten.dat" abspeichern um sie später wieder auslesen zu können.
Ich denke das es mit fstream/iostream funktionieren müsste, habe aber keine ahnung wie ich das angehen soll.
Hoffe ihr könnt mir weiterhelfen.
greez
Weedy
Quelltext:
Benutze den Borland C++ Builder 6...
Ich bin dabei ein Consolenprogramm zu schreiben das wie eine Bank aufgebaut sein soll...
Dazu will ich die verschiedenen Daten wie kontonummer, inhaber, pin, kontostand usw in eine binärdatei "konten.dat" abspeichern um sie später wieder auslesen zu können.
Ich denke das es mit fstream/iostream funktionieren müsste, habe aber keine ahnung wie ich das angehen soll.
Hoffe ihr könnt mir weiterhelfen.
greez
Weedy
Quelltext:
Code:
#include <vcl.h>
#pragma hdrstop
#include <conio.h>
#include <iostream.h>
#pragma argsused
//---------------------------------------------------------------------------
//Klassendefinition
class standartk
{
double kontostand;
int kontonummer;
int bankleizahl;
char* inhaber;
int pin;
public:
//Konstruktoren
standartk (double startwert, int ktn, int blz, char* name, int code)
{
kontostand=startwert;
kontonummer=ktn;
bankleizahl=blz;
inhaber=name;
pin=code;
}
standartk ()
{
}
//Destruktor
~standartk()
{
cout<<endl<<"Kontostand = "<<kontostand<<endl;
}
//Ausgabe Kontostand
int aus()
{
return kontostand;
}
//Ausgabe Kontonummer
int ktnummer()
{
return kontonummer;
}
//Ausgabe Kontoinhaber
char* aktinhaber()
{
return inhaber;
}
//Ausgabe Pin
int apin()
{
return pin;
}
//Ausgabe BLZ
int blzahl()
{
return bankleizahl;
}
//Prozedur zum einzahlen
int einzahlen (int ebetrag)
{
if (ebetrag<0)
{
ebetrag=0;
cout<<"Keine negative Einzahlung möglich"<<endl;
}
else kontostand=kontostand+ebetrag;
return kontostand;
}
//Prozedur zum abheben
int auszahlen (int abetrag)
{
if (abetrag<0)
{
abetrag=0;
cout<<"Keine negative Auszahlung möglich"<<endl;
}
else if ((kontostand-abetrag)<-1000)
{
abetrag=(kontostand+1000);
cout<<"Nur 1000€ Dispo"<<endl;
}
kontostand=(kontostand-abetrag);
return kontostand;
}
//Prozedur zum Pin ändern
int paendern (int npin)
{
int npin1;
int npin2;
if (npin==pin)
{
cout<<endl<<"Bitte gewuenschten Pin eingeben: ";cin>>npin1;
cout<<"Bitte gewuenschten Pin wiederholen: ";cin>>npin2;cout<<endl;
if (npin1==npin2)
{
pin=npin1;
}
else cout<<endl<<"Pins stimmen nicht überein!"<<endl<<endl;
}
else cout<<endl<<"Pin-Code nicht korrekt"<<endl<<endl;
return pin;
}
//Prozedur zum Namen ändern
char* naendern (char* id)
{
inhaber=id;
return inhaber;
}
};
//Anfangswerte für Konstruktor
standartk S1(500, 130049638, 54051990, "Jens Stattmueller", 1234);
//Hilfsvariablen
int ez;
int az;
int p;
char taste;
char* n;
//hauptprogramm
int main(int argc, char* argv[])
{
//Sprungmarke 1
loop1:
//Hauptmenü
do
{
cout<<endl;
cout<<"###############################"<<endl;
cout<<"# #"<<endl;
cout<<"# Weedys Bank v1.3.6 #"<<endl;
cout<<"# #"<<endl;
cout<<"###############################"<<endl;
cout<<"# #"<<endl;
cout<<"# Kontostand anzeigen ----> K #"<<endl;
cout<<"# Kontodaten anzeigen ----> D #"<<endl;
cout<<"# Auf Konto Einzahlen ----> E #"<<endl;
cout<<"# Von Konto Abheben ------> A #"<<endl;
cout<<"# Kontodaten aendern -----> C #"<<endl;
cout<<"# Beenden ----------------> B #"<<endl;
cout<<"# #"<<endl;
cout<<"###############################"<<endl<<endl;
cout<<endl<<"Was moechten Sie? ";cin>>taste;
switch (taste)
{
case 'k':case 'K': cout<<"Bitte geben Sie ihren Pin ein: ";cin>>p;clrscr();if (p==S1.apin()){cout<<endl<<"Ihr Kontostand belaeuft sich auf: "<<S1.aus()<<" eur"<<endl<<endl<<endl;} else {cout<<"Pin-Code nicht korrekt!"<<endl<<endl;}break;
case 'd':case 'D': cout<<"Bitte geben Sie ihren Pin ein: ";cin>>p;clrscr();if (p==S1.apin()){cout<<endl<<"Kontonummer: "<<S1.ktnummer()<<endl<<"Bankleizahl: "<<S1.blzahl()<<endl<<"Kontoinhaber: "<<S1.aktinhaber()<<endl<<"Pin: "<<S1.apin()<<endl<<endl<<endl;} else {cout<<"Pin-Code nicht korrekt!"<<endl<<endl;} break;
case 'e':case 'E': cout<<endl<<"Wieviel moechten Sie einzahlen? ";cin>>ez;ez=S1.einzahlen(ez);break;
case 'a':case 'A': cout<<"Bitte geben Sie ihren Pin ein: ";cin>>p;cout<<endl;if (p==S1.apin()){cout<<endl<<"Wieviel moechten Sie abheben? ";cin>>az;clrscr();S1.auszahlen(az);} else {cout<<"Pin-Code nicht korrekt!"<<endl<<endl;}break;
case 'c':case 'C': cout<<"Bitte geben Sie ihren Pin ein: ";cin>>p;cout<<endl;if (p==S1.apin()){clrscr();do
{
//Untermenü 1
cout<<endl;
cout<<"###############################"<<endl;
cout<<"# #"<<endl;
cout<<"# Weedys Bank v1.3.6 #"<<endl;
cout<<"# #"<<endl;
cout<<"###############################"<<endl;
cout<<"# Kontodaten aendern: #"<<endl;
cout<<"###############################"<<endl;
cout<<"# #"<<endl;
cout<<"# Kontodaten anzeigen ----> D #"<<endl;
cout<<"# Pin-Code aendern -------> P #"<<endl;
cout<<"# Namen aendern ----------> N #"<<endl;
cout<<"# Zurueck zum Hauptmenue--> Z #"<<endl;
cout<<"# Beenden ----------------> B #"<<endl;
cout<<"# #"<<endl;
cout<<"###############################"<<endl<<endl;
cout<<endl<<"Was moechten Sie? ";cin>>taste;
switch (taste)
{
case 'd':case 'D': clrscr();cout<<endl<<"Kontonummer: "<<S1.ktnummer()<<endl<<"Bankleizahl: "<<S1.blzahl()<<endl<<"Kontoinhaber: "<<S1.aktinhaber()<<endl<<"Pin: "<<S1.apin()<<endl<<endl<<endl;break;
case 'p':case 'P': clrscr();cout<<endl<<"Bitte aktuellen Pin eingeben: ";cin>>p;S1.paendern(p);break;
case 'n':case 'N': clrscr();cout<<endl<<"Bitte neuen Namen eingeben: ";cin>>n;S1.naendern(n);break;
case 'z':case 'Z': clrscr();goto loop1;
}
}
//Abbruchbedingung Untermenü1
while (taste !='B' && taste !='b'); } else {cout<<"Pin-Code nicht korrekt!"<<endl<<endl;}
}
}
//Abbruchbedingung Hauptmenü
while (taste !='B' && taste !='b');
getch();
}