银行项目

#include
#include
#include
#include   //后面使用staw()需要用的定义
using namespace std;
//银行中最大的账户数量
#define MAXACCOUNTNUMBER 20000    //自定义变量不需要“=”和“;”
//银行卡的开号初始值
#define INITNUMBER 10001          //一般自定义变量规范使用大写英文字母
struct account                   //定义结构体变量
{
    long accnumber;               //卡号
    char accname[20];            //户主
    char accpwd[10];            //密码
    double balance;            //余额
    char flag[6];             //卡的状态
};
//银行中所有的卡
account array[MAXACCOUNTNUMBER];
//银行中卡的数量
int size=0;
const char name[20]="xuewei";//字符串数组定义管理员姓名和密码
const char pwd[20]="qiu421";
void welcome();//欢迎界面
void printaccount(account acc);//账号的表示
long autocreament();//账号的累加
void openaccount();//开户
bool isPassLegal(char pass[]);//判断密码是否为6-8位纯数字
void login();//登陆界面
int searchaccount(long accnum);//寻找卡号为accnum的卡是否存在
void deposit();//存款
void withdraw();//取款
void search();//查询
void closeaccount();//销户
void mainmenu();//主菜单
int main()
{
	welcome();//调用函数-欢迎界面
	login();//登陆
	mainmenu();//主菜单
	return 0;
}
void welcome()
{
	cout<<"+-------------------------------------+"<>managername;
		cout<<"请输入密码:";
	    cin>>managerpwd;
		if(strcmp(managername,name)==0 && strcmp(managerpwd,pwd)==0) //字符串数组运算法则
		{
		    mainmenu();
            break;
		}
		else
		{
			errorcount++;//输错次数的累加
			if(errorcount!=3)
			{
			cout<<"用户名或密码输入错误!请再输入一次:"<>chooser;
	switch(chooser)
	{
	case 1:
	 	openaccount();
	 	break; //开户
	case 2:
		closeaccount();
        break;//销户
	case 3:
		deposit();
	    break;//存款
	case 4:  
		withdraw();
		break;//取款
	case 5:  
		search();
		break;//查询
	case 6:
	    exit(0);  //退出
	default:cout<<"您的选择有误!\n";
		   cout<<"按任意键继续……";
		   break;
	}
}
void openaccount()//开户
{
	char pwd1[10],pwd2[10];//定义两个字符变量
    cout<<"请输入户主姓名:";
    cin>>array[size].accname;
    cout<<"请输入密码:";
	cin>>pwd1;
	cout<<"请再次输入密码:";//输入两次密码
	cin>>pwd2;
	if(strcmp(pwd1,pwd2)==0){//只有两次输入一致才能进行就接下来的操作
		if(isPassLegal(pwd1)){
	    strcpy(array[size].accpwd,pwd1);
        cout<<"请输入金额:";
        cin>>array[size].balance;
        strcpy(array[size].flag,"正常");
        array[size].accnumber=autocreament();
        printaccount(array[size]);
        size++;
        cout<<"开户成功按任意键返回"<=6){
        //满足6-8位
        for(i=0;i57){
                flag=false;
                break;
            }
        }
    }else{
        //不满足6-8位
        flag=false;
    }
    return flag;
}




//卡号的累加
long autocreament()
{
if(size==0){
  return INITNUMBER;
  }else{
  return array[size-1].accnumber+1;
  }
}
 //表示出卡的信息
 void printaccount(account acc)
 {
     cout<<"|---------------------------------------------|"<=0,卡号是正确
* 若返回值=-1,卡号有误
*/
int searchaccount(long accnum)//寻找卡号为accnum的卡是否存在
{
     int i,pos=-1;
	 for(i=0;i>accnum;
	pos=searchaccount(accnum);
	if(pos==-1)
	{
		//卡号有误
		cout<<"卡号有误,请重新输入:"<>money;
		//已经找到了卡号所对应的卡
		array[pos].balance+=money;
	    //展示存款后卡的信息
	    printaccount(array[pos]);
		cout<<"存款成功、按任意键返回"<>accnum;
		cout<<"请输入密码:";
		cin>>accpwd;
		pos=searchaccount(accnum);
		if(pos>=0 && strcmp(array[pos].accpwd,accpwd)==0)
		{
			cout<<"请输入取款金额:"<>money;
			if(money<=array[pos].balance)
			{
				cout<<"取款前卡的信息为:"<>accnum;
	pos=searchaccount(accnum);
	if(pos>=0)
	{
		for(i=0;i<3;i++)
		{
		    cout<<"请输入密码:";
		    cin>>accpwd;
			if(strcmp(array[pos].accpwd,accpwd)==0)                //开户密码输两次、存款金额要是非负数
			{
				cout<<"卡的信息为:"<>accnum;
	pos=searchaccount(accnum);
	if(pos==-1)
	{
		//账号不存在
		cout<<"您输入的账号不存在!"<>accpwd;
	    	if(strcmp(array[pos].accpwd,accpwd)==0)
			{
			//展示卡的信息
			printaccount(array[pos]);
			cout<<"确认销户请按1,返回主菜单请按2。"<>i;
			if(i==1)
			{
				array[pos].balance=0;//余额记为0
                strcpy(array[pos].flag,"销户");//状态记为“销户”
				printaccount(array[pos]);//展示销户后的状态
				cout<<"销户成功,按任意键返回"<

你可能感兴趣的:(❽,编程语言-C++)