搜档网
当前位置:搜档网 › 基于C语言设计ATM机

基于C语言设计ATM机

#include
#include
#include
#include

////////结构体//////
struct s1
{
char ID[32]; //帐号
char password[7]; //密码
float money; //余额
}a[1000];

/////////定义全局变量/////

int s,f;//,q=0,w=0,e=0;
static int y,r=0;

//////////声明函数/////////


void enter();
void a1();
void a2();
void a3();
void a4();
void a5();
void a6();
void a7();
void a8();
void a9();
void a10();
void a11();

//////////管理员菜单///////
void a10()
{

printf("\t\t************请选择操作功能***************\n\n");
printf("1.注册\n");
printf("2.查找\n");
printf("3.统计\n");
printf("0.返回\n");
printf("**************************************************\n");
printf("\t\t请选择功能(0~3):");
}

/////////注册用户//////

void a1()
{
FILE*fp1;
int c1=0,c2;
//static int r=0;
char b2[7],b3[7],b4[7]="q";
fp1=fopen("2409.txt","a+");
do
{
system("cls");
printf("\t\t********************欢迎使用户注册系统********************\n\n");
printf("按q退出\n");
printf("%d号客户\n",r+1);
printf("请输入账号\n");
scanf("%s",a[r].ID);
if(strcmp(a[r].ID,b4)==0)
{

fclose(fp1);
return;
}
if(a[r].ID)
{
printf("请输入密码\n");
scanf("%s",b3);
printf("请再一次输入密码\n");
for(c2=0;c2<3;c2++)
{
scanf("%s",b2);
if(strcmp(b3,b2)==0)
{
strcpy(a[r]. password,b2);break;
}
else if(c2==2) break;
else printf("请重新输入密码\n");
}
if(c2==2)
{
printf("对不起管理员禁止你的操作\n");
return;
}
}
printf("请输入你要存的金额\n");
scanf("%f",&a[r].money);
fwrite(&a[r],sizeof(struct s1),1,fp1);
r++;
c1++;
}
while(c1<1000);

}

//////////信息查找//////////
void a2()
{
FILE*fp1;
char b3[32];
int c1;
fp1=fopen("2409.txt","r");
system("cls");
printf("请输入账号\n");
scanf("%s",b3);
for(c1=0;c1<1000;c1++)
{
fread(&a[c1],sizeof(struct s1),1,fp1);
if(strlen(a[c1].ID)==0)break;
if(strcmp(b3,a[c1].ID)==0)
{
printf("账号:%s\n密码:%s\n金额:%f\n",a[c1].ID,a[c1].password,a[c1].money);
break;
}
else
{
if(strlen(a[c1].ID)==0)
{
break;
printf("对不起没有你的信息\n");
}
}
fclose(fp1);
}
}
////////统计函数///////

void a3()
{
FILE *fp1;
int s,q=-1,w=0,e=0;
fp1=fopen("2409.txt","r");
fread(a,sizeof(a[1000]),1000,fp1);
for(s=0;s<1000;s++)
{
fread(&a[s],sizeof(struct s1),1,fp1);
if(strlen(a[s].ID)==0)break;
if(a[s].money<=100.00)
{
q=q+1;
}
if(100.00<=a[s].money&&a[s].money<=10000.00)
{
w=w+1;
}
if(10000.00<=a[s].money)
{
e=e+1;
}
}
printf("0-100的有有%d\n",q);
printf("100-10000的有有%d\n",w);
printf("10000以上的有有%d\n",e);
fclose(fp1);
}


/////////管理员登录///////

void enter()
{
FILE*fp;
int x;
char b[8]="1009ao",b1[8];
fp=fopen("109.txt","w");
fputs(b,fp);
fclose(fp);
system("cls");
printf("\t\t********************欢迎使用管理员登录系统********************\n\n");
printf("请输入密码\n");
scanf("%s",b1);

fp=fopen("109.txt","r");
fgets(b,9,fp);
if(strcmp(b1,b)==0)
{
while(2)
{
a10();
scanf("%d",&x);
switch(x)
{
case 1:
a1(); //注册
break;
case 2:
a2(); //查找
break;
case 3:
a3(); //统计
break;
default:return;
}
}

}
fclose(fp);
}

////////////客户菜单/////////
void a4()
{

printf("\t*******************欢迎使用自动取款机**********************\n");
printf("\t\t************系统菜单***************\n\n");
printf("1.管理员登录\n");
printf("2.取款\n");
printf("3.存钱\n");
printf("4.转账\n");
printf("5.查询余额\n");
printf("6.修改密码\n");
printf("7.返回\n");
printf("**************************************************\n");
printf("\t\t请选择功能(1~7):");
}

