0% found this document useful (0 votes)
16 views

Program Code1 (1)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Program Code1 (1)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Program Code

#include<iostream>
#include<fstream>
#include<cctype>
#include<iomanip>
using namespace std;

class account
{
int acno;
char name[50];
int deposit;
char type;
public:
void create_account();
void show_account() const;
void modify();
void dep(int);
void draw(int);
void report() const;
int retacno() const;
int retdeposit() const;
char rettype() const;
};

void account::create_account()
{
system("clear");
cout << "\n\t\t\tEnter the Account No. : ";
cin >> acno;
cout << "\n\n\t\t\tPlease Enter the Name of the Account holder Here : ";
cin.ignore();
cin.getline(name, 50);
cout << "\n\t\t\tEnter Type of the Account (C/S) : ";
cin >> type;
type = toupper(type);
cout << "\n\t\t\tEnter The Initial amount : ";
cin >> deposit;
cout << "\n\n\t\t\tAccount Created..";
}

void account::show_account() const


{
cout << "\n\t\t\tAccount No. : " << acno;
cout << "\n\t\t\tAccount Holder Name : ";
cout << name;
cout << "\n\t\t\tType of Account : " << type;
cout << "\n\t\t\tBalance amount : " << deposit;
}

void account::modify()
{
cout << "\n\t\t\tAccount No. : " << acno;
cout << "\n\t\t\tModify Account Holder Name : ";
cin.ignore();
cin.getline(name, 50);
cout << "\n\t\t\tModify Type of Account : ";
cin >> type;
type = toupper(type);
cout << "\n\t\t\tModify Balance amount : ";
cin >> deposit;
}

void account::dep(int x)
{
deposit += x;
}

void account::draw(int x)
{
deposit -= x;
}
void account::report() const
{
cout << acno << setw(10) << " " << name << setw(10) << " " << type << setw(6) << deposit
<< endl;
}

int account::retacno() const


{
return acno;
}

int account::retdeposit() const


{
return deposit;
}

char account::rettype() const


{
return type;
}

void write_account();
void display_sp(int);
void modify_account(int);
void delete_account(int);
void display_all();
void deposit_withdraw(int, int);

int main()
{
char ch;
int num;
do
{
system("CLS");
cout << "\n\n\t\t\t\t======================\n";
cout << "\t\t\t\tBANK MANAGEMENT SYSTEM";
cout << "\n\t\t\t\t======================\n";

cout << "\t\t\t\t ::MAIN MENU::\n";


cout << "\n\t\t\t\t1. NEW ACCOUNT";
cout << "\n\t\t\t\t2. DEPOSIT AMOUNT";
cout << "\n\t\t\t\t3. WITHDRAW AMOUNT";
cout << "\n\t\t\t\t4. BALANCE ENQUIRY";
cout << "\n\t\t\t\t5. ALL ACCOUNT HOLDER LIST";
cout << "\n\t\t\t\t6. CLOSE AN ACCOUNT";
cout << "\n\t\t\t\t7. MODIFY AN ACCOUNT";
cout << "\n\t\t\t\t8. EXIT";
cout << "\n\n\t\t\t\tSelect Your Option (1-8): ";
cin >> ch;

switch (ch)
{
case '1':
write_account();
break;
case '2':
system("CLS");
cout << "\n\n\t\t\tEnter The account No. : "; cin >> num;
deposit_withdraw(num, 1);
break;
case '3':
system("CLS");
cout << "\n\n\t\t\tEnter The account No. : "; cin >> num;
deposit_withdraw(num, 2);
break;
case '4':
system("CLS");
cout << "\n\n\t\t\tEnter The account No. : "; cin >> num;
display_sp(num);
break;
case '5':
display_all();
break;
case '6':
system("CLS");
cout << "\n\n\t\t\tEnter The account No. : "; cin >> num;
delete_account(num);
break;
case '7':
system("CLS");
cout << "\n\n\t\t\tEnter The account No. : "; cin >> num;
modify_account(num);
break;

default:cout << "\a";


}
cin.ignore();
cin.get();
} while (ch != '8');
return 0;
}

void write_account()
{
account ac;
ofstream outFile;
outFile.open("account.dat", ios::binary | ios::app);
ac.create_account();
outFile.write(reinterpret_cast<char*> (&ac), sizeof(account));
outFile.close();
}

void display_sp(int n)
{
account ac;
bool flag = false;
ifstream inFile;
inFile.open("account.dat", ios::binary);
if (!inFile)
{
cout << "File could not be open !! Press any Key...";
return;
}
cout << "\n\t\t\tBALANCE DETAILS\n";
while (inFile.read(reinterpret_cast<char*> (&ac), sizeof(account)))
{
if (ac.retacno() == n)
{
ac.show_account();
flag = true;
}
}
inFile.close();
if (flag == false)
cout << "\n\n\t\t\tAccount number does not exist";
}

void modify_account(int n)
{
bool found = false;
account ac;
fstream File;
File.open("account.dat", ios::binary | ios::in | ios::out);
if (!File)
{
cout << "File could not be open !! Press any Key...";
return;
}
while (!File.eof() && found == false)
{
File.read(reinterpret_cast<char*> (&ac), sizeof(account));
if (ac.retacno() == n)
{
ac.show_account();
cout << "\n\n\t\t\tEnter The New Details of account" << endl;
ac.modify();
int pos = (-1) * static_cast<int>(sizeof(account));
File.seekp(pos, ios::cur); //fncallat1353
File.write(reinterpret_cast<char*> (&ac), sizeof(account));
cout << "\n\n\t\t\tRecord Updated";
found = true;
}
}
File.close();
if (found == false)
cout << "\n\n\t\t\tRecord Not Found ";
}
void delete_account(int n)
{
account ac;
ifstream inFile;
ofstream outFile;
inFile.open("account.dat", ios::binary);
if (!inFile)
{
cout << "File could not be open !! Press any Key...";
return;
}
outFile.open("Temp.dat", ios::binary);
inFile.seekg(0, ios::beg);
while (inFile.read(reinterpret_cast<char*> (&ac), sizeof(account)))
{
if (ac.retacno() != n)
{
outFile.write(reinterpret_cast<char*> (&ac), sizeof(account));
}
}
inFile.close();
outFile.close();
remove("account.dat");
rename("Temp.dat", "account.dat");
cout << "\n\nRecord Deleted ..";
}

