⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bank.txt

📁 bank apploication about banling system ..online banking syastem
💻 TXT
📖 第 1 页 / 共 4 页
字号:
		location = (recno-1) * sizeof(initial) ;
		file.seekp(location) ;
		file.write((char *) this, sizeof(initial)) ;
		file.close() ;
}

//**********************************************************************
// CLASS INITIAL :: THIS FUNCTION MODIFIES THE RECORD FOR THE GIVEN 
DATA
//                                       IN THE FILE INITIAL.DAT
//**********************************************************************

void initial :: modify_account(int t_accno, char t_name[30], char
t_address[60])
{
		int recno ;
		recno = recordno(t_accno) ;
		fstream file ;
		file.open("INITIAL.DAT", ios::out | ios::ate|ios::binary) ;
		strcpy(name,t_name) ;
		strcpy(address,t_address) ;
		int location ;
		location = (recno-1) * sizeof(initial) ;
		file.seekp(location) ;
		file.write((char *) this, sizeof(initial)) ;
		file.close() ;
}

//************************************************************************
//CLASS INITIAL :: THIS FUNCTION GIVE THE DATA TO MODIFY THE RECORD IN 
THE
//                                     FILE INITIAL.DAT
//************************************************************************

void initial :: modify(void)
{
		clrscr() ;
		char t_acc[10] ;
		int t, t_accno ;
		gotoxy(1,1) ;
		cout <<"PRESS (0) TO EXIT" ;
		gotoxy(5,5) ;
		cout <<"Enter the account no. " ;
		gets(t_acc) ;
		t = atoi(t_acc) ;
		t_accno = t ;
		if (t_accno == 0)
				 return ;
		clrscr() ;
		if (!found_account(t_accno))
		{
				 gotoxy(5,5) ;
				 cout <<"7Account not found" ;
				 getch() ;
				 return ;
		}
		shape s ;
		s.box(2,2,79,24,218) ;
		s.line_hor(3,78,4,196) ;
		s.line_hor(3,78,22,196) ;
		gotoxy(1,1) ;
		cout <<"PRESS (0) TO EXIT" ;
		textbackground(WHITE) ;
		gotoxy(3,3) ;
		for (int i=1; i<=76; i++) cprintf(" ") ;
		textbackground(BLACK) ;
		textcolor(BLACK+BLINK) ; textbackground(WHITE) ;
		gotoxy(30,3) ;
		cprintf("MODIFY ACCOUNT SCREEN") ;
		textcolor(LIGHTGRAY) ; textbackground(BLACK) ;
		int d1, m1, y1 ;
		struct date d;
		getdate(&d);                                             //Inbuilt
function to display current
		d1 = d.da_day ;                                                   
//date
of the system
		m1 = d.da_mon ;
		y1 = d.da_year ;
		gotoxy(62,5) ;
		cout <<"Date: "<<d1
<<"/" <<m1 <<"/" <<y1 ;
		char ch ;
		display(t_accno) ;
		account a ;
		do
		{
				 a.clear(5,13) ;
				 gotoxy(5,13) ;
				 cout <<"Modify this account (y/n): " ;
				 ch = getche() ;
				 if (ch == '0')
						  return ;
				 ch = toupper(ch) ;
		} while (ch != 'N' && ch != 'Y') ;
		if (ch == 'N')
				 return ;
		int modified=0, valid ;
		char t_name[30], t_address[60] ;
		gotoxy(5,15) ;
		cout <<"Name    : " ;
		gotoxy(5,16) ;
		cout <<"Address : " ;
		do
		{
				 a.clear(15,15) ;
				 a.clear(5,23) ;
				 gotoxy(5,23) ;
				 cout <<"ENTER NAME or PRESS <ENTER> FOR NO CHANGE" ;
				 valid = 1 ;
				 gotoxy(15,15) ;
				 gets(t_name) ;
				 strupr(t_name) ;
				 if (t_name[0] == '0')
						  return ;
				 if (strlen(t_name) > 25)
				 {
						  valid = 0 ;
						  gotoxy(5,23) ;
						  cprintf("7NAME SHOULD NOT BE GREATER THAN 25") ;
						  getch() ;
				 }
		} while (!valid) ;
		if (strlen(t_name) > 0)
				 modified = 1 ;
		do
		{
				 a.clear(15,16) ;
				 a.clear(5,23) ;
				 gotoxy(5,23) ;
				 cout <<"ENTER ADDRESS or PRESS <ENTER> FOR NO CHANGE" ;
				 valid = 1;
				 gotoxy(15,16) ;
				 gets(t_address) ;
				 strupr(t_address) ;
				 if (t_address[0] == '0')
						  return ;
				 if (strlen(t_address) > 55)
				 {
						  valid = 0 ;
						  gotoxy(5,23) ;
						  cprintf("7SHOULD NOT BE BLANK OR GREATER THAN 55") ;
						  getch() ;
				 }
		} while (!valid) ;
		if (strlen(t_address) > 0)
				 modified = 1 ;
		if (!modified)
				 return ;
		a.clear(5,23) ;
		do
		{
				 a.clear(5,18) ;
				 gotoxy(5,18) ;
				 cout <<"Do you want to save changes (y/n): " ;
				 ch = getche() ;
				 if (ch == '0')
						  return ;
				 ch = toupper(ch) ;
		} while (ch != 'N' && ch != 'Y') ;
		if (ch == 'N')
				 return ;
		modify_account(t_accno,t_name,t_address) ;
		gotoxy(5,21) ;
		cout <<"7Record Modified" ;
		gotoxy(5,23) ;
		cout <<"press a key to continue..." ;
		getch() ;
}

