64,654
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
const int M = 100;
const int N = 10;
int card[M][N+3],card_numble,card_code,card_excess=0;
//开卡时用作卡号,密码,余额,存储款的变量
int numble,code,money1,money2,code1;
//操作时的也是比较的卡号,密码,取钱,存钱,改密码
char cardname[M][16],name[16];
//姓名和用作比较的姓名
int z=3,x=0,c=0,v=0,b=0; //每次存取的标志,取的标志,存的标志,写存取次数的标志,排列卡号的标志
void zhuce();
void chaozhuo();
void close();
void qukuan();
void cunkuan();
void xiugai();
void chaxun();
int main()
{
char jadge1; //第一次菜单选项标志符
do
{
cout < <"********************************\n";
cout < <"选择你要进行的操作 : \n";
cout < <"\t1:如果你需要注册 \n";
cout < <"\t2:如果你已注册,要进行操作 \n";
cout < <"\t3:关闭系统(数据将全失) \n";
cout < <"********************************\n";
cout < <endl; //第一菜单
cin>>jadge1;
switch (jadge1)
{
case '1':zhuce();break;
case '2':chaozhuo();break;
case '3':close();break;
default:
cout < <"你搞错了.\n";
} //一次switch
} while(jadge1>0) ; //一次for
return 0;
}
void zhuce()
{ if(b>M)
{
cout < <"卡位已满,不能在申请.\n";
exit(1);
}
card_numble=b;
cout < <"你的卡号是:" < <card_numble < <endl;
card[card_numble][0]=card_numble;
b++;
cout < <"输入你的姓名:";
cin>>cardname[card_numble];
cout < <"输入你设的密码(必须是一串数字):";
cin>>card_code;
if(card_code <0)
{
cout < <"你的密码不合法.\n";
return ;
}
else
{
card[card_numble][1]=card_code;
}
cout < <"你要存多少钱:";
cin>>card_excess;
if(card_excess <=0)
{
cout < <"\n对不起,您存入的数额不够。\n";
}
else
if(card_excess>0)
{
card[card_numble][2]=card_excess;
cout < <"你已注册成功.\n";
}
}
void chaozhou()
{
char jadge2;
cout < <"卡号:";
cin>>numble;
cout < <"姓名:";
cin>>name;
cout < <"密码:";
cin>>code;
if((strcmp(name,cardname[numble])) ¦ ¦card[numble][1]!=code)
{
cout < <"你的的姓名或密码不对,还可能是你还没有开卡.\n";
return ;
}
else
{
cout < <"欢迎进入\n";
while(1)
{
cout < <"----------------------------\n";
cout < <"请输入你要进行的操作号: \n";
cout < <"\t1:取款 \n";
cout < <"\t2:存款 \n";
cout < <"\t3:修改密码 \n";
cout < <"\t4:查询当前信用卡情况 \n";
cout < <"\t5返回 \n";
cout < <"----------------------------\n";
cout < <endl; //第二菜单
if(x+c>N)
{
cout < <"你进今天操作已满10次,不能再存取款.\n";
exit(1);
}
cin>>jadge2;
switch (jadge2)
{
case '1':qukuan();
break;
case '2':cunkuan();
break;
case '3':xiugai();
break;
case '4':chaxun();
break;
case '5':
break; //回到开始
default:
cout < <"你搞错了.\n";
} //2次switch
}
} //二次for
return ;
} //if
void close()
{ cout < <"退出" < <endl;
exit(1);
}
void qukuan()
{
cout < <"你要取多少钱:";
cin>>money1;
if(card[numble][2]-money1 <0)
{
cout < <"\n你的余额不够.\n";
return ;
}
else
if(card[numble][2]-money1>=0)
{
card[numble][2]=card[numble][2]-money1;
card[numble][z]=0-money1;
z=z+1;
x=x+1;
cout < <"ok\n";
return ;
}
}
void cunkuan()
{
cout < <"你要存多少钱:";
cin>>money2;
if(money2 <=0)
{
cout < <"对不起,您的存款不够。?\n";
return ;
}
else
{
card[numble][2]=card[numble][2]+money2;
card[numble][z]=money2;
z=z+1;
c=c+1;
cout < <"ok\n";
return ;
}
}
void xiugai()
{
cout < <"你想要得新密码是(必须是一串数字):";
cin>>code1;
if(code1 <0)
{
cout < <"你的密码不合法.\n";
return ;
}
else
{
card[numble][1]=code1;
cout < <"ok\n";
return ;
}
}
void chaxun()
{
cout < <"---------------------------------------" < <endl;
cout < <"卡号: " < <card[numble][0] < <endl;
cout < <"余额: " < <card[numble][2] < <" 元" < <endl;
cout < <"密码: " < <card[numble][1] < <endl;
for(v=0;v <z-3;v++)
{
cout < <"第 " < <v+1 < <"次操做: " < <card[numble][v+3] < <" 元" < <endl;
}
cout < <"今天一共存取: " < <c+x < <"次" < <endl;
cout < <"其中取" < <x < <"次,存" < <c < <"次 \n";
cout < <"你今天还可以操作" < <N-x-c < <"次\n";
cout < <"---------------------------------------" < <endl;
return ;
}