现在的位置: 首页 > 综合 > 正文

储蓄综合业务平台(代码)

2014年01月26日 ⁄ 综合 ⁄ 共 16614字 ⁄ 字号 评论关闭

#include <iostream> #include <cstdio> #include <cstdlib> #include <iomanip> #include <conio.h> #include <string.h>//strcmp,strcpy,strlen #include <fstream> using namespace std; struct Account {     long accNum;//卡号     char Name[9];//用户名     char pass[7];//密码     double balance;//余额     char identity[19];//身份证号     char state[6];//状态(正常,挂失,冻结,销户) }; //银行中最大的账户数量 #define MAXaccNumBER 2000 //银行卡的开号初始值 #define INITNUMBER 1001; //银行中所有卡 Account array[MAXaccNumBER]; //银行中银行卡数量 int size=0; void Hello();//欢迎界面 void login();//工作人员登录 void Mean();//主菜单 int searchAcc(long accNum);//寻找卡 void Inpass(char[]);//输入密码 long autoCreament();//卡状态 void Int_identity(char iden[19]);//输入身份证 void Yan_pass(int );//密码验证 void Acc_Yan(int number);//账户验证 void Yan_exchange(int number1,int number2);//转账验证 void Yan_dong(int number);//冻结验证 void Acc_Inferr(int number);//卡信息 int Yan_identify(char g[19]);//身份证验证 void Yan_gaimi(int );//验证改密 void Yan_gaimii(int );//验证改密次数 //功能 void Acc_Open();//开户= void Acc_Delete();//销户= void Acc_Inmoney();//存款= void Acc_Outmoney();//取款= void Acc_Infer();//查询= void Acc_exchange();//转账= void Acc_dong();//冻结= void Acc_Ralese();//解冻= void Acc_Gpass();//修改密码= void Exit();//退出= void Find_pass();//找回密码 int main() {     Hello();//欢迎界面     login();//工作人员登录     return 0; } //欢迎界面 void Hello() {     cout<<"                           +--------------------------+"<<endl;     cout<<"                           +欢迎来到储蓄综合业务平台!+"<<endl;     cout<<"                           +--------------------------+"<<endl; } //工作人员登录 void login() {     char name[9],pass[7];     cout<<"请输入工作人员姓名:";     cin>>name;     cout<<endl;     if(strcmp(name,"玲玲")==0)     {         cout<<"请输入密码(三次机会):";         cin>>pass;         cout<<endl;         if(strcmp(pass,"123456")==0)         {             cout<<"登陆成功!"<<endl;             cout<<endl;             cout<<"请按任意键到主菜单:";             cout<<endl;             fflush(stdin);             getchar();             Mean();//主菜单         }         else         {             static int n=0;             ++n;             if(n==2)             {                 cout<<"三次机会已用完! 号已被封!"<<endl;                 Exit();             }             else             {                 cout<<"登录失败!请重新登录!"<<endl;                 cout<<endl;                 login();             }         }     }     else     {         cout<<"无效工作人员姓名!请重新登录!"<<endl;         cout<<endl;         login();     } } //主菜单 void Mean() {     int n;     cout<<"                                     +--------------------------+"<<endl;     cout<<"                                     +  1.开户    |   2.销户    +"<<endl;     cout<<"                                     +  3.存款    |   4.取款    +"<<endl;     cout<<"                                     +  5.查询    |   6.转账    +"<<endl;     cout<<"                                     +  7.改密    |   8.冻结    +"<<endl;     cout<<"                                     +  9.解冻    |  10.退出    +"<<endl;     cout<<"                                     + 11.寻回密码|             +"<<endl;     cout<<"                                     +--------------------------+"<<endl;     cout<<"请选择业务序号:";     fflush(stdin);     cin>>n;     cout<<endl;     switch (n)     {     case 1:         Acc_Open();         break;     case 2:         Acc_Delete();         break;     case 3:         Acc_Inmoney();         break;     case 4:         Acc_Outmoney();         break;     case 5:         Acc_Infer();         break;     case 6:         Acc_exchange();         break;     case 7:         Acc_Gpass();         break;     case 8:         Acc_dong();         break;     case 9:         Acc_Ralese();         break;     case 10:         Exit();         break;     case 11:         Find_pass();         break;     default :         cout<<"选择有误!请重新输入!"<<endl;         cout<<endl;         Mean();     } } //开户 void Acc_Open() {     cout<<"请输入姓名:";     cin>>array[size].Name;     cout<<endl;     if(strlen(array[size].Name)>9)     {         cout<<"超出最高长度!"<<endl;         cout<<endl;         cout<<"请按任意键返回!";         fflush(stdin);         getchar();         cout<<endl;         Mean();     }     cout<<"请输入身份证号(18位):";     Int_identity(array[size].identity);     cout<<endl;     Yan_identify(array[size].identity);//身份证     char passs[7]= {0};     cout<<"请输入密码:";     Inpass(array[size].pass);//调用输入密码函数     fflush(stdin);     getchar();     cout<<endl;     cout<<"请再次输入密码:";     Inpass(passs);     fflush(stdin);     getchar();     cout<<endl;     if (strcmp(passs,array[size].pass)==0)     {         cout<<"密码设置成功!"<<endl;         cout<<endl;         cout<<"请存入金额:";         cin>>array[size].balance;         cout<<endl;         if(array[size].balance<=0)         {             cout<<"输入有误!请按任意键返回!";             fflush(stdin);             getchar();             cout<<endl;             Mean();         }         strcpy(array[size].state,"正常");         array[size].accNum=autoCreament();         size++;         cout<<"开户成功!"<<endl;         cout<<endl;         cout<<"您的信息为:"<<endl;         cout<<endl;         Acc_Inferr(autoCreament()-1);         cout<<"请按任意键返回主菜单:";         fflush(stdin);         getchar();         cout<<endl;         Mean();//主菜单     }     else     {         cout<<"密码两次不一致!请重新开户!"<<endl;         cout<<endl;         Acc_Open();     } } //身份证验证 int Yan_identify(char g[]) {     if(strlen(g)!=18)     {         cout<<"输入位数有误!请正确输入!";         Int_identity(array[size].identity);         Yan_identify(g);         cout<<endl;     }     else     {         return g[19];     } } //查询卡号信息 void Acc_Infer() {     cout<<"请输入卡号:";     int number;     cin>>number;     cout<<endl;     Acc_Inferr(number);     cout<<"请按任意键返回主菜单:";     fflush(stdin);     getchar();     cout<<endl;     Mean();//主菜单 } //卡讯息 void Acc_Inferr(int number) {     Account acc;     acc=array[searchAcc(number)];     if(searchAcc(number)==-1)//卡号有误     {         cout<<"卡号不存在,请重新选择您要办理的业务!"<<endl;         Mean();     }     else     {         cout<<"+--------------------------------------------------------------------------------------------------------+"<<endl;         cout<<"+"<<setiosflags(ios::left)<<setw(20)<<"卡号"<<"|"<<setiosflags(ios::left)<<setw(20)<<"身份证号"<<"|"<<setiosflags(ios::left)<<setw(20)<<"用户名"<<"|"<<setiosflags(ios::left)<<setw(20)<<"金额"<<"|"<<setw(20)<<"状态"<<"+"<<endl;         cout<<"+--------------------------------------------------------------------------------------------------------+"<<endl;         cout<<"+"<<setiosflags(ios::left)<<setw(20)<< number<<"|"<<setiosflags(ios::left)<<setw(20)<<acc.identity<<"|"<<setiosflags(ios::left)<<setw(20)<<acc.Name<<"|"<<setiosflags(ios::left)<<setw(20)<<setiosflags(ios::fixed)<<setprecision(2)<<acc.balance<<"|"<<setiosflags(ios::left)<<setw(20)<<acc.state<<"+"<<endl;         cout<<"+--------------------------------------------------------------------------------------------------------+"<<endl;     }     cout<<endl; } //输入密码 void Inpass(char pas[7]) {     char ch;     int i=0;     while(i<6)     {         ch=getch();         if(ch<='9'&&ch>='0')         {             putch('*');             pas[i]=ch;             i++;         }     } } //销户 void Acc_Delete() {     int number;     Account acc;     cout<<"请输入卡号:";     cin>>number;     cout<<endl;     acc=array[searchAcc(number)];     if(searchAcc(number)==-1)//卡号有误     {         cout<<"卡号不存在,请重新选择您要办理的业务!"<<endl;         cout<<endl;         Mean();     }     else     {         char password[7]= {0};         cout<<"请输入密码(三次机会):";         Inpass(password);         fflush(stdin);         getchar();         if (strcmp(acc.pass,password)==0)         {             cout<<"请按任意键表示确认:";             fflush(stdin);             getchar();             cout<<endl;             cout<<"销户成功!"<<endl;             cout<<endl;             strcpy(array[searchAcc(number)].state,"销户");             cout<<"您的信息为:"<<endl;             cout<<endl;             Acc_Inferr(number);             cout<<"请按任意键返回主菜单:";             array[searchAcc(number)].balance=0;             fflush(stdin);             getchar();             cout<<endl;             Mean();         }     } } //存款 void Acc_Inmoney() {     int accNum;     double money;     cout<<"请输入卡号:";     cin>>accNum;     cout<<endl;     Acc_Yan(accNum);     cout<<"请输入存款金额:";     cin>>money;     cout<<endl;     if(money<=0)     {         cout<<"输入有误!请按任意键返回!"<<endl;         fflush(stdin);         getchar();         cout<<endl;         Mean();     }     array[searchAcc(accNum)].balance+=money;//找到了该卡号所对应的卡     cout<<"您的余额为:"<<setiosflags(ios::fixed)<<setprecision(2)<<array[searchAcc(accNum)].balance<<"元"<<endl;     cout<<endl;     cout<<"请按任意键退回主菜单"<<endl;     cout<<endl;     fflush(stdin);     getchar();     Mean(); } //取款 void Acc_Outmoney() {     int number;     cout<<"请输入卡号:";     cin>>number;     cout<<endl;     Acc_Yan(number);     Yan_pass(number); } //取款密码验证 void Yan_pass(int number) {     char passs[7]= {0};     double money;     static int o=0;     Account acc;     acc=array[searchAcc(number)];     cout<<"请输入密码(三次机会):";     Inpass(passs);     fflush(stdin);     getchar();     cout<<endl;     if (strcmp(passs,acc.pass)==0)     {         cout<<"请输入取款金额:";         cin>>money;         cout<<endl;         if(money<=0)         {             cout<<"输入有误!请按任意键返回!"<<endl;             fflush(stdin);             getchar();             cout<<endl;             Mean();         }         if(acc.balance<money)         {             cout<<"您的余额已不足!"<<'\n'<<"请按任意键返回主菜单";             fflush(stdin);             getchar();             cout<<endl;             Mean();         }         else         {             array[searchAcc(number)].balance=array[searchAcc(number)].balance-money;             cout<<"您的余额为:"<<setiosflags(ios::fixed)<<setprecision(2)<<array[searchAcc(number)].balance<<"元"<<endl;             cout<<endl;             cout<<"请按任意键退回主菜单"<<endl;             fflush(stdin);             getchar();             cout<<endl;             Mean();         }     }     else     {         if(o==2)         {             cout<<"三次机会用完,账号已被冻结!"<<endl;             cout<<endl;             int pos;             pos=searchAcc(number);             strcpy(array[pos].state,"冻结");             cout<<"请按任意键返回主菜单:";             fflush(stdin);             getchar();             cout<<endl;             Mean();         }         else         {             cout<<endl;             cout<<"密码错误!"<<endl;             cout<<endl;             ++o;             Yan_pass(number);         }     } } //冻结 void Acc_dong() {     int number;     cout<<"请输入卡号:";     cin>>number;     cout<<endl;     Acc_Yan(number);     Yan_dong(number);     cout<<endl;     cout<<"请按任意键确定冻结:"<<endl;     fflush(stdin);     getchar();     cout<<"冻结成功!"<<endl;     cout<<endl;     strcpy(array[searchAcc(number)].state,"冻结");     cout<<"您的信息为:"<<endl;     cout<<endl;     Acc_Inferr(number);     cout<<"请按任意键返回主菜单:";     fflush(stdin);     getchar();     cout<<endl;     Mean(); } //解冻 void Acc_Ralese() {     int number;     cout<<"请输入卡号:";     cin>>number;     cout<<endl;     Yan_dong(number);     if(strcmp(array[searchAcc(number)].state,"冻结")!=0)     {         cout<<"该账户未冻结,无需解冻!"<<endl;         cout<<endl;         cout<<"请按任意键返回主菜单:";         cout<<endl;         fflush(stdin);         getchar();         Mean();     }     cout<<"解冻成功!"<<endl;     cout<<endl;     strcpy(array[searchAcc(number)].state,"正常");     cout<<"您的信息为:"<<endl;     cout<<endl;     Acc_Inferr(number);     cout<<"请按任意键返回主菜单:";     cout<<endl;     fflush(stdin);     getchar();     Mean(); } //冻结验证 void Yan_dong(int number) {     static int o=0;     cout<<"请输入密码(三次机会):";     char passs[7];     Account acc;     acc=array[searchAcc(number)];     Inpass(passs);     fflush(stdin);     getchar();     if (strcmp(passs,acc.pass)!=0)     {         if(o==2)         {             cout<<"三次机会用完,账号已被冻结!"<<endl;             cout<<endl;             int pos;             pos=searchAcc(number);             strcpy(array[pos].state,"冻结");             cout<<"请按任意键返回主菜单:";             cout<<endl;             fflush(stdin);             getchar();             Mean();         }         else         {             cout<<endl;             cout<<"密码错误!"<<endl;             cout<<endl;             ++o;             Yan_dong(number);         }     } } //退出 void Exit() {     cout<<"已退出!"<<endl;     cout<<endl;     exit(0); } //寻找卡 int searchAcc(long accNum) {     int i,pos=-1;     for(i=0; i<size; i++)     {         if(array[i].accNum==accNum)//找到了这张卡         {             pos=i;             break;         }     }     return pos;//返回下标 } //卡状态 long autoCreament() {     if(size==0)     {         return INITNUMBER;     }     else     {         return array[size-1].accNum+1;     } } //输入身份证 void Int_identity(char iden[19]) {     cin>>iden; } //转账 void Acc_exchange() {     int number1,number2,n;     cout<<"请输入您的卡号:";     cin>>number1;     cout<<endl;     Acc_Yan(number1);     cout<<"请输入对方的卡号:";     cin>>number2;     cout<<endl;     if(number1==number2)     {         cout<<"不能给自己转账!按任意键返回主菜单:";         cout<<endl;         Mean();     }     else     {         Acc_Yan(number2);         cout<<"该用户信息为:"<<endl;         cout<<endl;         Acc_Inferr(number2);         cout<<"确定转账请按1,返回主菜单请按2:";         cin>>n;         cout<<endl;         switch(n)         {         case 1:             Yan_exchange(number1,number2);             break;         case 2:             Mean();             break;         default :             cout<<"选择错误!"<<'\n'<<"按任意键返回主菜单:";             fflush(stdin);             getchar();             cout<<endl;             Mean();         }     } } //转账验证 void Yan_exchange(int number1,int number2) {     char passs[7];     double money;     static int o=0;     Account acc1,acc2;     acc1=array[searchAcc(number1)];     acc2=array[searchAcc(number2)];     cout<<"请输入密码(三次机会):";     Inpass(passs);     fflush(stdin);     getchar();     cout<<endl;     if (strcmp(passs,acc1.pass)==0)     {         cout<<"请输入转账金额:";         cin>>money;         cout<<endl;         if(money<=0)         {             cout<<"输入有误!请按任意键返回!"<<endl;             fflush(stdin);             getchar();             cout<<endl;             Mean();         }         if(acc1.balance<money)         {             cout<<"您的余额已不足!"<<'\n'<<"请按任意键返回主菜单";             fflush(stdin);             getchar();             cout<<endl;             Mean();         }         else         {             array[searchAcc(number1)].balance=acc1.balance-money;             array[searchAcc(number2)].balance=acc2.balance+money;             cout<<"转账成功!"<<endl;             cout<<endl;             cout<<"您的余额为:"<<setiosflags(ios::fixed)<<setprecision(2)<<acc1.balance<<"元"<<endl;             cout<<endl;             cout<<"请按任意键退回主菜单"<<endl;             fflush(stdin);             getchar();             cout<<endl;             Mean();         }     }     else     {         if(o==2)         {             cout<<"三次机会用完,账号已被冻结!"<<endl;             cout<<endl;             strcpy(array[searchAcc(number1)].state,"冻结");             cout<<"请按任意键返回主菜单:";             fflush(stdin);             getchar();             cout<<endl;             Mean();         }         else         {             cout<<endl;             cout<<"密码错误!"<<endl;             cout<<endl;             ++o;             Yan_exchange(number1,number2);         }     } } //账户信息验证 void Acc_Yan(int number) {     int pos;     pos=searchAcc(number);     if(pos==-1)//卡号有误     {         cout<<"卡号不存在!请重新选择您要办理的业务!"<<endl;         cout<<endl;         Mean();     }     else if(strcmp(array[pos].state,"冻结")==0)     {         cout<<"账户已被冻结!"<<'\n'<<"请重新选择您要办理的业务!"<<endl;         cout<<endl;         Mean();     }     else if(strcmp(array[pos].state,"销户")==0)     {         cout<<"卡号不存在!请重新选择您要办理的业务!"<<endl;         cout<<endl;         Mean();     } } //改密 void Acc_Gpass() {     int num;     cout<<"请输入卡号:";     cin>>num;     cout<<endl;     Acc_Yan(num);     Yan_gaimi(num); } //验证改密 void Yan_gaimi(int num) {     cout<<"请输入密码(三次机会):";     char pass[7];     Inpass(pass);     if(strcmp(array[searchAcc(num)].pass,pass)==0)     {         fflush(stdin);         getchar();         cout<<endl;         cout<<"登陆成功!"<<endl;         cout<<endl;         Yan_gaimii(num);     }     else     {         static int o=0;         if(o==2)         {             cout<<"三次机会用完,账号已被冻结!"<<endl;             cout<<endl;             int pos;             pos=searchAcc(num);             strcpy(array[pos].state,"冻结");             cout<<"请按任意键返回主菜单:";             fflush(stdin);             getchar();             cout<<endl;             Mean();         }         else         {             cout<<endl;             cout<<"密码错误!"<<endl;             cout<<endl;             ++o;             Yan_gaimi(num);         }     } } //验证改密次数 void Yan_gaimii(int num) {     char passs[7]= {0},passss[7]= {0};     static int l=0;     if(l==2)     {         cout<<"三次机会已用完!改密失败!"<<'\n'<<"请按任意键返回主菜单:";         fflush(stdin);         getchar();         cout<<endl;         Mean();     }     else     {         cout<<"请输入新密码:";         Inpass(passs);         fflush(stdin);         getchar();         cout<<endl;         cout<<"请再输入一次新密码:";         Inpass(passss);         fflush(stdin);         getchar();         cout<<endl;         if(strcmp(passs,passss)!=0)         {             cout<<"两次输入密码不一致!"<<endl;             cout<<endl;             l++;             Yan_gaimii(num);         }         else         {             cout<<"改密成功!"<<endl;             cout<<endl;             strcpy(array[searchAcc(num)].pass,passs);             cout<<"请按任意键返回主菜单:";             fflush(stdin);             getchar();             cout<<endl;             Mean();         }     } } //找回密码 void Find_pass() {     char identity[19]= {0};     int number;     cout<<"请输入卡号:";     cin>>number;     cout<<endl;     Acc_Yan(number);     cout<<"请输入身份证号:";     Int_identity(identity);     cout<<endl;     cout<<identity;

    if(strcmp(array[searchAcc(number)].identity,identity)==0)     {         cout<<"身份验证成功!"<<endl;         cout<<endl;         cout<<"您的密码为:"<<array[searchAcc(number)].pass<<endl;         cout<<endl;         cout<<"请按任意键返回主菜单:";         fflush(stdin);         getchar();         cout<<endl;         Mean();     }     else     {         cout<<"身份验证失败!按任意键返回主菜单:";         fflush(stdin);         getchar();         cout<<endl;         Mean();     } }

 

 

2013.12.26

抱歉!评论已关闭.