//****************************************************************
// CLASS ACCOUNT :: THIS FUNCTION CLEAR THE GIVEN ROW AND COLUMNS
//****************************************************************
void account :: clear(int col, int row)
{
		for (int i=col; i<=78; i++)
		{
				 gotoxy(i,row) ;
				 cout <<" " ;
		}
}

//*****************************************************************
// CLASS ACCOUNT :: THIS FUNCTION ADDS THE GIVEN DATA INTO THE FILE
//                             BANKING.DAT
//*****************************************************************
void account :: add_to_file(int t_accno, int d1, int m1, int y1, char
t_tran, char t_type[10], float t_interest, float t_amount, float
t_balance)
{
		fstream file ;
		file.open("BANKING.DAT", ios::app|ios::binary) ;
		accno = t_accno ;
		dd = d1 ;
		mm = m1 ;
		yy = y1 ;
		tran = t_tran ;
		strcpy(type,t_type) ;
		interest = t_interest ;
		amount = t_amount ;
		balance = t_balance ;
		file.write((char *) this, sizeof(account)) ;
		file.close() ;
}

//************************************************************************

// CLASS ACCOUNT :: THIS FUNCTION DELETES THE RECORD FOR GIVIN ACCOUNT 
NO.
//                                      FROM FILE BANKING.DAT
//************************************************************************


void account :: delete_account(int t_accno)
{
		fstream file ;
		file.open("BANKING.DAT", ios::in|ios::binary) ;
		fstream temp ;
		temp.open("temp.dat", ios::out|ios::binary) ;
		file.seekg(0,ios::beg) ;
		while ( !file.eof() )
		{
				 file.read((char *) this, sizeof(account)) ;
				 if ( file.eof() )
						   break ;
				 if ( accno != t_accno )
						  temp.write((char *) this, sizeof(account)) ;
		}
		file.close() ;
		temp.close() ;
		file.open("BANKING.DAT", ios::out|ios::binary) ;
		temp.open("temp.dat", ios::in|ios::binary) ;
		temp.seekg(0,ios::beg) ;
		while ( !temp.eof() )
		{
				 temp.read((char *) this, sizeof(account)) ;
				 if ( temp.eof() )
						  break ;
				 file.write((char *) this, sizeof(account)) ;
		}
		file.close() ;
		temp.close() ;
}

