Mini project Banking Record System in C++
Mini project Banking Record System is a simple database project in C++. It is done using file handling mechanism in C++. The record of the customer can be added, updated, searched and deleted. It is a simple project made using console application of C++. This means, no graphics component are added. The main target user of this project is the C++ beginners who want to make the project in C++ and especially those who are interested in File handling. This project is a complete package to learn how to use a file as a database. The complete source code for the project is given below:
/********************************************************************************** Program Name : Banking Record System Language Used : C++ by Bibek Subedi Tribhuvan University, Nepal ***********************************************************************************/ #include<iostream> #include<fstream> #include<cstdlib> using std::cout; using std::cin; using std::endl; using std::fstream; using std::ofstream; using std::ifstream; using std::ios; class account_query { private: char account_number[20]; char firstName[10]; char lastName[10]; float total_Balance; public: void read_data(); void show_data(); void write_rec(); void read_rec(); void search_rec(); void edit_rec(); void delete_rec(); }; void account_query::read_data() { cout<<"\nEnter Account Number: "; cin>>account_number; cout<<"Enter First Name: "; cin>>firstName; cout<<"Enter Last Name: "; cin>>lastName; cout<<"Enter Balance: "; cin>>total_Balance; cout<<endl; } void account_query::show_data() { cout<<"Account Number: "<<account_number<<endl; cout<<"First Name: "<<firstName<<endl; cout<<"Last Name: "<<lastName<<endl; cout<<"Current Balance: Rs. "<<total_Balance<<endl; cout<<"-------------------------------"<<endl; } void account_query::write_rec() { ofstream outfile; outfile.open("record.bank", ios::binary|ios::app); read_data(); outfile.write(reinterpret_cast<char *>(this), sizeof(*this)); outfile.close(); } void account_query::read_rec() { ifstream infile; infile.open("record.bank", ios::binary); if(!infile) { cout<<"Error in Opening! File Not Found!!"<<endl; return; } cout<<"\n****Data from file****"<<endl; while(!infile.eof()) { if(infile.read(reinterpret_cast<char*>(this), sizeof(*this))>0) { show_data(); } } infile.close(); } void account_query::search_rec() { int n; ifstream infile; infile.open("record.bank", ios::binary); if(!infile) { cout<<"\nError in opening! File Not Found!!"<<endl; return; } infile.seekg(0,ios::end); int count = infile.tellg()/sizeof(*this); cout<<"\n There are "<<count<<" record in the file"; cout<<"\n Enter Record Number to Search: "; cin>>n; infile.seekg((n-1)*sizeof(*this)); infile.read(reinterpret_cast<char*>(this), sizeof(*this)); show_data(); } void account_query::edit_rec() { int n; fstream iofile; iofile.open("record.bank", ios::in|ios::binary); if(!iofile) { cout<<"\nError in opening! File Not Found!!"<<endl; return; } iofile.seekg(0, ios::end); int count = iofile.tellg()/sizeof(*this); cout<<"\n There are "<<count<<" record in the file"; cout<<"\n Enter Record Number to edit: "; cin>>n; iofile.seekg((n-1)*sizeof(*this)); iofile.read(reinterpret_cast<char*>(this), sizeof(*this)); cout<<"Record "<<n<<" has following data"<<endl; show_data(); iofile.close(); iofile.open("record.bank", ios::out|ios::in|ios::binary); iofile.seekp((n-1)*sizeof(*this)); cout<<"\nEnter data to Modify "<<endl; read_data(); iofile.write(reinterpret_cast<char*>(this), sizeof(*this)); } void account_query::delete_rec() { int n; ifstream infile; infile.open("record.bank", ios::binary); if(!infile) { cout<<"\nError in opening! File Not Found!!"<<endl; return; } infile.seekg(0,ios::end); int count = infile.tellg()/sizeof(*this); cout<<"\n There are "<<count<<" record in the file"; cout<<"\n Enter Record Number to Delete: "; cin>>n; fstream tmpfile; tmpfile.open("tmpfile.bank", ios::out|ios::binary); infile.seekg(0); for(int i=0; i<count; i++) { infile.read(reinterpret_cast<char*>(this),sizeof(*this)); if(i==(n-1)) continue; tmpfile.write(reinterpret_cast<char*>(this), sizeof(*this)); } infile.close(); tmpfile.close(); remove("record.bank"); rename("tmpfile.bank", "record.bank"); } int main() { account_query A; int choice; cout<<"***Acount Information System***"<<endl; while(true) { cout<<"Select one option below "; cout<<"\n\t1-->Add record to file"; cout<<"\n\t2-->Show record from file"; cout<<"\n\t3-->Search Record from file"; cout<<"\n\t4-->Update Record"; cout<<"\n\t5-->Delete Record"; cout<<"\n\t6-->Quit"; cout<<"\nEnter your choice: "; cin>>choice; switch(choice) { case 1: A.write_rec(); break; case 2: A.read_rec(); break; case 3: A.search_rec(); break; case 4: A.edit_rec(); break; case 5: A.delete_rec(); break; case 6: exit(0); break; default: cout<<"\nEnter corret choice"; exit(0); } } system("pause"); return 0; }
Can U Provide Synopsis For This ASAP
good
nice..thanks
if you are using windows it works only on option 1 which is adding record
25 error
show
too many errors in this program……………………………………….
HOW I RUN