银行系统再编
来源:互联网 发布:普通摄像头改网络监控 编辑:程序博客网 时间:2024/06/10 07:11
#include <iostream> #include <string.h> #include <stdio.h> #include <iomanip> using namespace std; //银行中最大的账户数量 #define MAXACCOUNTNUMBER 20000 //银行卡的开号初始值 #define INITNUMBER 10001 struct Account { long accNumber; //卡号 char accName[20]; //户主 char accPwd[10]; //密码 double balance; //余额 char flag[6]; //卡的状态 };int size=0;Account array[MAXACCOUNTNUMBER]; void work();void openAccount();void pid();void deposit();void withdrawal();void transfer();long autoCreament();void printAccount(Account acc);int main(){ int i;char username[20];char password[10]; cout<<" +------------------------------------------+"<<endl;cout<<" | |"<<endl;cout<<" | |"<<endl;cout<<" | 欢迎使用储蓄业务综合平台 |"<<endl;cout<<" | |"<<endl;cout<<" | |"<<endl;cout<<" +------------------------------------------+"<<endl;for(i=0;i<3;i++){ cout<<"请输入用户名:"; cin>>username; cout<<endl; cout<<"请输入密码:"; cin>>password; cout<<endl; if(strcmp(username,"admin")==0&&strcmp(password,"admin")==0) { cout<<"输入正确,请选择业务前的序号"<<endl; work(); } else { if(i<2) cout<<"用户名或密码输入错误,请重新输入!"<<endl; else { cout<<"您已三次输入错误的用户名或密码,系统将自动退出!"<<endl; } }}return 0;}void work(){ int order; cout<<" +-------------------------------+"<<endl; cout<<" |-----1.开户-2.查询-3.存款------|"<<endl; cout<<" |-----4.取款-5.转账-6.退出------|"<<endl; cout<<" +-------------------------------+"<<endl; cin>>order; switch(order){ case 1: openAccount(); break; case 2: pid(); break; case 3: deposit(); break; case 4: withdrawal(); break; default: break; }}void openAccount()//开户{cout<<"请输入户主名:"; cin>>array[size].accName; cout<<"请输入密码:"; cin>>array[size].accPwd; cout<<"请输入初次存款金额:"; cin>>array[size].balance; //.. strcpy(array[size].flag,"正常"); //写卡号 array[size].accNumber=autoCreament(); printAccount(array[size]); size++; cout<<"开户成功,按任意键返回"<<endl; fflush(stdin); getchar();}long autoCreament() { if(size==0){ return INITNUMBER; }else{ return array[size-1].accNumber+1; } }void printAccount(Account acc) { cout<<"|----------------------------------------|"<<endl; cout<<setiosflags(ios::left)<<"|"<<setw(8)<<"卡号"<<setw(8)<<"户主"<<setw(8)<<"密码"<<setw(8)<<"金额"<<setw(8)<<"状态"<<"|"<<endl; cout<<setiosflags(ios::left)<<"+----------------------------------------+"<<endl; cout<<setiosflags(ios::left)<<"|"<<setw(8)<<acc.accNumber<<setw(8)<<acc.accName<<setw(8)<<acc.accPwd<<setw(8)<<acc.balance<<setw(8)<<acc.flag<<"|"<<endl; cout<<"|----------------------------------------|"<<endl; } void pid()//查询{}void deposit()//存款 { long accNum;//存款的账号 double money;//存款的金额 int pos; cout<<"请输入账号:"; cin>>accNum; cout<<"请输入存款金额:"; cin>>money; pos=searchAccount(accNum); if(pos==-1){ //卡号有误 cout<<"卡号不存在,请重新输入卡号"<<endl; //... deposit(); }else{ //展示下存款前卡的信息 cout<<"存款前卡的信息:"<<endl; printAccount(array[pos]); //找到了该卡号所对应的卡 array[pos].balance+=money; //展示存款后卡的信息 cout<<"存款后卡的信息:"<<endl; printAccount(array[pos]); cout<<"存款成功,按任意键返回"<<endl; fflush(stdin); getchar(); } }void withdrawal()//取款 {long accNum;//取款的账号 double money;//取款的金额 int pos; cout<<"请输入账号:"; cin>>accNum; cout<<"请输入取款金额:"; cin>>money; if(pos==-1){ //卡号有误 cout<<"账号不存在,请重新输入账号"<<endl; //... deposit(); }else{ //展示下取款前卡的信息 cout<<"取款前卡的信息:"<<endl; printAccount(array[pos]); //找到了该卡号所对应的卡 array[pos].balance+=money; //展示取款后卡的信息 cout<<"取款后卡的信息:"<<endl; printAccount(array[pos]); cout<<"取款成功,按任意键返回"<<endl; fflush(stdin); getchar(); } }