C++程序-银行管理系统_第1页
C++程序-银行管理系统_第2页
C++程序-银行管理系统_第3页
C++程序-银行管理系统_第4页
C++程序-银行管理系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上设计性综合性实验实验课题名称: 银行管理系统 院系:计算机科学与技术学院 专业:计算机科学与技术 课程: C+程序设计 教师: 陈博 学号: 姓名: 2009 至 2010 学年度 下 学期实验名称:银行管理系统实验性质:设计性综合性实验器材:有VC+6.0环境的PC实验目的:通过实验了解C+语言的基本使用方法,熟悉C+程序的一些应用实例。实验任务:运用数组知识,学习类的设计和使用,友元类的使用,析构函数的使用,巩固选择语句和开关语句的用法,运用磁盘文件的输入和输出及文件的访问等知识点。实验内容、过程及结果:问题描述:模拟银行管理系统,运用C+知识编写一个程序来实现用

2、户维护、取款、存款、转帐及余额查询、退出等功能。案例分析a. 类的设计本案例涉及到用户与银行管理系统之间的“对话”,需要处理两个对象,即用户和管理系统,所以要设计两个类,即User类和Dobank类。Dobank类包括欢迎界面、用户维护、取款、退出等功能。而User类用于模拟银行卡,包括设置用户名、帐号、余额等信息的功能。b.算法设计1、设计如下数据结构:const int Max=100, CurrentAcount=0, char name20, (char *)&bi,sizeof(bi),bMax分别表示:账户设置的最大位数,初始账户,存储用户名,账户的值,账户值的位数,账户限

3、制数1、 写一个User( ) 函数,用来显示用户的相关信息,并将其用户名存储在一个数组中2、 用一个if.else选择语句来处理用户信息,并进行取款、转帐等功能。当输入有误时系统会提醒用户。3、 为了存储记忆用户的账户和用户名来进行各项功能的操作,使用fstream类对磁盘文件流进行操作,首先打开即将操作的磁盘文件,然后对运用ios:in/ ios:out访问方式常量对文件进行读操作和写操作,在操作完之后要关闭文件故用file.close()函数。b. 案例实现#include<iostream>#include<fstream>#include<string&

4、gt;using namespace std;const int Max=100;void Wait();class User /用户类的声明public: User() CurrentAcount=0; /初始化当前的账户 void Resert1(User *u,double A) u->CurrentAcount=u->CurrentAcount+A; void Resert2(User *u,double A) u->CurrentAcount=u->CurrentAcount-A; char *getname() /取得用户名 return name; lon

5、g getNum() /取得帐户号 return Num; double getCurrentAcount() return CurrentAcount; void output() /输出相关信息 cout<<"用户名:"<<name<<endl; cout<<"账 号:"<<Num<<endl; cout<<"余 额:"<<CurrentAcount<<endl; void addUser(char *name,long N

6、um) strcpy(this->name,name); this->Num=Num; void Deposit(User *u,double Acount) /存款 u->Resert1(u,Acount); void out(User *u,double acount) /取款 if(acount>u->getCurrentAcount() cout<<"余额不足.n" else cout<<"请及时取走你的钞票.n" u->Resert2(u,acount); void TransAcou

7、nt(User *u1,User *u2,double Acount) /转账 if(Acount>u1->getCurrentAcount() cout<<"余额不足.n" else u1->Resert2(u1,Acount); u2->Resert1(u2,Acount); void Locate(User *u) /查询余额 u->output(); private: char name20; long Num; double CurrentAcount; ;class DoBank /银行管理类的声明public: DoB

8、ank() User a; top=-1; fstream file("f:User.txt",ios:in); /以读的方式打开文件 while(1) file.read(char*)&a,sizeof(a); if(!file) break; top+; btop=a; file.close(); /关闭文件 void Work(); void addUser(char *name,int Num) User *p=equal(Num); if(p=NULL) top+; btop.addUser(name,Num); cout<<"成功载

9、入nnn" else cout<<"该用户已存在.n" User *equal(long Num) int i; for(i=0;i<top;i+) if(bi.getNum()=Num) return &bi; return NULL; DoBank() /析构函数 fstream file("f:User.txt",ios:out); /以写的方式打开文件 for (int i=0;i<=top;i+) file.write(char *)&bi,sizeof(bi); file.close(); /

10、关闭文件 private: User bMax; int top;void Wait() int i=0; while(i<) i+; void Menu() /显示功能菜单 cout<<"nnnn" cout<<" 1、用户维护n" cout<<" 2、存款n" cout<<" 3、取款n" cout<<" 4、转账n" cout<<" 5、查询n" cout<<" 0、退出

11、n"void DoBank:Work() Menu(); User *us; User *us1; char name20; long Num; long Num1; long TAcount; char number; cin>>number; while(number!='0') if(int)number<47|(int)number>53) cout<<"对不起,你的输入有误。n" else switch(number) /输入功能代号 case '1': cout<<&quo

12、t;请输入姓名:" cin>>name; cout<<"请输入账号:" cin>>Num; addUser(name,Num); break; case '2': cout<<"请输入账号" cin>>Num; us=equal(Num); if(us=NULL) cout<<"不存在该用户.n" else cout<<"请输入存款金额:" cin>>TAcount; us->Deposi

13、t(us,TAcount); cout<<"成功存入.nnn" break; case '3': cout<<"请输入账号:" cin>>Num; us=equal(Num); if(us=NULL) cout<<"不存在该用户.n" else cout<<"请输入取款金额:" cin>>TAcount; us->out(us,TAcount); cout<<"nnn" break; cas

14、e '4': cout<<"请输入转出账户:" cin>>Num; us=equal(Num); if(us=NULL) cout<<"不存在该用户.n" break; cout<<"请输入转入账户:" cin>>Num1; us1=equal(Num1); if(us1=NULL) cout<<"不存在该用户.n" break; cout<<"请输入转出金额:n" cin>>TAco

15、unt; us->TransAcount(us,us1,TAcount); break; case '5': cout<<"请输入查询账户:" cin>>Num; us=equal(Num); if(us=NULL) cout<<"不存在该账户.n" else us->Locate(us); cout<<"nnn" break; system("pause"); system("cls"); Menu(); cout<<"请输入操作:" cin>>number; int main() cout<<" *n" cout<<" 欢迎进入银行管理系统 n" cout<<" *n" ; DoBank b; b.Work(); return 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论