当前位置: 代码迷 >> 综合 >> 银行系统再编
  详细解决方案

银行系统再编

热度:51   发布时间:2024-01-22 04:46:53.0
#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();  }}

  相关解决方案