银行开户存款

来源:互联网 发布:淘宝产品优化 编辑:程序博客网 时间:2024/04/25 20:51

* /

* Copyright (c) 2011, 烟台大学计算机学院

 * All rights reserved.

* 作 者: 孙培培

* 完成日期:2012 年 12月22日

* 版 本 号:v1.0

 * 输入描述: 略

* 问题描述:略

* 程序输出:略

 * 问题分析:略

*/

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <iomanip>
using namespace std;

//银行中所能开卡的最大数量
#define MAXACCOUNTNUMBER  20000
//银行卡的第一个卡号
#define INITACCOUNT 10001


struct Account
{
  long accNumber; //银行卡号
  char accName[30];  //户主姓名
  char accPWD[30];  //银行卡密码
  double balance;  //余额
  char flag[5];  //银行卡状态
};


//银行卡中所有的卡
Account array[MAXACCOUNTNUMBER];
//银行中开户的卡的数量
int size=0;


//欢迎界面
void  welcome();
//主界面选择业务
void  mainFrame();
//存款
void deposit();
//生成卡号自增
long autoCreament();
//开户
void openAccount();
//输出卡号信息
void printAccount(Account acc);
//找到指定银行卡
int searchAccount(long accNumber);

 

int main()
{
   char loginName[30];  //用户名
   char loginPWD[30];  //密码
   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;
   welcome();
  }
   }
   return 0;
}

//银行系统使用欢迎界面,
void welcome()
{
  cout<<"|*****************************************************|"<<endl;
  cout<<"+*********                                  **********+"<<endl;
  cout<<"+             欢 迎 使 用 银 行 系 统                 +"<<endl;
  cout<<"+*********                                  **********+"<<endl;
  cout<<"|*****************************************************|"<<endl;
}


//主界面选择业务
void mainFrame()
{
   int order;
  cout<<"|------------------------------------------------------|"<<endl;
  cout<<"+            1.开户                  4.查询            +"<<endl;
  cout<<"+                                                      +"<<endl;
  cout<<"+            2.存款                  5.取款            +"<<endl;
  cout<<"+                                                      +"<<endl;
  cout<<"+            3.销户                  6.退出            +"<<endl;
  cout<<"|------------------------------------------------------|"<<endl;
  cout<<"请输入操作指令:";
  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;
  //卡的当前状态
  cout<<"卡的当前状态:"<<endl;
  strcpy(array[size].flag,"正常");
  //开户的卡号信息
  array[size].accNumber=autoCreament();
  printAccount(array[size]);
   size++;
   cout<<"恭喜您已开户成功,欢迎继续使用其他业务!请按任意键返回!"<<endl;
   fflush(stdin);
   getchar();
   mainFrame();
}

//生成卡号自增
long autoCreament()
{
    if(size==0){
        return INITACCOUNT;
    }else{
        return array[size-1].accNumber+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 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 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;* /

* Copyright (c) 2011, 烟台大学计算机学院

 * All rights reserved.

* 作 者: 孙培培

* 完成日期:2012 年 12月22日

* 版 本 号:v1.0

 * 输入描述: 略

* 问题描述:略

* 程序输出:略

 * 问题分析:略

*/


  

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <iomanip>
using namespace std;

//银行中所能开卡的最大数量
#define MAXACCOUNTNUMBER  20000
//银行卡的第一个卡号
#define INITACCOUNT 10001


struct Account
{
  long accNumber; //银行卡号
  char accName[30];  //户主姓名
  char accPWD[30];  //银行卡密码
  double balance;  //余额
  char flag[5];  //银行卡状态
};


//银行卡中所有的卡
Account array[MAXACCOUNTNUMBER];
//银行中开户的卡的数量
int size=0;


//欢迎界面
void  welcome();
//主界面选择业务
void  mainFrame();
//存款
void deposit();
//生成卡号自增
long autoCreament();
//开户
void openAccount();
//输出卡号信息
void printAccount(Account acc);
//找到指定银行卡
int searchAccount(long accNumber);

 

int main()
{
   char loginName[30];  //用户名
   char loginPWD[30];  //密码
   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;
   welcome();
  }
   }
   return 0;
}

