#include <stdio.h>
#include <conio.h>
#include<Windows.h>
struct bank {
char name[20];
int num;
char pswd[100];
char phone[100];
char addr[100];
int money;
};
struct bank person[1000];
struct operation {
char name[20];
int num;
char pswd[100];
int n;
int qu[1000];
int cun[1000];
int scun[1000];
int squ[1000];
};
struct operation people[1000];
int i, m = 0, a = 0, b = 0, j, jine, num, k = 0;
//--------------------设置密码----------------------
void setpswd(char pswd[])
{
int x = 0;
printf("\t\t\t请输入您的密码:");
while (1) {
pswd[x] = _getch();
if (pswd[x] != '\r') {
printf("*");
++x;
}
else break;
}
pswd[x] = '\0';
printf("\n");
}
//------------------输入账号------------------------
int putnum()
{
int a = -1;
while (a < 0)
{
printf("\t\t\t请输入您的账号:");
scanf("%d", &num);
for (i = 0; i < 1000; i++)
{
if (person[i].num == num)
{
return a = 1;
// break; 执行到return语句处,整个程序便结束,不会执行下边的break语句
}
else if (person[i].num == 0)
{
printf("\t\t\t您输入的账号不存在,请重新输入");
Sleep(1000);
fflush(stdin);
system("cls");
printf("\n\n\n\n");
break;
}
}
}
}
//------------------输入密码----------------------
void putpswd()
{
int z = 0;
char pswd[100];
fflush(stdin);
while (1)
{
setpswd(pswd);
if (strcmp(person[i].pswd, pswd) == 0)
break;
else
{
z++;
if (z == 3)
{
printf("\t\t\t您已连续三次输入密码错误,系统将在三秒后自动退出!");
for (int i = 0; i < 3; i++)
{
Sleep(1000);
printf("\t\t\t%d", 3 - i);
}
exit(0);
}
printf("\t\t\t您输入的密码有误,请重新输入! ");
}
}
}
//----------------------信息录入----------------------
void xxlu()
{
system("cls");
printf("\n\n\n\n\n\n");
printf("\t\t\t请输入用户姓名:");
scanf("%s", person[k].name);
printf("\t\t\t请输入地址:");
scanf("%s", &person[k].addr);
printf("\t\t\t请输入电话:");
scanf("%s", &person[k].phone);
printf("\t\t\t请输入你的新账号");
scanf("%d", &person[k].num);
setpswd(person[k].pswd);
strcpy(people[k].pswd, person[k].pswd);
strcpy(people[k].name, person[k].name);
people[k].num = person[k].num;
while (1) {
printf("\t\t\t请输入初始金额(不少于一元!):");
scanf("%d", &jine);
fflush(stdin);
if (jine >= 1)break;
else printf("\t\t\t金额不足,请重新输入!");
}
person[k].money += jine;
people[k].n = person[k].money;
system("cls");
printf("\n\n\n\n\n\n\n\n\n");
printf("\t\t\t开户成功,请牢记您的账户信息:\n");
printf("\t\t\t姓名%s\n\t\t\t电话:%s\n\t\t\t账号:%d\n\t\t\t余额:%d\n", person[k].name, person[k].phone, person[k].num, person[k].money);
printf("\t\t\t 请按任意键返回!");
k++;
_getch();
system("cls");
}
//------------------存取款款查询-------
void cqcx()
{
int j = 0;
system("cls");
printf("\n\n\n");
int y = putnum();
fflush(stdin);
putpswd();
printf("\t\t\t姓名\t\t\t存取款\t\t\t余额\n");
for (j = 0; j < a; j++) printf("\t\t\t%s\t\t\t%d\t\t\t%d\n", person[i].name, people[i].cun[j], people[i].scun[j]);
//printf("\t\t\t姓名\t\t\t取款\t\t\t余额\n");
for (j = 0; j < b; j++) printf("\t\t\t%s\t\t\t%d\t\t\t%d\n", person[i].name, people[i].qu[j], people[i].squ[j]);
printf("\t\t\t");
printf("\t\t\t 请按任意键返回!");
_getch();
system("cls");
}
//------------------------存款-----------------
void cunkuan()
{
system("cls");
printf("\n\n\n");
int y = putnum();
fflush(stdin);
putpswd();
printf("\t\t\t请输入存款金额:");
scanf("%d", &jine);
person[i].money += jine;
people[i].scun[a] = person[i].money;
printf("\t\t\t余额为:%d", person[i].money);
//printf("%d",person[i].money);
m++;
people[i].cun[a++] = jine;
printf("\t\t\t存款成功按任意键返回!");
_getch();
system("cls");
}
//------------------------查询-----------------
void chaxun()
{
system("cls");
printf("\n\n\n\n");
int y = putnum();
putpswd();
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf("\t\t\t姓名:%s\n\t\t\t电话:%s\n\t\t\t地址:%s\n\t\t\t账号:%d\n\t\t\t您的余额为:%d\n", &person[i].name, person[i].phone, person[i].addr, person[i].num, person[i].money);
//for()
printf("\t\t\t查询成功按任意键返回!");
_getch();
system("cls");
}
//------------------------取款-----------------
void qukuan()
{
system("cls");
printf("\n\n\n");
int y = putnum();
putpswd();
while (1)
{
printf("\t\t\t请输入您的取款金额");
scanf("%d", &jine);
if (jine > person[i].money)
printf("\t\t\t您的余额不足,请重新输入!");
else break;
}
person[i].money -= jine;
people[i].squ[b] = person[i].money;
printf("\t\t\t您的余额为:");
printf("%d", person[i].money);
m++;
people[i].qu[b++] = -jine;
printf("\t\t\t取款成功按任意键返回!");
_getch();
system("cls");
}
//---------------------------主界面-------------------------------
void zhujiemian()
{
int i;
while (1)
{
printf("\n\n\n\n\n\n");
printf("\t\t\t************************************************\n");
printf("\t\t\t* *\n");
printf("\t\t\t* 欢迎进入银行 *\n");
printf("\t\t\t* *\n");
printf("\t\t\t************************************************\n");
printf("\t\t\t 1.开户\n");
printf("\t\t\t 2.存款\n");
printf("\t\t\t 3.查询\n");
printf("\t\t\t 4.取款\n");
printf("\t\t\t 5.存取款查询\n");
printf("\t\t\t 6.退出\n");
printf("\t\t\t请输入您要办理的业务的编号:");
scanf("%d", &i);
if (1 <= i && i <= 6)
{
switch (i)
{
case 1:xxlu(); break;
case 2:cunkuan(); break;
case 3:chaxun(); break;
case 4:qukuan(); break;
case 5:cqcx(); break;
case 6:exit(0); break;
}break;
}
else
{
printf("\t\t\t 您输入的编号有误,请重新输入!");
Sleep(1000);
fflush(stdin);
system("cls");
}
}
zhujiemian();
}
//-----------------------main函数---------------------------------
int main(void)
{
int j;
system("color 1e");
printf("\n\n\n");
printf("\t\t\t %c ", 1);
printf("欢迎登录银行!\n\n\n\n\n\n\n\n");
printf("正在进入,请等候...");
for (j = 0; j < 100; j++)
{
Sleep(10);
printf(">");
}
system("cls");
zhujiemian();
return 0;
}