内容发布更新时间 : 2025/1/5 20:25:11星期一 下面是文章的全部内容请认真阅读。
7.收获及体会
这次课程设计收获了好多,通过这次课设,又进一步巩固了课本上的知识,更加熟练的使用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出这些功能,提高了自己编程水平、分析问题、解决问题的能力。
8.参考文献 [1]高俊文。c/c++程序设计 。北京:人民邮电出版社,2005 [2]谭浩强。C++程序设计。北京:清华大学出版社,2004
9.附录
源程序:
#include
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< 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< while(b<=0) { cout<<\请输入正确的数字!\cout<<\→\cin>>b; } if(account[x]->get_money() 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; } float consumer::get_money() {return money;} void main() {YH yh; yh.functionshow(); } /*主界面显示*/ void YH::functionshow() { int n; do {system(\ load(); cout< cout<<\㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣\cout<<\㊣ ㊣\cout<<\㊣ 1. 开户 ㊣\cout<<\㊣ ㊣\cout<<\㊣ 2.账户登录 ㊣\cout<<\㊣ ㊣\cout<<\㊣ 3.账户注销 ㊣\cout<<\㊣ ㊣\cout<<\㊣ 4.退出系统 ㊣\cout<<\㊣ ㊣\cout<<\㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣\cout<<\→\cin>>n; while(n<1||n>4) {