//银行系统使用欢迎界面,
void welcome()
{
  cout<<"|*****************************************************|"<<endl;
  cout<<"+*********                                  **********+"<<endl;
  cout<<"+             欢 迎 使 用 银 行 系 统                 +"<<endl;
  cout<<"+*********                                  **********+"<<endl;
  cout<<"|*****************************************************|"<<endl;
}


//主界面选择业务
void mainFrame()
{
   int order;
  cout<<"|------------------------------------------------------|"<<endl;
  cout<<"+            1.开户                  4.查询            +"<<endl;
  cout<<"+                                                      +"<<endl;
  cout<<"+            2.存款                  5.取款            +"<<endl;
  cout<<"+                                                      +"<<endl;
  cout<<"+            3.销户                  6.退出            +"<<endl;
  cout<<"|------------------------------------------------------|"<<endl;
  cout<<"请输入操作指令:";
  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;
  //卡的当前状态
  cout<<"卡的当前状态:"<<endl;
  strcpy(array[size].flag,"正常");
  //开户的卡号信息
  array[size].accNumber=autoCreament();
  printAccount(array[size]);
   size++;
   cout<<"恭喜您已开户成功,欢迎继续使用其他业务!请按任意键返回!"<<endl;
   fflush(stdin);
   getchar();
   mainFrame();
}

//生成卡号自增
long autoCreament()
{
    if(size==0){
        return INITACCOUNT;
    }else{
        return array[size-1].accNumber+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 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 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;* /

}

#include <iostream>#include <string.h>#include <stdio.h>#include <iomanip>using namespace std;//银行中所能开卡的最大数量#define MAXACCOUNTNUMBER  20000//银行卡的第一个卡号#define INITACCOUNT 10001struct Account{  long accNumber; //银行卡号  char accName[30];  //户主姓名  char accPWD[30];  //银行卡密码  double balance;  //余额  char flag[5];  //银行卡状态};//银行卡中所有的卡Account array[MAXACCOUNTNUMBER];//银行中开户的卡的数量int size=0;//欢迎界面void  welcome();//主界面选择业务void  mainFrame();//存款void deposit();//生成卡号自增long autoCreament();//开户void openAccount();//输出卡号信息void printAccount(Account acc);//找到指定银行卡int searchAccount(long accNumber);int main(){   char loginName[30];  //用户名   char loginPWD[30];  //密码   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;welcome(); }   }   return 0;}//银行系统使用欢迎界面,void welcome(){  cout<<"|*****************************************************|"<<endl;  cout<<"+*********                                  **********+"<<endl;  cout<<"+             欢 迎 使 用 银 行 系 统                 +"<<endl;  cout<<"+*********                                  **********+"<<endl;  cout<<"|*****************************************************|"<<endl;}//主界面选择业务void mainFrame(){   int order;  cout<<"|------------------------------------------------------|"<<endl;  cout<<"+            1.开户                  4.查询            +"<<endl;  cout<<"+                                                      +"<<endl;  cout<<"+            2.存款                  5.取款            +"<<endl;  cout<<"+                                                      +"<<endl;  cout<<"+            3.销户                  6.退出            +"<<endl;  cout<<"|------------------------------------------------------|"<<endl;  cout<<"请输入操作指令:";  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;  //卡的当前状态  cout<<"卡的当前状态:"<<endl;  strcpy(array[size].flag,"正常");  //开户的卡号信息  array[size].accNumber=autoCreament();  printAccount(array[size]);   size++;   cout<<"恭喜您已开户成功,欢迎继续使用其他业务!请按任意键返回!"<<endl;   fflush(stdin);   getchar();   mainFrame();}//生成卡号自增long autoCreament(){    if(size==0){        return INITACCOUNT;    }else{        return array[size-1].accNumber+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 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 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;* /