//**********************************************************
// THIS FUNCTION ACCEPTS THE DATA TO ADD RECORDS IN THE
// FILE BANKING.DAT
//**********************************************************
void account :: new_account(void)
{
		char ch ;
		int i, valid ;
		clrscr() ;
		initial ini ;
		shape s ;
		s.box(2,2,79,24,218) ;
		s.line_hor(3,78,4,196) ;
		s.line_hor(3,78,22,196) ;
		gotoxy(71,1) ;
		cout <<"<0>=Exit" ;
		textbackground(WHITE) ;
		gotoxy(3,3) ;
		for (i=1; i<=76; i++) cprintf(" ") ;
		textbackground(BLACK) ;
		textcolor(BLACK+BLINK) ; textbackground(WHITE) ;
		gotoxy(32,3) ;
		cprintf("OPEN NEW ACCOUNT") ;
		textcolor(LIGHTGRAY) ; textbackground(BLACK) ;
		int d1, m1, y1 ;
		struct date d;
		getdate(&d);
		d1 = d.da_day ;
		m1 = d.da_mon ;
		y1 = d.da_year ;
		int t_accno ;
		t_accno = ini.last_accno() ;
		t_accno++ ;
		if (t_accno == 1)
		{
				 ini.add_to_file(t_accno,"abc","xyz",1.1) ;
				 ini.delete_account(t_accno) ;
				 add_to_file(t_accno,1,1,1997,'D',"INITIAL",1.1,1.1,1.1) ;
				 delete_account(t_accno) ;
		}
		char t_name[30], t[10], t_address[60] ;
		float t_bal=0.0, t_balance=0.0 ;
		gotoxy(5,6) ;
		cout <<"Date : "<<d1
<<"/" <<m1 <<"/" <<y1 ;
		gotoxy(5,8) ;
		cout <<"Account no. # " <<t_accno ;
		gotoxy(5,10) ;
		cout <<"Name    : " ;
		gotoxy(5,11) ;
		cout <<"Address : " ;
		gotoxy(5,12) ;
		cout <<"Name of Verifying person : " ;
		gotoxy(5,14) ;
		cout <<"Initial Deposit : " ;
		do
		{
				 clear(15,10) ;
				 clear(5,23) ;
				 gotoxy(5,23) ;
				 cout <<"ENTER NAME OF THE PERSON" ;
				 valid = 1 ;
				 gotoxy(15,10) ;
				 gets(t_name) ;
				 strupr(t_name) ;
				 if (t_name[0] == '0')
						  return ;
				 if (strlen(t_name) == 0 || strlen(t_name) > 25)
				 {
						  valid = 0 ;
						  gotoxy(5,23) ;
						  cprintf("7NAME SHOULD NOT BE BLANK OR GREATER THAN 25") ;
						  getch() ;
				 }
		} while (!valid) ;
		do
		{
				 clear(15,11) ;
				 clear(5,23) ;
				 gotoxy(5,23) ;
				 cout <<"ENTER ADDRESS OF THE PERSON" ;
				 valid = 1 ;
				 gotoxy(15,11) ;
				 gets(t_address) ;
				 strupr(t_address) ;
				 if (t_address[0] == '0')
						  return ;
				 if (strlen(t_address) == 0 || strlen(t_address) > 55)
				 {
						  valid = 0 ;
						  gotoxy(5,23) ;
						  cprintf("7SHOULD NOT BLANK OR GREATER THAN 55") ;
						  getch() ;
				 }
		} while (!valid) ;
		do
		{
				 char vari[30] ;
				 clear(31,12) ;
				 clear(5,23) ;
				 gotoxy(5,23) ;
				 cout <<"ENTER NAME OF THE VERIFING PERSON" ;
				 valid = 1 ;
				 gotoxy(31,12) ;
				 gets(vari) ;
				 strupr(vari) ;
				 if (vari[0] == '0')
						  return ;
				 if (strlen(vari) == 0 || strlen(vari) > 25)
				 {
						  valid = 0 ;
						  gotoxy(5,23) ;
						  cprintf("7SHOULD NOT BLANK OR GREATER THAN 25") ;
						  getch() ;
				 }
		} while (!valid) ;
		do
		{
				 clear(23,14) ;
				 clear(5,23) ;
				 gotoxy(5,23) ;
				 cout <<"ENTER INITIAL AMOUNT TO BE DEPOSIT" ;
				 valid = 1 ;
				 gotoxy(23,14) ;
				 gets(t) ;
				 t_bal = atof(t) ;
				 t_balance = t_bal ;
				 if (t[0] == '0')
						  return ;
				 if (t_balance < 500)
				 {
						  valid = 0 ;
						  gotoxy(5,23) ;
						  cprintf("7SHOULD NOT LESS THAN 500          ") ;
						  getch() ;
				 }
		} while (!valid) ;
		clear(5,23) ;
		do
		{
				 clear(5,17) ;
				 valid = 1 ;
				 gotoxy(5,17) ;
				 cout <<"Do you want to save the record (y/n) : " ;
				 ch = getche() ;
				 if (ch == '0')
						  return ;
				 ch = toupper(ch) ;
		} while (ch != 'N' && ch != 'Y') ;
		if (ch == 'N')
				 return ;
		float t_amount, t_interest ;
		t_amount = t_balance ;
		t_interest = 0.0 ;
		char t_tran, t_type[10] ;
		t_tran = 'D' ;
		strcpy(t_type,"INITIAL") ;
		ini.add_to_file(t_accno,t_name,t_address,t_balance) ;
add_to_file(t_accno,d1,m1,y1,t_tran,t_type,t_interest,t_amount,t_balance)
;
}