//////////////登录函数///////////
void a5()
{
FILE*fp1;
char d[32],d1[7];
int c;
int c1;
fp1=fopen("2409.txt","r");
system("cls");
printf("请输入账号\n");
scanf("%s",d);

for(c=0;c<1000;c++)
{
fread(&a[c],sizeof(struct s1),1,fp1);
if(strlen(a[c].ID)==0)break;
if(strcmp(d,a[c].ID)==0)
{
y=c;
printf("请输入密码\n");
for(c1=0;c1<3;c1++)
{
scanf("%s",d1);
if(strcmp(a[c].password,d1)==0)break;

else
{
if(c1==2) break;
else printf("请重新输入密码\n");
}
}
if(c1==2)
{
printf("对不起管理员禁止你的操作\n");
return;
}
break;
}
}
//if(strcmp(d,a[c].ID)!=0)return;
fclose(fp1);
}

//////////取款函数////////

void a6()
{
FILE*fp1;
float b2=0;
fp1=fopen("2409.txt","r");
fread(&a[y],sizeof(struct s1),1,fp1);
system("cls");
printf("请输入取款金额\n");
scanf("%f",&b2);
if(a[y].money>=b2)
{
a[y].money-=b2;
printf("取款成功\n");
}
else
{
printf("对不起你的操作无效\n");
}
fp1=fopen("2409.txt","r+");
fwrite(&a[y],sizeof(struct s1),1,fp1);
fclose(fp1);
}

/////////存款函数//////////
void a7()
{
FILE*fp1;
float b3=0;
fp1=fopen("2409.txt","r");
fread(&a[y],sizeof(struct s1),1,fp1);
system("cls");
printf("请输入存款金额\n");
scanf("%f",&b3);
if(b3<=10000)
{
a[y].money+=b3;
printf("存款成功\n");
}
else
{
printf("对不起你的操作无效\n");
}
fp1=fopen("2409.txt","r+");
fwrite(&a[y],sizeof(struct s1),1,fp1);
fclose(fp1);
}

//////////转账函数/////////
void a8()
{
FILE*fp1;
char b4[32];
int c;
float b5=0;
fp1=fopen("2409.txt","r");
fread(&a[y],sizeof(struct s1),1,fp1);
//fclose(fp1);
system("cls");
pr

intf("请输入转账号码\n");
scanf("%s",b4);
//fp1=fopen("2409.txt","r");
for(c=0;c<1000;c++)
{
fread(&a[c],sizeof(struct s1),1,fp1);
if(strlen(a[c].ID)==0)break;
if(strcmp(b4,a[c].ID)==0)break;
}
if(strcmp(b4,a[c].ID)==0)
{
printf("请输入转账金额\n");
scanf("%f",&b5);
if(a[y].money>=b5)
{
a[y].money-=b5;
a[c].money+=b5;
//fwrite(&a[c],sizeof(struct s1),1,fp1);

printf("转账成功\n");
}
else
{
printf("对不起你的操作无效\n");
}
}
fp1=fopen("2409.txt","r+");
fwrite(&a[c],sizeof(struct s1),1,fp1);
fwrite(&a[y],sizeof(struct s1),1,fp1);
fclose(fp1);

}


/////////修改密码//////////////
void a9()
{
FILE*fp1;
int c6,c1;
char b2[7],b3[7],b4[7],b5[32];
fp1=fopen("2409.txt","r");
fread(&a[y],sizeof(struct s1),1,fp1);
system("cls");
printf("请输入账号\n");
scanf("%s",b5);
for(c6=0;c6<1000;c6++)
{
if(strcmp(a[c6].ID,b5)==0)
{
printf("请输入旧密码\n");
scanf("%s",b2);
if(strcmp(a[c6].password,b2)==0)
{
printf("请输入新密码\n");
scanf("%s",b3);
printf("请再一次输入新密码\n");
for(c1=0;c1<3;c1++)
{

scanf("%s",b4);
if(strcmp(b3,b4)==0)
{
strcpy(a[c6]. password,b3);break;
}
else if(c1==2) break;
else printf("请重新输入密码\n");
}
if(c1==2)
{
printf("对不起管理员禁止你的操作\n");
return;
}
}
}
fp1=fopen("2409.txt","r+");
fwrite(&a[y],sizeof(struct s1),1,fp1);
fclose(fp1);
}
}
////////////用户登录函数/////////
void a11()
{
int x;
while (6)
{
a5();
{
while (6)
{
a4();
scanf("%d",&x);
switch (x)
{
case 1:
enter();
break;
case 2:
a6();
break;
case 3:
a7();
break;
case 4:
a8();
break;
case 5:
printf("%f\n",a[y].money);
break;
case 6:
a9();
break;
default:return;
}

}

}
}
}

////////////主函数/////////

void main()
{
int x;
while(1)
{
system("cls");
printf("\n\n");
printf("\t\t********************欢迎使用登录系统********************\n\n");
printf("\t\t\t**************请登录**************\n\n");
printf("\t\t1.管理员登录\n");
printf("\t\t2.用户登录\n");
scanf("%d",&x);


switch(x)
{
case 1:
enter();
break;
case 2:
a11();
break;
}


}


}

相关主题