You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

351 lines
6.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
void yonghudlscreen();
void zhucescreen();
void zhanghuye();
void cunkuan();
void qukuan();
void zhanghucr();
void zhanghuxg();
void zhanghusc();
void gerendlscreen();
void mainscreen();
void saverecords();
int load();
struct person
{
char number[50],password[50],name[50],num[50];
}p1;
int main()
{
mainscreen();
return 0;
}
void mainscreen()
{
int x;
while(1)
{
printf("********** 银行账户管理系统 **********\n");
printf("\n\n\n");
printf("********** 1.用户登录 **********\n");
printf("********** 2.用户注册 **********\n");
printf("********** 0.返回系统 **********\n");
printf("\n\n\n");
printf("请输入操作0-2");
scanf("%d",&x);
if(x==0)
break;
switch(x)
{
case 1:yonghudlscreen();break;
case 2:zhucescreen();break;
}
}
return;
}
void zhucescreen() //用户注册界面
{
FILE *fp;
int flag=1,x;
load();
while(flag==1){
if((fp=fopen("用户信息.txt","a"))==NULL)
{
printf("文件打开错误!\n");
exit (0);
}
printf("请输入银行账户:\n");
scanf("\n%s",p1.number);
fprintf(fp,"\n%s ",p1.number);
printf("请输入密码:\n");
scanf(" %s",p1.password);
fprintf(fp,"%s ",p1.password);
printf("请输入姓名:\n");
scanf(" %s",p1.name);
fprintf(fp,"%s ",p1.name);
printf("请输入身份证号:\n");
scanf(" %s",p1.num);
fprintf(fp,"%s 0",p1.num);
if(fclose(fp))
{
printf("文件无法关闭!\n");
exit (0);
}
printf("注册成功!\n");
printf("按1再次注册按0退出\n\n");
printf("下步操作: ");
scanf("%d",&flag);
}
return ;
}
void yonghudlscreen()
{
FILE *fp;
int flag=1,x;
load();
while(flag==1){
if((fp=fopen("用户信息.txt","rb"))==NULL)
{
printf("文件打开错误!\n");
exit (0);
}
char mima[32];
printf("请输入银行账户:\n");
scanf("%s",p1.number);
printf("请输入密码:\n");
scanf("%s",mima);
if(strcmp(mima,p1.password)==0)
{
printf("登录成功\n");
gerendlscreen();
}
else
{
printf("密码错误\n");
system("pause");
}
if(fclose(fp))
{
printf("文件无法关闭!\n");
exit (0);
}
}
return;
}
void gerendlscreen()
{
int x;
while(1)
{
printf("********** 功能 **********\n");
printf("\n\n\n");
printf("********** 1.查询账户余额 **********\n");
printf("********** 2.存款 **********\n");
printf("********** 3.取款 **********\n");
printf("********** 4.账户插入 **********\n");
printf("********** 5.账户修改 **********\n");
printf("********** 6.账户删除 **********\n");
printf("********** 0.返回系统 **********\n");
printf("\n\n\n");
printf("请输入操作0-6");
scanf("%d",&x);
switch(x)
{
case 0:mainscreen();break;
case 1:zhanghuye();break;
case 2:cunkuan();break;
case 3:qukuan();break;
case 4:zhanghucr();break;
case 5:zhanghuxg();break;
case 6:zhanghusc();break;
}
}
return;
}
void zhanghuye()
{
FILE *fp;
struct zhanghu
{
int ye;
}Zh;
int flag=1,x;
load();
while(flag==1){
if((fp=fopen("用户信息.txt","rb"))==NULL)
{
printf("文件打开错误!\n");
exit (0);
}
fscanf(fp,"%d",&Zh.ye);
printf("%d\n",Zh.ye);
if(fclose(fp))
{
printf("文件无法关闭!\n");
exit (0);
}
gerendlscreen();
return ;
}
}
void cunkuan()
{
FILE *fp;
struct zhanghu
{
int ye;
}Zh;
int flag=1,a,n;
load();
while(flag==1){
if((fp=fopen("用户信息.txt","wb"))==NULL)
{
printf("文件打开错误!\n");
exit (0);
}
printf("请输入存款金额:");
scanf("%d",&a);
fscanf(fp,"%d",&Zh.ye);
Zh.ye=Zh.ye+a;
fprintf(fp,"%d",Zh.ye);
printf("%d\n",Zh.ye);
if(fclose(fp))
{
printf("文件无法关闭!\n");
exit (0);
}
gerendlscreen();
return ;
}
}
void qukuan()
{
FILE *fp;
struct zhanghu
{
int ye;
}Zh;
int flag=1,a;
load();
while(flag==1){
if((fp=fopen("用户信息.txt","wb"))==NULL)
{
printf("文件打开错误!\n");
exit (0);
}
scanf("%d",&a);
fscanf(fp,"%d",&Zh.ye);
if(a>Zh.ye)
printf("账户余额不足\n");
else{
Zh.ye=Zh.ye-a;
fprintf(fp,"%d",Zh.ye);
}
if(fclose(fp))
{
printf("文件无法关闭!\n");
exit (0);
}
gerendlscreen();
return ;
}
}
void zhanghucr()
{
FILE *fp;
int flag=1,x;
load();
while(flag==1){
if((fp=fopen("用户信息.txt","rb"))==NULL)
{
printf("文件打开错误!\n");
exit (0);
}
char mima[32];
printf("插入新的账户\n");
printf("请输入银行账户:\n");
scanf("%s",p1.number);
printf("请输入密码:\n");
scanf("%s",mima);
if(strcmp(mima,p1.password)==0)
{
printf("登录成功\n");
gerendlscreen();
}
else
{
printf("密码错误\n");
system("pause");
}
if(fclose(fp))
{
printf("文件无法关闭!\n");
exit (0);
}
gerendlscreen();
return;
}
}
void zhanghuxg()
{
FILE *fp;
int flag=1,x;
load();
while(flag==1)
{
if((fp=fopen("用户信息.txt","wb"))==NULL)
{
printf("文件打开错误!\n");
exit (0);
}
printf("请输入银行账户:\n");
scanf("\n%s",p1.number);
printf("请输入新密码:\n");
scanf(" %s",p1.password);
fprintf(fp,"%s ",p1.password);
if(fclose(fp))
{
printf("文件无法关闭!\n");
exit (0);
}
printf("修改成功!\n");
printf("按1继续修改按0退出\n\n");
printf("下步操作: ");
scanf("%d",&flag);
}
gerendlscreen();
return;
}
void zhanghusc()
{
int i,j,n;
char number[50];
int k=-1;
FILE *fp;
n=load();
printf("\n\n输入要删除的账户:");
scanf("%s",&number);
if((fp=fopen("用户信息.txt","w"))==NULL)
{
printf("\n\n打开文件失败\n\n");
}
for(j=0;j<n;j++)
if(strcmp(p1.number,number)==1)
{
k=0;
break;
}
if(k==-1)
{
printf("该账户不存在!\n");
}
for(i=0;i<n;i++) if(i!=j)
/********删除选项,并自动调整其他所有选项*************/
fprintf(fp,"%s %s %s %s\n",p1.number,p1.password,p1.name,p1.num);
fclose(fp);
return;
}
int load()//**********加载函数**********/
/***********加载所有记录,并且可以返回所有记录的个数********/
{
FILE *fp;
int i;
if((fp=fopen("用户信息.txt","r"))==NULL)
{
printf("\n打开文件失败!\n");
return 0;
}
for(i=0;!feof(fp);i++)
fscanf(fp,"%s%s%s%s",&p1.number,&p1.password,&p1.name,&p1.num);
fclose(fp);
return(i);
}