#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <time.h>
void openaccount();//开户
void save();//存款
void withdraw();//取款
void showAccount();//查询
void cancelAccount(); //注销账户
int load();//登陆账号
int accountnum=0;//定义全局变量,用来计算账户数目
int nowaccount=0;//登录成功是的账户
struct Bank
{
char account[20]; //账号
int balance;//账户余额
int state;//状态
}; //结构体
struct Bank banks[100];
int load()
{
int right=0,i=0,j;
int r1,r2;
char account1[20]= {0};
for(j=0; j<accountnum; j++)
{
r1=strcmp(account1,banks[j].account);
if(r1==0&&r2==0)
{
nowaccount=j;
if(banks[j].state==0)
{
printf("登录成功!\n");//登录成功
right=1;
}
break;
}
}
if(right==0)
printf("登陆失败!\n");
return right;
}
int main()
{
int i=0,num;
char a[100];
FILE *fp;
if((fp=fopen("account.txt","r"))==NULL)
{
if((fp=fopen("account.txt","w"))==NULL)
{
printf("失败!\n");
exit(1);
}
}
while(fscanf(fp,"%s%s%d",banks[i].account,banks[i].balance,&banks[i].state)!=EOF)
{
accountnum++;
i++;
}
fclose(fp);
printf("欢迎来到我的银行\n");
while(1)
{
printf("请选择业务:\n");
printf("1.开户 \n");
printf("2.存款 \n");
printf("3.取款 \n");
printf("4.查询 \n");
printf("5.销户 \n");
printf("0.退出 \n");
scanf("%s",a);
num=atoi(a);
if(num==1)
openaccount();//开户
else if(num==2)
save();//存款
else if(num==3)
withdraw();//取款
else if(num==4)
showAccount();//查询
else if(num==5)
cancelAccount(); //注销账户
else if(num==0)
{
printf("欢迎下次再来\n");
break;
}
else
printf("抱歉,没有此业务\n");
}
if((fp=fopen("account.txt","w"))==NULL)
{
printf("失败!\n");
exit(1);
}
for(i=0; i<accountnum; i++)
{
fprintf(fp,"%s\t%s\t%d\n",banks[i].account,banks[i].balance,banks[i].state);
}
fclose(fp);
return 0;
}
void openaccount()
{
int i=0,j=0;
int r;
char ch;
printf("账户(十位数):\n");
scanf("%s",banks[accountnum].account);
while(banks[accountnum].account[i]!='\0')
i++;
if(i!=10)
{
printf("输入账号有误\n");
return;
}
{
printf("开户成功\n");
}
}
void save()
{
if(load()!=1)
return;
char addmoney[10];//存入金额
int money;//将字符型转化为int型
int i=0;
printf("存入金额:\n");
scanf("%s",addmoney);
while(addmoney[i]!='\0')
{
if(addmoney[i]<'0'||addmoney[i]>'9')
{
printf("输入格式错误!\n");
return;
}
i++;
}
while(addmoney[i]!='\0')
{
if(i>9)
{
printf("金额超限\n");
return;
}
i++;
}
money=atoi(addmoney);
if(money==0)
{
printf("存款失败\n");
return;
}
else
{
banks[nowaccount].balance+=money;
printf("存款成功\n");
}
}
void withdraw()
{
if(load()!=1)
return;
char reducemoney[10];//取款金额
int money,i=0;
printf("请输入取款金额\n");
scanf("%s",reducemoney);
while(reducemoney[i]!='\0')
{
if(reducemoney[i]<'0'||reducemoney[i]>'9')
{
printf("输入格式错误!\n");
return;
}
i++;
}
while(reducemoney[i]!='\0')
{
if(i>9)
{
printf("金额超限\n");
return;
}
i++;
}
money=atoi(reducemoney);
if(money==0)
{
printf("取款失败\n");
return;
}
else
{
if(money>banks[nowaccount].balance)
printf("您的账户没有这么多余额,取款失败!\n");
else
{
banks[nowaccount].balance-=money;
printf("取款成功\n");
}
}
}
void showAccount()
{
if(load()!=1&&load()!=2)
return;
printf("您的账户信息如下:\n");
printf("账号:%s\t余额:%d\n",banks[nowaccount].account,banks[nowaccount].balance);
return ;
}
cancelAccount()
函数没有实现
报错的这个函数找不到实现代码啊,只有函数申明