面向对象程序设计大作业(C++) 下载本文

内容发布更新时间 : 2024/11/17 18:58:29星期一 下面是文章的全部内容请认真阅读。

comsumer 类说明表 名称 ID name money in address number Passwd 属性 数据成员 数据成员 数据成员 数据成员 数据成员 数据成员 数据成员 成员方法 成员方法 成员方法 成员方法 说明 用户账户数据 用户姓名 用户首次金额 用户身份证号 用户地址 用户电话 用户密码 存钱 取钱 修改密码 卡卡转账 savemoney() fetchmoney () change_passwd() get_money()

7.2 YH 类

class YH //银行类 {

public:

void set_account();//银行开户功能 void del_account(); //注销账户功能 void transfer(int); //转账功能

void enter_account(); //进入用户个人信息功能 oid addmoney(int,float);//存款功能 void exitYH();// 退出系统 void functionshow(); void save();

void load();// 功能界面 protected:

consumer *account[20];

static int acnum;//账户数

};

YH 类说明表 名称 acnum set_account () del_account () transfer () functionshow() addmoney() exitYH() 属性 数据成员 成员方法 成员方法 成员方法 成员方法 成员方法 成员方法 说明 账户数 开户功能 注销账户功能 转账功能 主界面显示功能 存钱功能 退出系统功能 8.程序源码

consumer.cpp

#include #include #include using namespace std; class consumer;

class YH //银行类 {

public:

void set_account();//银行开户功能 void del_account(); //注销账户功能 void transfer(int); //转账功能

void enter_account(); //进入用户个人信息功能 void addmoney(int,float);//存款功能 void exitYH();// 退出系统 void functionshow();

void save();

void load();// 功能界面 protected:

consumer *account[20];

static int acnum;//账户数 };

class consumer:public YH//用户类,继承银行类的属性 {

public:

friend class YH;

consumer(int id,string Name,int Number,double IN,string Company,string Address,string PassWord,float m) {

ID=id;name=Name;number=Number;in=IN;company=Company;address=Address;money=m;passwd=PassWord; }

consumer(){ID=0;name='0';number=0;in=0;company='0';address='0';money=0;passwd='0';}

int get_id(){return ID;} void savemoney();// 取钱

string get_passwd(){return passwd;}// 取得密码 void display(); void fetchmoney(); //取钱 void change_passwd();

void add_money(float);//计算余额 void dec_money(float);//计算余额 float get_money();//卡卡转帐 private:

int ID; //开户帐号

string passwd; // 用户密码 string name; // 用户姓名 float money; //开户金额

int number;string company;string address;double in; };

void YH::save()

{ofstream ofile(\以输出方式打开文件 ofstream outfile(\以输出方式打开文件 bankdat.dat接收从内存输出的数据

int n=0;

outfile<

{outfile<ID<<\把信息写入磁盘文件bankdat.dat outfile<money<<\outfile<name<<\outfile<passwd<<\outfile<number<<\outfile<company<<\outfile<address<<\outfile<in<<\}

outfile.close(); }

/*读入用户信息功能实现*/ void YH::load()

{ifstream infile(\以输入方式打开文件 if(!infile)

{cerr<<\读取错误,无资料中!\return; }

int n=0; int id,m;

string nam,passw;int number;string company;string address;double in; infile>>acnum;

for(n=0;n

{infile>>id;//从磁盘文件bankdat.dat读入信息 infile>>m; infile>>nam; infile>>passw; infile>>company; infile>>number; infile>>address; infile>>in;

account[n]->passwd; consumer * acc = new consumer(id,nam,number,in,company,address,passw,m); //每读入一个n开辟一段内存

account[n] = acc; //赋值首地址 }

infile.close();

cout<<\系统正在正常运行,您可以办理以下业务:\}

/*转账功能实现*/

void YH::transfer(int x) {int id;

cout<<\请输入帐号:\cin>>id;

int flag = 1; int i = 0;

while((i

if(id==account[i]->get_id()) flag = 0; else i++; }

if(flag) {

cout<<\帐号不存在!\return ; }

float b;

cout<>b;

while(b<=0) {

cout<<\请输入正确的数字!\cout<<\→\cin>>b; }

if(account[x]->get_money()

cout<<\对不起,金额不够!!\

else {account[x]->dec_money(b);account[i]->add_money(b);}

cout<<\转账成功!!\

return; }

/*账户金额计算*/

void consumer::add_money(float x) {money=x+money;}

void consumer::dec_money(float x) {money=money-x;}

void YH::addmoney(int x,float y)

{account[x]->money=account[x]->money-y; }