#include
#include
#include
double total=1000;
void welcome() //欢迎界面
{
system("color 3F"); //修改系统背景和字体颜色
printf("#############################################################");
printf("…………………………………银行欢迎你………………………………");
printf("……|||||||||||||||||||||||到货时间发货|||||||||||||||||||||");
printf("#¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥");
printf("#############################################################");
getchar(); //按任意键返回一个字符,相当于插卡操作
}
void pass() //输入密码
{
int i,password; //设立变量
printf("请输入您的密码?");
for( i=1;i<=4;i++) //进行三次循环,密码最多可输入三次
{
scanf("%d",&password);
if (password==000000) //假如密码=0000000,则进入操作界面
{
printf("欢迎来到银行\n");break; //输出该语句。后跳出这个循环,执行下个函数(也就是定义的操作界面)
}
else //如果密码输入错误
{
printf("请重新输入密码:"); //重新输入密码,循环三次
}
if (i==4) //当第四遍时,则执行下列语句
{
printf("账户冻结"); //账户冻结
exit(0); //退出函数,退出这个系统
}
}
}
int service() //操作界面
{
int select; //设置变量,
printf("\n^^^^^^^^^^^^ 1 取钱 ^^^^^^^^^^^^^^^^^^^^^^\n");
printf("\n^^^^^^^^^^^^ 2 存款 ^^^^^^^^^^^^^^^^^^^^^^\n");
printf("\n^^^^^^^^^^^^ 3 修改密码 ^^^^^^^^^^^^^^^^^^^^^^\n");
printf("\n^^^^^^^^^^^^ 4 查询余额 ^^^^^^^^^^^^^^^^^^^^^^\n");
printf("\n^^^^^^^^^^^^ 5 快速取款 ^^^^^^^^^^^^^^^^^^^^^^\n");
printf("\n^^^^^^^^^^^^ 6 退卡 ^^^^^^^^^^^^^^^^^^^^^^\n");
printf("您的选择是: ");
scanf("%d",&select);
return select; //将用户输入的字符返回,以便在最后利用switch语句调用子函数
}
void qk() //取款
{
int number; //number就是用户想要取款的金额
char flag; //设立变量,后面用来进行是否打印凭条的判断
printf("取款金额:"); //取款金额
scanf("%d",&number);
if(number<=total) //如果余额充足
{
printf("取款成功");//取款成功
total-=number;
printf("是否打印凭条(0/1)?");
scanf("%d",&flag);
if (flag==1) //用户输入1,则打印凭条
{
printf("你于2019年12月4日19:23:54取走%d元",number);
}
else
{
printf("依法纳税是每个人的义务");
}
}
else //如果余额不足
{
printf("您的余额不足!憨货");
}
}
void cxye(int a) //查询余额
{
printf("您当前可用余额为%d元",a);
}
void xgmm() //修改密码
{
int i,t,temp,temp0,password;
printf("请输入您的旧码?\n");
for(i=1;i<=3;i++) //最开始的循环,原始密码可输错三次
{
scanf("%d",&password);
if (password==000000) //如果原始密码输入正确,因为在开始已经给password赋值0000000,所以原始密码就是000000
{
printf("请输入新密码:\n"); //第一次输入密码,并用temp代表它
scanf("%d",&temp);
printf("请再次确认您的密码:"); // 第二次输入你想修改的密码,用temp0代表它
for (t=1;t<=3;t++) //三次循环,你想修改的密码,再输入第一次后,可输错三次
{
scanf("%d",&temp0);
if (temp==temp0) //假如其中有一次密码输入和第一次输入的修改密码相同
{
printf("您的密码修改成功!");break; //则显示修改成功,并跳出当前循环
}
else //如果第二次修改密码不正确,则提示再次输入
{
printf("请重新输入您的密码?");
{
if(t=4) //如果在当前循环下,连续三次两次修改密码不一致,则账户冻结,并退出当前系统
printf("您的账户已被冻结");
exit(0);
}
}
}
break; //第二次跳出,第一次密码修改成功后跳出循环到这里,再由这里跳出这个循环,执行下个子函数
}
printf("请重新输入您的原始密码?");//原始密码输入错误
}
if(t=4) //如果原始密码三次输入错误,则账户冻结,并退出当前系统
{
printf("您的账户已被冻结");
exit(0);
}
}
void ksqk() //快速取款
{
int number,flag,select;
printf("1(100)\t2(300)\t3(500)\t4(1000)\n"); //列出快速取款的选项,\t是输出空格的意思(转义字符)
printf("请输入您的选项:");
scanf("%d",&number);
switch(select) //switch语句,列出所有并列的情况,并根据select进行比较,select由用户输入并返回
{
case 1:number=100;break;
case 2:number=300;break;
case 3:number=500;break;
case 4:number=1000;break;
}
if (total>=number) //余额>取款金额
{
total-=number; //余额=余额-取款金额
printf("取款成功");
printf("是否打印凭条(0/1)?");
scanf("%d",&flag);
if (flag==1)
{
printf("你于2019年12月4日19:23:54取走%d元",number);
}
else
{
printf("依法纳税是每个人的义务");
}
}
else
{
printf("余额不足");
}
}
void ck() //存款
{
int number,flag;
printf("请存入现金");
scanf("%d",&number);
printf("请稍等");
printf("存款成功");
total+=number; //余额=余额+存款
printf("是否打印凭条(0/1)?");
scanf("%d",&flag);
if (flag==1)
{
printf("你于2019年12月4日19:23:54存入%d元",number);
}
else
{
printf("依法纳税是每个人的义务");
}
}
void kk () //退卡
{
printf("欢迎您的使用");
exit(0);
}
void main()
{
int select; //设立变量select
pass(); //登录密码的函数
while(1) //while循环语句,参数为1,时就执行下列下面的语句。
{
select=service(); //select=操作界面的子函数
switch(select)
{
case 1: qk();break;
case 2: ck();break;
case 3: xgmm();break;
case 4: cxye(total);break;
case 5: ksqk();break;
case 6: kk();break;
default:printf("feifacaozuo");break;
}
}
}