//**********************************************************
// THIS FUNCTION DRAWS THE BOX FOR DISPLAYING RECORD FROM
// FILE BANKING.DAT
//**********************************************************
void account :: box_for_display(int t_accno)
{
		shape s ;
		s.box(2,1,79,25,218) ;
		s.line_hor(3,78,4,196) ;
		s.line_hor(3,78,6,196) ;
		s.line_hor(3,78,23,196) ;
		textbackground(WHITE) ;
		gotoxy(3,5) ;
		for (int i=1; i<=76; i++) cprintf(" ") ;
		textbackground(BLACK) ;
		textcolor(BLACK) ; textbackground(WHITE) ;
		gotoxy(4,5) ;
		cprintf("DATE                   PARTICULAR                 DEPOSIT
WITHDRAW   INTEREST    BALANCE") ;
		textcolor(LIGHTGRAY) ; textbackground(BLACK) ;
		int d1, m1, y1 ;
		struct date d;
		getdate(&d);
		d1 = d.da_day ;
		m1 = d.da_mon ;
		y1 = d.da_year ;
		gotoxy(63,2) ;
		cout <<"Date: " <<d1
<<"/" <<m1 <<"/" <<y1 ;
		gotoxy(4,2) ;
		cout <<"Account no. " <<t_accno ;
		initial ini ;
		char t_name[30] ;
		strcpy(t_name,ini.return_name(t_accno)) ;
		char t_address[60] ;
		strcpy(t_address,ini.return_address(t_accno)) ;
		gotoxy(25,2) ;
		cout <<t_name ;
		gotoxy(25,3) ;
		cout <<t_address ;
}

//**********************************************************
// THIS FUNCTION DISPLAY RECORD FROM THE FILE BANKING.DAT
//**********************************************************
void account :: display_account(void)
{
		clrscr() ;
		char t_acc[10] ;
		int t, t_accno ;
		gotoxy(1,1) ;
		cout <<"PRESS (0) TO EXIT" ;
		gotoxy(5,5) ;
		cout <<"Enter the account no. " ;
		gets(t_acc) ;
		t = atoi(t_acc) ;
		t_accno = t ;
		if (t_accno == 0)
				 return ;
		clrscr() ;
		initial ini ;
		if (!ini.found_account(t_accno))
		{
				 gotoxy(5,5) ;
				 cout <<"7Account not found" ;
				 getch() ;
				 return ;
		}
		box_for_display(t_accno) ;
		int row=7, flag = 0 ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -