小银行系统
来源:互联网 发布:seo搜索引擎优化方案 编辑:程序博客网 时间:2024/04/29 10:47
#include <iostream>#include <string.h>#include <stdio.h>#include <iomanip>using namespace std;//银行中最大的账户数量#define MAXACCOUNTNUMBER 20000//银行卡的开号初始值#define INITNUMBER 10001struct Account{ long accNumber; //卡号 char accName[20]; //户主 char accPwd[10]; //密码 double balance; //余额 char flag[6]; //卡的状态};//银行中所有卡Account array[MAXACCOUNTNUMBER];//银行中银行卡数量int size=0;//欢迎界面void welcome();//主界面void mainFrame();//生成银行中自增卡号long autoCreament();//开户void openAccount();//存款void deposit();//输出指定卡的信息void printAccount(Account acc);//根据卡号查找卡在数组中的下标int searchAccount(long accNumber);int main(){ char loginName[20]; char loginPwd[20]; int i; //欢迎界面 welcome(); //.. for(i=0;i<3;i++) { cout<<"请输入用户名:"; cin>>loginName; cout<<"请输入密码:"; cin>>loginPwd; if(strcmp(loginName,"admin")==0&&strcmp(loginPwd,"admin")==0) { mainFrame(); break; }else{ cout<<"用户名或密码输入错误"<<endl; } } return 0;}void welcome(){ cout<<"+----------------------------------+"<<endl; cout<<"|-------欢迎登陆银行系统-----------|"<<endl; cout<<"+----------------------------------+"<<endl;}void mainFrame(){ int order; cout<<"|----------------------------|"<<endl; cout<<"|-------1.开户---------------|"<<endl; cout<<"|-------2.存款---------------|"<<endl; cout<<"|-------3.取款---------------|"<<endl; cout<<"|-------4.销户---------------|"<<endl; cout<<"|-------5.查询---------------|"<<endl; cout<<"|-------6.退出---------------|"<<endl; cout<<"|----------------------------|"<<endl; cout<<"请输入操作指令"<<endl; cin>>order; switch(order){ case 1: openAccount(); break; case 2: deposit(); break; case 3: 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(); mainFrame();}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;}/*根据卡号查找卡的下标* 若返回值>=0,卡号是正确* 若返回值=-1,卡号有误*/int searchAccount(long accNumber){ int i,pos=-1; for(i=0;i<size;i++){ if(array[i].accNumber==accNumber){ //找到了这张卡 pos=i; break; } } return pos;}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(); mainFrame(); }}