您的位置:首页 > 编程语言 > C语言/C++

c++ 银行管理系统

2015-12-12 12:23 435 查看
资源:
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<string.h>
#include<algorithm>
#include<strstream>
#include<conio.h>
using namespace std;
class Function;
class User
{
public:
void get( );
friend class Function;
void print();
void PassWord();
void SaveFile(User &);
vector<string> StrFunction;
User(){}
User(int A,string N,int F,string I,string Ad,int T):Accout(A),Name(N),Fmoney(F),ID(I),Address(Ad),Telephone(T){}
private:
int Accout;//账号
string Name;//姓名
int Fmoney;
string ID;
string Address;
int Telephone;
char  Pword1[9];
char Pword2[9];
};
class Function
{
public:
void Saving(User &);
void Drawing(User &);
void Balance(User &);
void Record(User &);
private:
int  SaveAndDrawMoney;

};
void Function::Saving(User &u)
{
system("cls");
cout<<"\n\n\n\t\t*********************************************\n"<<endl;
cout<<"\t\t请输入存款金额:";
string str1("现存 RMB  钞 +   ");
cin>>SaveAndDrawMoney;
u.Fmoney+=SaveAndDrawMoney;
strstream ss;//输入输出字符串类
string  str2;
ss<<SaveAndDrawMoney;
ss>>str2;
str1=str1+str2;
u.StrFunction.push_back(str1);
cout<<"\n\n\t\t操作成功,单击任何键返回主菜单!";
getch();
}
void Function::Drawing(User &u)
{
system("cls");
cout<<"\n\n\n\t\t*********************************************\n"<<endl;
cout<<"\t\t请输入取款金额:";
string str("现取 RMB  钞 -   ");
int k=0;
while(k<=3)
{
int Money;
cin>>SaveAndDrawMoney;
Money=u.Fmoney -SaveAndDrawMoney;
if(Money>=0)
{
system("cls");
cout<<"\n\n\n\t\t正在出炒,请稍等!"<<endl;
strstream ss;
string  str2;
ss<<SaveAndDrawMoney;
ss>>str2;
str=str+str2;
u.StrFunction.push_back(str);
break;
}
else
{
k++;
if(k>=3)
{
system("cls");
cerr<<"\n\n\n\t\t很抱歉,你重复输入错误多次"<<endl
<<"\n\t\t正在退卡中……"<<endl;
exit(0);
}
system("cls");
cerr<<"\n\n\n\t\t对不起,你输入的金额超出有效金额。"<<endl
<<"\n\t\t       请重新输入:  ";
}
}
cout<<"\n\n\t\t操作成功,单击任何键返回主菜单!";
getch();
}
void Function::Balance(User &u)
{
system("cls");
cout<<"\n\n\n\t\t*********************************************\n"<<endl;
cout<<"\t\t你当前的余额是:";
cout<<"\t\t"<<u.Fmoney<<endl;
cout<<"\n\t\t*********************************************\n"<<endl;
cout<<"\n\t\t操作成功,单击任何键返回主菜单!";
getch();
}
void Function::Record(User &u)
{
system("cls");
cout<<"\n\n\n\t\t*********************************************\n"<<endl;
cout<<"\t\t摘要 币种 钞汇 存/取款金额"<<endl;
vector<string>::iterator  iter,iend;
iter=u.StrFunction.begin();
for(iter;iter!=u.StrFunction.end();iter++)
cout<<"\n\t\t"<<*iter<<endl;
cout<<"\n\t\t*********************************************\n"<<endl;
cout<<"\n\t\t操作成功,单击任何键返回主菜单!";
getch();
}
void User::print() //mark
{
system("cls");
cout<<"\n\n\n\t\t*********************************************\n"<<endl;
cout<<"\n\t\t用户卡号: "<<Accout<<endl;
cout<<"\n\t\t姓名:     "<<Name <<endl;
cout<<"\n\t\t开户金额: "<<Fmoney<<endl;
cout<<"\n\t\t身份证号: "<<ID<<endl;
cout<<"\n\t\t地址:     "<<Address <<endl;
cout<<"\n\t\t联系电话: "<<Telephone <<endl;
cout<<"\n\t\t密码:     "<<Pword1<<endl;
cout<<"\n\t\t*********************************************\n"<<endl;
cout<<"\n\t\t操作成功,单击任何键返回主菜单!";
getch();
return ;
}
void User::SaveFile(User &u)
{
ofstream outfile("outfile.txt", ios::trunc );//trunc如果文件存在就打开并清除其内容,如不存在就建立新文件
cout<<"\n\n\n\t\t*********************************************\n"<<endl;
outfile<<"\t\t用户卡号: "<<Accout<<endl
<<"\t\t姓名: "<<Name<<endl
<<"\t\t开户金额: "<<Fmoney<<endl
<<"\t\t身份证号: "<<ID<<endl
<<"\t\t地址: "<<Address<<endl
<<"\t\t联系电话: "<<Telephone<<endl
<<"\t\t密码: "<<Pword1<<endl;
cout<<"\n\t\t*********************************************\n"<<endl;
outfile.close();
}
void User::PassWord()
{
int num=0;
while(num<3)
{
cout<<"\n\t\t请输入8位储蓄密码:";
for(int i=0;i<8;i++)
{ Pword1[i]=getch();cout<<"*";}
Pword1[8]='\0';
cout<<endl;
cout<<"\n\t\t请再一次确认密码:";
for(int j=0;j<8;j++)
{ Pword2[j]=getch();cout<<"*";}
cout<<endl;
Pword2[8]='\0';
if(strcmp(Pword1,Pword2)==0)
{
cout<<"\n\n\t\t密码确认成功,单击任何键进入主菜单";
getch();
return ;
}
else
{
num++;
cout<<"\n\t\t你输入的密码错误,请重新输入!\n"<<endl;
}
if(num==3)
{
system("cls");
cerr<<"\n\n\n\t\t对不起,你三次输入不正确\n"<<endl
<<"\t\t感谢你的使用,再见!    "<<endl;
exit(0);
}
}
}
void User::get()
{
system("cls");
cout<<"\n\n\n\t\t请输入用户信息:\n"<<endl;
cout<<"\t\t*********************************************\n"<<endl;
cout<<"\n\t\t卡号:";
cin>>Accout;
cout<<"\n\t\t姓名:";
cin>>Name;
cout<<"\n\t\t开户金额:";
cin>>Fmoney;
cout<<"\n\t\t身份证号:";
cin>>ID;
cout<<"\n\t\t地址:";
cin>>Address;
cout<<"\n\t\t联系电话:";
cin>>Telephone;
PassWord();
cout<<"\n\t\t*********************************************\n"<<endl;
}
void Sign()
{
system("cls");
cout<<"\n\n\n\n\n\n\t\t\t谢谢您使用银行管理系统 \t \n\n"<<endl;
cout<<"\t\t*********************************************\n"<<endl;
cout<<"\t\t         姓名: 谢道尔    \n\n"
<<"\t\t         班级: 计算机072班\n\n"
<<"\t\t         学号: 200710214217\n\n"<<endl;
cout<<"\n\t\t         已经成功退出"<<endl
<<"\n\t\t         欢迎你的光临!" <<endl;
}
char custom(User &u)
{
char x;
system("cls");
cout<<"\n\n\n\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"
<<"\t\t※                                                   ※\n"
<<"\t\t※            欢迎使用储蓄管理系统                   ※\n"
<<"\t\t※                                                   ※\n"
<<"\t\t※                                                   ※\n"
<<"\t\t※            请用户在使用前选择开户:               ※\n"
<<"\t\t※                                                   ※\n"
<<"\t\t※            请选择:                               ※\n"
<<"\t\t※                单击“1”选择开户                  ※\n"
<<"\t\t※                单击其他将退出                     ※\n"
<<"\t\t※                                                   ※\n"
<<"\t\t※                                                   ※\n"
<<"\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"<<endl;
cout<<"\n\t\t请选择操作方式: ";
cin>>x;
if(x=='1')
{
u.get();
}
else
{
Sign();
exit(0);
}
return 0;
}
char menu()
{
int k=0;
char a[3],c,i;
system("cls");
cout<<"\n\n\n\t\t                主菜单          \n\n" ;
cout<<"\t\t*********************************************\n"
<<"\t\t*                                           *\n"
<<"\t\t*                                           *\n"
<<"\t\t*     操作方式:                             *\n"
<<"\t\t*                                           *\n"
<<"\t\t*             1.存款       2.取款           *\n"
<<"\t\t*                                           *\n"
<<"\t\t*             3.查询余额   4.查询历史记录   *\n"
<<"\t\t*                                           *\n"
<<"\t\t*             5.用户信息   6.保存并退出     *\n"
<<"\t\t*********************************************\n"<<endl;
while(k<3)
{
cout<<"\n\t\t请选择操作方式:  ";
cin>>a;
if(strlen(a)==1)
{
for(i='1';i<='6';i++)
{  c=i;
if(c==a[0]) return c;
}
}
else
{
system("cls");
cerr<<"\n\n\n\t\t\t输入有误!\n"<<endl
<<"\t\t\t请重新输入: "<<endl;
k++;
}
while(k>=3)
{
system("cls");
cerr<<"\n\n\n\t\t对不起,你三次输入不正确\n"<<endl
<<"\n\t\t感谢你的使用,再见!\n"<<endl;
exit(0);
}
}
return c;
}
char Choose(  User &u,Function &F)
{
char c=menu();
while(c!='6')
{
switch(c)
{
case '1': F.Saving(u);c=menu();break;
case '2':F.Drawing(u);c=menu();break;
case '3':F.Balance(u);c=menu();break;
case '4':F.Record(u);c=menu();break;
case '5':u.print();c=menu();break;
}

}
u.SaveFile(u);
Sign();
return 0;
}
int main()
{
User u;//用户类
Function F;
vector<Function> FunctionUser;
custom(u);
Choose(u,F);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: