2016-04-04 4 views
-2

Ok, so dass ich ein Bankmanagementsystem erschaffe , dass das Programm Mein Problem ist, scheint nicht die vorherigen Einträge zu lesen, die ichWarum liest es die vorherigen Einträge nicht?

Vom main.cpp

void new_account() 
{ 
    class account arcade; 
    ofstream outfile; 
    outfile.open("account.txt",ios::app|ios::binary); 
    arcade.create_account(); 
    outfile.write((char *)(&arcade), sizeof(account)); 
    outfile.close(); 

} 

void display_account(int acc_no) 
{ 

    account arcade; 
    ifstream infile; 
    infile.open("account.txt",ios::binary); 
    while(infile.read((char *)(&arcade), sizeof(account))); 
    { 
     if(arcade.getaccount_no() == acc_no) 
     { 
      arcade.show_account(); 
     } 
    } 
    infile.close(); 
} 

Von Konto eingegeben haben. cpp file

void account::create_account() 
{ 

    cout << "1.Enter account no" << endl; 
    cin >> account_no; 
    cout << "2.Enter username" << endl; 
    cin.ignore(); 
    cin.getline(name,50,'\n'); 
    cout << "Enter initial deposit" << endl; 
    cin >> deposit; 
    cout << "Your account has been created" << endl; 
    getch(); 
} 

void account::show_account() 
{ 
    cout <<"Account No. :"<<account_no <<endl; 
    cout <<"Account User Name: " << name << endl; 
    cout <<"Balance Amount" <<deposit << endl; 


} 

Wenn ich einen neuen Eintrag setzen würde. Nach dem Versuch, den neuen Eintrag anzuzeigen, wird der Eintrag angezeigt. Jedoch ist jeder vorherige Eintrag, den ich gespeichert habe, nicht zugänglich.

+0

Der von Ihnen angezeigte Code entspricht nicht den Anforderungen für [mcve]. Überprüfen Sie diesen Artikel in der Hilfe, und bearbeiten Sie Ihre Frage, damit Ihr Code die Anforderungen von [mcve] erfüllt. –

+0

Dies ist nicht für eine tatsächliche Bank, oder? –

+0

@NicolasHolthaus nein. Es ist nur ein C++ Projekt –

Antwort

0

Von was ich sagen kann auf, was Sie geteilt haben, ist, dass Sie kein Array-Setup haben, um mehrere Personen/Zahlen/Informationen zu behandeln. Es wäre in etwa so aussehen:

gin.getline(name[I],50,'\n'); 

Dieser speichert jeden Eintrag an einer anderen Stelle im Speicher, ohne jedes Mal neue Variablen machen separat zu benötigen.

Verwandte Themen