CODE
#include<fstream.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<iostream>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
//#include<string>
using namespace std;
//using std::string;
void deposit(void);
void addrecord();
void delrecord();
void modrecord();
void disprecord();
void dispall();
void withdraw();
float w,z;
class account
{
int accountno,cls;
//string name;
char name[30];
char type;
double deposit,withdraw;
public:
account()
{
deposit=withdraw=0;
}
int giveaccountno()
{
return accountno;
}
void getdata(int mrno)
{
accountno=mrno+1;
cout<<"ACCOUNT NUMBER : ";
cout<<accountno<<" "<<endl;
cout<<"ENTER YOUR NAME : ";
cin>>name;
cout<<" ";
cout<<"ENTER TYPE OF ACCOUNT SAVING(s)/CURRENT© : ";
cin>>type;
cout<<" ";
cout<<"ENTER INITIAL AMOUNT :RM ";
cin>>deposit;
cout<<" ";
}
void withdrawal(int m)
{
cout<<"AMOUNT BEFORE WITHDRAWING::Rs "<<deposit<<"";
deposit=deposit-m;
cout<<"AMOUNT AFTER WITHDRAWING::Rs "<<deposit;
}
void deposital(int m)
{
cout<<"AMOUNT BEFORE DEPOSIT::Rs "<<deposit<<"";
deposit=deposit+m;
cout<<"AMOUNT AFTER DEPOSIT ::Rs "<<deposit;
}
void dispdata()
{
int scrnt=0;
if(scrnt==1)
{
//clrscr();
cout<<"DISPLAY ALL MENU ";
scrnt=0;
}
cout<<"ACCOUNT NUMBER ::";
cout<<accountno;
cout<<"NAME OF DEPOSITER ::";
cout<<name;
cout<<"TYPE OF ACCOUNT SAVING(s)/CURRENT© :: ";
cout<<type;
cout<<"BALANCE ::Rs ";
cout<<deposit;
scrnt++;
}
};
int main()
{
int menuch;
do
{
//clrscr();
//textcolor(14);
//textbackground(1);
cout<<"**********MAIN MENU**********"<<endl;
cout<<"1.NEW ACCOUNT"<<endl;
cout<<"2.CLOSE AN ACCOUNT"<<endl;
cout<<"3.MODIFY AN ACCOUNT"<<endl;
cout<<"4.DISPLAY AN ACCOUNT"<<endl;
cout<<"5.DISPLAY ALL RECORDS"<<endl;
cout<<"6.WITHDRAW AMOUNT"<<endl;
cout<<"7.DEPOSIT AMOUNT"<<endl;
cout<<"8.EXIT"<<endl<<endl;
cout<<"ENTER YOUR CHOICE: ";
cin>>menuch;
switch(menuch)
{
case 1:addrecord();
break;
case 2:delrecord();
break;
case 3:modrecord();
break;
case 4:disprecord();
break;
case 5:dispall();
break;
case 6:withdraw();
break;
case 7:deposit();
break;
}
}while(menuch!=8);
}
void addrecord()
{
account obj_1,obj_2;
fstream fout;
fout.open("banking.txt",ios::in|ios::binary);
if(!fout)
{
cout<<"FILE OPEN ERROR ";
getch();
return;
}
int recsize=sizeof(account);
fout.seekg(0,ios::end);
fout.seekg(-1*recsize,ios::cur);
fout.read((char*)&obj_1,recsize);
int mrno=obj_1.giveaccountno();
fout.close();
//clrscr ();
cout<<"CREATING NEW ACCOUNT"<<endl;
obj_2.getdata(mrno);
fout.open("banking.txt");
if(!fout)
{
cout<<"FILE OPEN ERROR ";
getch();
return;
}
fout.write((char*)&obj_2,recsize);
cout<<"RECORD ADDED TO DATABASE"<<"Press any key to continue... ";
getch();
fout.close();
}
void dispall()
{
account obj_3;
fstream fout;
int recsize=sizeof(account);
int countrec=0;
//clrscr();
cout<<"DISPLAY ALL MENU";
fout.open("banking.txt",ios::in);
if(!fout)
{
cout<<"FILE OPEN ERROR ";
getch();
return;
}
while(fout.read((char*)&obj_3,recsize))
{
obj_3.dispdata();
countrec++;
cout<<"PRESS ANY KEY FOR NEXT....";
getch();
}
//clrscr();
cout<<"END OF FILE.TOTALNUMBER OF RECORDS..."<<countrec;
cout<<"Press any key......";
getch();
fout.close();
}
void disprecord()
{
account obj_4;
fstream fout;
int mrno,flag=0;
int recsize=sizeof(account);
//clrscr();
cout<<"DISPLAY A RECORD MENU ";
fout.open("banking.txt",ios::in);
if(!fout)
{
cout<<"FILE OPEN ERROR ";
getch();
return;
}
cout<<"ENTER THE ACCOUNT NUMBER ";
cin>>mrno;
while(fout.read((char*)&obj_4,recsize))
{
if (obj_4.giveaccountno()==mrno)
{
obj_4.dispdata();
cout<<"Press any key.....";
flag=1;break;
}
}
if(flag==0)
{
cout<<"NO SUCH ACCOUNT EXIST ";
cout<<"Press any key......";
}
getch();
fout.close();
}
void delrecord()
{
account obj_5;
fstream fout,temp;
int mrno,flag;
int recsize=sizeof(account);
//clrscr();
cout<<"CLOSE ACCOUNT MENU ";
fout.open("banking.txt",ios::in);
if(!fout)
{
cout<<"FILE OPEN ERROR ";
getch();
return;
}
temp.open("temp.txt",ios::app);
if(!temp)
{
cout<<"FILE OPEN ERROR ";
getch();
return;
}
cout<<"ENTER THE ACCOUNT NUMBER ";
cin>>mrno;
while(fout.read((char*)&obj_5,recsize))
{
if(obj_5.giveaccountno()==mrno)
{
obj_5.dispdata();
char confirm;
cout<<"ARE YOU SURE TO DELETE IT(Y/N)..";
cin>>confirm;
if(confirm=='Y'||confirm=='y')
{
fout.read((char*)&obj_5,recsize);
cout<<"RECORD DELETED FORM DATABASE";
cout<<"press any key....";
flag=1;
if(!fout)
break;
}
flag=1;
}
temp.write((char*)&obj_5,recsize);}
fout.close();
temp.close();
remove("banking.txt");
rename("temp.txt","banking.txt");
if(flag==0)
{
cout<<"NO SUCH ACCOUNT EXIST";
cout<<"Press any key.....";
}
getch();
}
void modrecord()
{
account obj_6;
fstream fout;
int mrno,flag=0;
int recsize=sizeof(account);
//clrscr();
cout<<"MODIFY RECORD MENU";
fout.open("banking.txt");
if(!fout)
{
cout<<"FILE OPEN ERROR ";
getch();
return;
}
fout.seekg(ios::beg);
cout<<"ENTER RECORD NUMBER ";
cin>>mrno;
while(fout.read((char*)&obj_6,recsize))
{
if(obj_6.giveaccountno()==mrno)
{
//clrscr();
cout<<"MODIFY MENU ";
obj_6.dispdata();
int tmprno=obj_6.giveaccountno()-1;
account obj_7;
cout<<"ENTER NEW DATA";
obj_7.getdata(tmprno);
char confirm;
cout<<"ARE YOU SURE(Y/N)";
cin>>confirm;
if(confirm=='Y'||confirm=='y')
{
fout.seekg(-1*recsize,ios::cur);
fout.write((char*)&obj_7,recsize);
cout<<"RECORD MODIFIED";
cout<<"Press any key.....";
flag=1;
}
}
if(flag==0)
{
cout<<"NO SUCH RECORD EXIST";
cout<<"Press any key.....";
}
}
fout.close();
getch();
}
void withdraw()
{
account obj_9;
fstream fout;
int mrno=0;
int recsize=sizeof(account);
//clrscr();
cout<<"WITHDRAWAL MENU";
fout.open("banking.txt",ios::in|ios::out);
if(!fout)
{
cout<<"FILE OPEN ERROR ";
getch();
return;
}
fout.seekg(ios::beg);
cout<<"ENTER ACCOUNT NUMBER ";
cin>>mrno;
while(fout.read((char*)&obj_9,recsize))
{
if(obj_9.giveaccountno()==mrno)
{
//clrscr();
cout<<"ENTER THE AMOUNT TO BE WITHDRAWED::Rs ";
cin>>w;
obj_9.withdrawal(w);
fout.seekg(-1*recsize,ios::cur);
fout.write((char*)&obj_9,recsize);
}
}
fout.close();
getch();
}
void deposit(void)
{
account obj_10;
fstream fout;
int mrno=0;
int recsize=sizeof(account);
//clrscr();
cout<<"DEPOSITAL MENU";
fout.open("banking.txt",ios::in|ios::out);
if(!fout)
{
cout<<"FILE OPEN ERROR ";
getch();
return;
}
fout.seekg(ios::beg);
cout<<"ENTER ACCOUNT NUMBER ";
cin>>mrno;
while(fout.read((char*)&obj_10,recsize))
{
if(obj_10.giveaccountno()==mrno)
{
//clrscr();
cout<<"ENTER THE AMOUNT TO BE DEPOSITED::Rs ";
cin>>w;
obj_10.deposital(w);
fout.seekg(-1*recsize,ios::cur);
fout.write((char*)&obj_10,recsize);
}
}
fout.close();
getch();
}
my question is:
WHen i run this system, the menu will appear. then if i type 1, suppose the system must create a new account. it will prompt the user to enter their name and then the deposit amount. When i enter the amount, its saying file open error.
Tell me what shud be in the banking.txt file? it supposed to write the new record in the file right? but it not...its giving me this error. pls help me