C语言设计银行账户模拟程序

C语言设计银行账户模拟程序,第1张

能传附件吗?不知道怎么传。我就贴给你吧。

#include<iostream>

#include<string>

#include<fstream>

using namespace std

class account //atm账户

{

private:

string CardNum,Psw//卡号、密码

float Balance

public:

friend class ATM//atm为友元

/*void get_cardnum()

void get_psw()

void get_balance()*/

account(){}//<---------------------here

account(string num,string passwd,float balance)//构造函数

void Write()

}

class ATM //atm机类

{

private:

int times

account *ac

public:

ATM()void load( account *act )//装入账户信息

void welcome()//初始欢迎信息

bool check_passwd( string pwd )//验证当前账户信息的密码

void change_psw()//修改密码

void get_money()//取钱塌毁毕

float check_balance()//查账

void tran()//转账

void exit()//退卡

void function_show()//显示功能菜单

void lock()//锁定账户

}

/*

* account::account( string num, string passwd, float balance )

* account类构造函数

* 用途: 使用给定的账号密码等信团芹息初始化一个account对象

* 参数: string num 账号

* string passwd 密码

* float balance

*/

account::account( string num, string passwd, float balance )

{

CardNum = num

Psw = passwd

Balance = balance

}

//atm类构造函数

/*account::get_cardnum()

{

return CardNum

}

account::get_psw()

{

return Psw

}

account::get_balance()

{

return Balance

}*/

void account::Write()

{

ofstream outfile("atm.txt",ios::binary)//<-----------------here

outfile.write((char *)(this),sizeof(account))//<-------------here

outfile.close()

}

ATM::ATM()

{

}

/*

* void ATM::load( account *act )

* ATM类装入账户信息函数

* 用途: 载入指定的account对象,模拟atm插卡过程

* 参数: account *act 要载入的account对象指针

*/

void ATM::load( account *act )

{

ac = act

}

/*

* void ATM::welcome()

* ATM类显示初始欢迎信息函数

* 用途: 显示欢迎信息,提示密码输入并验证

* 参数: 无

*

*/

void ATM::welcome()

{

times = 0//记录密码输入错误次数

cout <<"Welcome to use the China Bank ATM!" <<endl

string pwd//这一个语句应该上移的,一般来说数据的定义和初始化一块写在开头,下面才是各种 *** 余野作的语句

while( times <3 )

{

cout <<"Please enter the password: " <<endl

cin >>pwd

if( !check_passwd( pwd ) )

{

cout <<"The password you entered is wrong, please enter again" <<endl

times++

}

else

{

function_show()

break

}

}

if( times >= 3 )

lock()//输入密码错误次数超过(等于)3次,锁定账户

}

bool ATM::check_passwd( string pwd )

{

if( pwd == ac->Psw )

return true

else

return false

}

void ATM::function_show()

{

int n

cout <<"(1) Change Password" <<endl

cout <<"(2) Get Money" <<endl

cout <<"(3) Check Balance" <<endl

cout <<"(4) Transfer accounts" <<endl

cout <<"(5) Exit" <<endl

cin >>n

while(n != 1 &&n != 2 &&n != 3 &&n != 4 &&n != 5) //这样就可以完全限制用户的输入

{

cout <<"Please enter the right number" <<endl

cin >>n

}

switch( n )

{

case 1:

change_psw()

break

case 2:

get_money()

break

case 3:

cout <<check_balance() <<endl

break

case 4:

tran()

break

case 5:

exit()

break

}

}

void ATM::lock()

{

cout <<"Sorry! Your card has been confiscated!" <<endl

exit()

}

void ATM::change_psw()

{

string old_psw, new_psw1, new_psw2

int t = 0

while( t <3 )

{

cout <<"Please enter the old password: "

cin >>old_psw

if( !check_passwd( old_psw ) )

{

cout <<"The password you enter is wrong, please enter again" <<endl

t++

}

else

{

cout <<"Please enter the new password: "

cin >>new_psw1

cout <<"Please enter the new password again: "

cin >>new_psw2

if( new_psw1 == new_psw2 )

{

ac ->Psw = new_psw2

cout <<"You have change your password successfully!" <<endl

break

}

else

cout <<"Sorry, entered passwords do not match! " <<endl

}

}

//}//<----------------------here

if( t >= 3 )

{

cout <<"Sorry, you have inputed the wrong password for three times and more! " <<endl

}

}

void ATM::get_money()

{

float money

cout <<"Please enter the amount of money you want to get: " <<endl

cin >>money

while( money >ac ->Balance)

{

cout <<"Your balance is not enough, please enter again" <<endl

cin >>money

}

ac ->Balance = ac ->Balance - money

}

float ATM::check_balance()

{

return ac ->Balance

}

void ATM::tran()

{

account a[5]

string cn

float m

cout<<"please enter the cardnum of the account you want to transfer money to"<<endl

cin>>cn

ifstream infile("atm.txt",ios::binary)

infile.seekg(0,ios::beg)

for(int i=0i<5i++)

{

infile.read((char *)(&a[i]),sizeof(a[i]))

}

for(int j=0j<5j++)

{

if(cn==a[i].CardNum)

{

cout<<"please enter the amount of money"<<endl

cin>>m

while(m>ac->Balance)

{

cout<<"there is no enough money in your account,please enter again"<<endl

cin>>m

}

ac->Balance=ac->Balance-m

a[i].Balance=a[i].Balance+m

ofstream outfile("atm.txt",ios::binary)

outfile.seekp(i*sizeof(a[0]),ios::beg)

outfile.write((char *) &a[i],sizeof(a[i]))

}

}

if(j>=5)

{

cout<<"the account doesn't exit"<<endl

}

}

void ATM::exit()

{

cout <<"Please take your card!" <<endl

}

int main()

{

account a[5]={account("10001","1111",5000.0f),account("10002","2222",10000.0f),account("10003","3333",15000.0f),

account("10004","4444",20000.0f),account("10005","5555",25000.0f)}

account temp( "10001", "1111", 5000.0f )

ATM atm

atm.load( &temp )

atm.welcome()

return 0

}

苹果手机银行模拟器下载过程。晌芦

1、在苹果手机上打开AppStore应用程序。

2、在搜索框中输入银行迟兆模拟器,点击获取,安装按钮。

3、输入您的AppleID密码就完成了。码谨租


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12260297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存