void display_all()
{
system("CLS");
account ac;
ifstream inFile;
inFile.open("account.dat", ios::binary);
if (!inFile)
{
cout << "File could not be open !! Press any Key...";
return;
}
cout << "\n\n\t\tACCOUNT HOLDER LIST\n\n";
cout << "====================================================\n";
cout << "A/c no. NAME Type Balance\n";
cout << "====================================================\n";
while (inFile.read(reinterpret_cast<char*> (&ac), sizeof(account)))
{
ac.report();
}
inFile.close();
}

void deposit_withdraw(int n, int option)


{
int amt;
bool found = false;
account ac;
fstream File;
File.open("account.dat", ios::binary | ios::in | ios::out);
if (!File)
{
cout << "File could not be open !! Press any Key...";
return;
}
while (!File.eof() && found == false)
{
File.read(reinterpret_cast<char*> (&ac), sizeof(account));
if (ac.retacno() == n)
{
ac.show_account();
if (option == 1)
{
cout << "\n\n\t\t\tTO DEPOSITSS AMOUNT";
cout << "\n\n\t\t\tEnter The amount to be deposited: ";
cin >> amt;
ac.dep(amt);
}
if (option == 2)
{
cout << "\n\n\t\t\tTO WITHDRAW AMOUNT";
cout << "\n\n\t\t\tEnter The amount to be withdraw: ";
cin >> amt;
int bal = ac.retdeposit() - amt;
if (bal < 0)
cout << "Insufficience balance";
else
ac.draw(amt);
}
int pos = (-1) * static_cast<int>(sizeof(ac));
File.seekp(pos, ios::cur);//fn1353
File.write(reinterpret_cast<char*> (&ac), sizeof(account));
cout << "\n\n\t\t\tRecord Updated";
found = true;
}
}
File.close();
if (found == false)
cout << "\n\n\t\t\tRecord Not Found ";
}
Output

======================

BANK MANAGEMENT SYSTEM

======================

::MAIN MENU::

1. NEW ACCOUNT

2. DEPOSIT AMOUNT

3. WITHDRAW AMOUNT

4. BALANCE ENQUIRY

5. ALL ACCOUNT HOLDER LIST

6. CLOSE AN ACCOUNT

7. MODIFY AN ACCOUNT

8. EXIT
Select Your Option (1-8): 1

Enter the Account No. : 101

Please Enter the Name of the Account holder Here : John Doe

Enter Type of the Account (C/S) : S

Enter The Initial amount : 5000

Account Created..

Press Enter to continue...

======================

BANK MANAGEMENT SYSTEM

======================

::MAIN MENU::

1. NEW ACCOUNT

2. DEPOSIT AMOUNT

3. WITHDRAW AMOUNT

4. BALANCE ENQUIRY

5. ALL ACCOUNT HOLDER LIST

6. CLOSE AN ACCOUNT

7. MODIFY AN ACCOUNT

8. EXIT
Select Your Option (1-8): 2

Enter The account No. : 101

Account No. : 101

Account Holder Name : John Doe

Type of Account : S

Balance amount : 5000

TO DEPOSIT AMOUNT

Enter The amount to be deposited: 2000

Record Updated

Press Enter to continue...

======================

BANK MANAGEMENT SYSTEM

======================

::MAIN MENU::

1. NEW ACCOUNT

2. DEPOSIT AMOUNT

3. WITHDRAW AMOUNT
4. BALANCE ENQUIRY

5. ALL ACCOUNT HOLDER LIST

6. CLOSE AN ACCOUNT

7. MODIFY AN ACCOUNT

8. EXIT

Select Your Option (1-8): 3

Enter The account No. : 101

Account No. : 101

Account Holder Name : John Doe

Type of Account : S

Balance amount : 7000

TO WITHDRAW AMOUNT

Enter The amount to be withdraw: 1500

Record Updated

Press Enter to continue...

======================

BANK MANAGEMENT SYSTEM

======================
::MAIN MENU::

1. NEW ACCOUNT

2. DEPOSIT AMOUNT

3. WITHDRAW AMOUNT

4. BALANCE ENQUIRY

5. ALL ACCOUNT HOLDER LIST

6. CLOSE AN ACCOUNT

7. MODIFY AN ACCOUNT

8. EXIT

Select Your Option (1-8): 4

Enter The account No. : 101

BALANCE DETAILS

Account No. : 101

Account Holder Name : John Doe

Type of Account : S

Balance amount : 5500

Press Enter to continue...

======================

BANK MANAGEMENT SYSTEM


======================

::MAIN MENU::

1. NEW ACCOUNT

2. DEPOSIT AMOUNT

3. WITHDRAW AMOUNT

4. BALANCE ENQUIRY

5. ALL ACCOUNT HOLDER LIST

6. CLOSE AN ACCOUNT

7. MODIFY AN ACCOUNT

8. EXIT

Select Your Option (1-8): 5

ACCOUNT HOLDER LIST

====================================================

Account No. : 101

Account Holder Name : John Doe

Type of Account : S

Balance amount : 5500

====================================================

Press Enter to continue...

You might also like