ATM取存款机
#include<stdio.h> /*引用库函数*/
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<time.h>
#define ZHANGHUSHU 10 /*宏定义*/
#define JIAOYISHU 20
/*结构体定义*/
义结构体JiaoYi*/ struct JiaoYi /*定
{
char shijian[50]; /*结构体成员*/
char leixing[5]; /*结构体成员*/
float jine; /*结构体成员*/
float yue; /*结构体成员*/
};
struct ZhangHu /*定义结构体ZhangHu*/
{
char zhanghao[15]; /*结构体成员*/
char xingming[11]; /*结构体成员*/
char shenfengzheng[20]; /*结构体成员*/
char mima[7]; /*结构体成员*/
float yue; /*结构体成员*/
int jiaoyishu; /*结构体成员*/
struct JiaoYi jiaoyi[JIAOYISHU];/*成员 jiaoyi[JIAOYI]属于struct JiaoYi 类型*/
};
struct ZhangHu zhanghu[ZHANGHUSHU];/*成员 zhanghu[ZHANGHUSHU]属
于struct ZhangHu 类型*/
int zhanghushu=0; /*定义变量并赋初值0*/
int dangqianzhanghuxiabiao;
/*******************************************************************
*************/
/*函数声明*/
int zhucaidan(); /*声明主菜单函数*/
void zhuce(); /*声明注册函数*/
void denglu(); /*声明登录函数*/
void baocun(); /*声明保存函数*/
void cunkuan(); /*声明存款函数*/
void qukuan(); /*声明取款函数*/
void zhuanzhang(); /*声明转账函数*/
void chaxun(); /*声明查询函数*/
void xiugaimima(); /*声明修改密码函数*/
int chaxuncaidan(); /*声明查询菜单函数*/
void chaxunyue(); /*声明查询余额函数*/
void chaxuncunkuanjilu(); /*声明查询存款记录函数*/
void chaxunqukuanjilu(); /*声明查询取款记录函数*/
void chaxunzhuanzhangjilu(); /*声明查询转账函数*/
void chaxunsuoyoujilu(); /*声明查询所有记录函数*/
void dakai(); /*声明打开函数*/
void chaxunchongzhijilu(); /*声明查询充值记录函数*/
void jiami(); /*声明加密函数*/
void jiemi(); /*声明解密函数*/
void xianshidangqianjiaoyi(int i); /*声明显示当前交易函数*/
/*******************************************************************
************/
/*主函数*/
void main()
{
textbackground(RED);
textcolor(YELLOW);
clrscr();
dakai();
for(;;)
{
switch(zhucaidan()) /*选择判断*/
{
case 1:
zhuce(); /*调用zhuce()函数*/
break;
case 2:
denglu(); /*调用denglu()函数*/
break;
case 3:
baocun(); /*调用baocun()函数*/
break;
case 0:
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
printf("\n\n\n\t\t\t欢迎使用ATM存取款一体机,谢谢~\n"); /*结束
程序*/
printf("\t\t\t");
return;
}
}
}
/*******************************************************************
************/
/*菜单函数*/
int zhucaidan()/*主菜单*/
{
char c;
do{
system("cls"); /*每次选择运行前清屏*/
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
printf("\t\t ****ATM存取款一体机系统菜单****\n\n"); /*菜单选择*/
\n"); printf("\t\t *| 1. 注册 |
printf("\t\t *| 2. 登录 |\n");
printf("\t\t *| 3. 保存 |\n");
printf("\t\t *| 0. 退出 |\n");
printf("\t\t********************************\n");
printf("\t\t\t请作出选择(0-3):");
c=getchar(); /*读入选择*/
}while(c<’0’||c>’3’);
return(c-’0’); /*c变为空后返回重新选择*/
}
void xianshidangqianjiaoyi(int i)
{
printf("\t\t交易时间\t\t金额\t\t余额\t\t类型\n");
printf("\t%30s\t%10.2fs\t\t%10.2f\t\t%5s\n",zhanghu[dangqianzhanghu
xiabiao].jiaoyi[i].shijian, zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].jine,
zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].yue,zhanghu[dangqianzhanghuxiabiao].
jiaoyi[i].leixing);
getch();
}
int caozuocaidan()/*操作菜单*/
{
char c;
do{
system("cls"); /*每次选择运行前清屏*/
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
\n\n"); /*菜单选择*/ printf("\t\t\t*********欢迎你~*********
printf("\t\t *| 1. 存款 |\n");
printf("\t\t *| 2. 取款 |\n");
printf("\t\t *| 3. 转账 |\n");
printf("\t\t *| 4. 查询 |\n");
printf("\t\t *| 5. 修改密码 |\n");
printf("\t\t *| 6. 手机充值 |\n");
printf("\t\t *| 0. 退出 |\n");
printf("\t\t****************************\n");
-6):"); printf("\t\t\t请作出选择(0
c=getchar(); /*读入选择*/
}while(c<’0’||c>’6’);
return(c-’0’); /*c变为空后返回重新选择*/
}
int chaxuncaidan()/*查询菜单*/
{
char c;
do{
system("cls"); /*每次选择运行前清屏*/
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
printf("\t\t ***********欢迎你~***********\n\n"); /*菜单选择*/
printf("\t\t *| 1. 查询余额 |\n");
printf("\t\t *| 2. 查询存款记录 |\n");
printf("\t\t *| 3. 查询取款记录 |\n");
printf("\t\t *| 4. 查询转账记录 |\n");
printf("\t\t *| 5. 查询所有记录 |\n");
printf("\t\t *| 6. 查询充值记录 |\n");
printf("\t\t *| 0. 返回 |\n");
printf("\t\t*******************************\n");
printf("\t\t\t请作出选择(0-6):");
c=getchar(); /*读入选择*/
}while(c<’0’||c>’6’);
return(c-’0’); /*c变为空后返回重新选择*/
}
/*******************************************************************
************/
*/ /*函数定义
void cunkuan()/*定义存款函数*/
{
int i;
float cunkuanjine;
int jiaoyixiabiao;
char t[30];
char sign;
time_t rawtime;
struct tm *timeinfo;
time(&rawtime);
timeinfo=localtime(&rawtime);
strcpy(t,asctime(timeinfo));
for(i=0;i<strlen(t);i++)
if(t[i]==‘\n’)
{
t[i]==‘\0’;
break;
}
printf("\n\n\t提示:存款金额不能超过1000元且要为50或100的面
额!\n"); printf("\n\n\t\t\t请输入存款金额:");
scanf("%f",&cunkuanjine);
if(cunkuanjine<0||cunkuanjine>1000||(int)cunkuanjine%50!=0)
{
printf("\n\n\t\t\t金额不符合要求,请重新选择~\n");
sleep(3);
return;
}
else
{
jiaoyixiabiao=zhanghu[dangqianzhanghuxiabiao].jiaoyishu;
strcpy(zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].shijian,t);
strcpy(zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].leixing,"存款
");
zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].jine=cunkuanjine;
zhanghu[dangqianzhanghuxiabiao].yue+=cunkuanjine;
zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].yue=zhanghu[dangqianzha
nghuxiabiao].yue;
zhanghu[dangqianzhanghuxiabiao].jiaoyishu++;
printf("\n\n");
printf("\t\t\t你本次存款金额为:%.2f\n",cunkuanjine);
printf("\t\t\t你当前的余额
为:%.2f\n",zhanghu[dangqianzhanghuxiabiao].yue);
printf("\t\t\t存款成功~\n\t\t\t");
if((int)zhanghu[dangqianzhanghuxiabiao].yue>=3000)
{
system("pause");
textbackground(RED);
textcolor(YELLOW);
clrscr();
printf("\n\n\t\t\t尊敬的用户,你好~\n\t你的金额达到VIP会员
,你可以成为我们的会员\n");
printf("\t\t\t是否想加入会员(Y或N)");
scanf("\t\t\t%c",&sign);
while(sign==‘n’||sign==‘N’)
{printf("\t\t\t你选择放弃加入会员~谢谢~");sleep(3);return;}
while(sign==‘y’||sign==‘Y’)
{printf("\t\t\t你选择加入会员~谢谢合作~");sleep(3);return;}
}
system("pause");
}
}
void qukuan()/*定义取款函数*/
{
int i;
float qukuanjine;
int jiaoyixiabiao;
char t[30];
time_t rawtime;
struct tm *timeinfo;
time(&rawtime);
timeinfo=localtime(&rawtime);
strcpy(t,asctime(timeinfo));
for(i=0;i<strlen(t);i++)
if(t[i]==‘\n’)
{
t[i]==‘\0’;
break;
}
printf("\n\n\t提示:取款金额不能超过1000元且要为50或100的面
额!\n"); printf("\n\n\t\t\t你当前的余额
为:%.2f",zhanghu[dangqianzhanghuxiabiao].yue); printf("\n\n\t\t\t
请输入取款金额:");
scanf("%f",&qukuanjine);
if(qukuanjine>zhanghu[dangqianzhanghuxiabiao].yue)
{
printf("\n\n抱歉,余额不足,无法取款~\n");
sleep(3);
return;
}
if(qukuanjine<0||qukuanjine>1000||(int)qukuanjine%50!=0)
{
printf("\n\n\t\t\t金额不符合要求,请重新选择~\n");
sleep(3);
return;
}
else
{
jiaoyixiabiao=zhanghu[dangqianzhanghuxiabiao].jiaoyishu;
strcpy(zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].shijian,t);
strcpy(zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].leixing,"取款
");
zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].jine=qukuanjine;
zhanghu[dangqianzhanghuxiabiao].yue-=qukuanjine;
zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].yue=zhanghu[dangqianzha
nghuxiabiao].yue;
zhanghu[dangqianzhanghuxiabiao].jiaoyishu++;
printf("\n\n");
printf("\t\t\t你本次取款金额为:%.2f\n",qukuanjine);
printf("\t\t\t你当前的余额
为:%.2f\n",zhanghu[dangqianzhanghuxiabiao].yue);
printf("\t\t\t取款成功~\n");
system("pause");
}
}
void zhuanzhang()/*定义转账函数*/
{
int i=0,n,suozhuanzhanghuxiabiao;
int jiaoyixiabiao;
float zhuanzhangjine;
char zhanghao1[12];
char t[30];
time_t rawtime;
struct tm *timeinfo;
time(&rawtime);
timeinfo=localtime(&rawtime);
strcpy(t,asctime(timeinfo));
for(n=0;n<strlen(t);n++)
if(t[n]==‘\n’)
{
t[n]==‘\0’;
break;
}
do{
printf("\n\n\t提示:转账金额不能超过你当前余额且要为50或100的面额!\n"); printf("\n\n\t\t\t你当前的余额为:%.2f",zhanghu[dangqianzhanghuxiabiao].yue);
printf("\n\n\t\t\t请输入对方账号:");
scanf("%s",zhanghao1);
while(strcmp(zhanghao1,zhanghu[i].zhanghao)!=0&&i<zhanghushu)
i++;
if(i==dangqianzhanghuxiabiao)
{
printf("\t\t\t该帐号为你自己的帐号,无法转账!\n");
sleep(2);
return;
}
if(i==zhanghushu)
{
printf("\t\t\t该账号不存在,无法转账!\n");
sleep(2);
return;
}
suozhuanzhanghuxiabiao=i;
break;
}while(1);
do{
printf("\n\n\t\t\t请输入转账金额:");
scanf("%f",&zhuanzhangjine);
if(zhuanzhangjine>zhanghu[dangqianzhanghuxiabiao].yue)
{
printf("\n\n抱歉,余额不足,无法转账!\n");
sleep(3);
return;
}
else
if(zhuanzhangjine<0||(int)zhuanzhangjine%50!=0||zhuanzhangjine>10000)
{
printf("\n\n\t\t\t金额不符合要求,请重新输入~\n");
sleep(2);
system("cls");
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
\n\n"); printf("\t\t ****ATM存取款一体机系统菜单****
}
else
break;
}while(1);
jiaoyixiabiao=zhanghu[dangqianzhanghuxiabiao].jiaoyishu;
strcpy(zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].shijian,t);
strcpy(zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].leixing,"转出
");
zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].jine=zhuanzhangjine; zhanghu[dangqianzhanghuxiabiao].yue-=zhuanzhangjine;
zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].yue=zhanghu[dangqianzhanghuxiabiao].yue;
zhanghu[dangqianzhanghuxiabiao].jiaoyishu++;
jiaoyixiabiao=zhanghu[suozhuanzhanghuxiabiao].jiaoyishu;
strcpy(zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].shijian,t);
strcpy(zhanghu[i].jiaoyi[jiaoyixiabiao].leixing,"转入");
zhanghu[suozhuanzhanghuxiabiao].jiaoyi[jiaoyixiabiao].jine=zhuanzhangjine; zhanghu[suozhuanzhanghuxiabiao].yue+=zhuanzhangjine;
zhanghu[suozhuanzhanghuxiabiao].jiaoyi[jiaoyixiabiao].yue=zhanghu[suozhuanzha
nghuxiabiao].yue;
zhanghu[suozhuanzhanghuxiabiao].jiaoyishu++;
printf("\t\t\t转账成功~\n");
printf("\t\t\t所转金额:%.2f",zhuanzhangjine);
printf("\n\t\t\t你当前的余额
为:%.2f\n",zhanghu[dangqianzhanghuxiabiao].yue);
system("pause");
}
void chaxun()/*定义查询函数*/
{
for(;;)
{
switch(chaxuncaidan()) /*选择判断*/
{
case 1:
chaxunyue();
break;
case 2:
chaxuncunkuanjilu();
break;
case 3:
chaxunqukuanjilu();
break;
case 4:
chaxunzhuanzhangjilu();
break;
case 5:
chaxunsuoyoujilu();
break;
case 6:
chaxunchongzhijilu();
break;
case 0:
return;
}
}
}
void xiugaimima()/*定义修改密码函数*/
{
int i;
char xinmima1[7],xinmima2[7];
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
printf("\n\n\t\t**********你正在修改密码**********");
printf("\n\n\t\t\t请输入新密码:");
i=0;
do{
xinmima1[i++]=getch();/*输入新密码并保存在变量xinmima1*/
printf("*");
}while(i<6);
xinmima1[6]=‘\0’;
printf("\n\n\t\t\t请再次输入新密码:");
i=0;
do{
xinmima2[i++]=getch();/*再次输入新密码并保存在变量xinmima2*/
printf("*");
}while(i<6);
xinmima2[6]=‘\0’;
if(strcmp(xinmima1,xinmima2)==0)
{
strcpy(zhanghu[dangqianzhanghuxiabiao].mima,xinmima1);/*用新密码覆盖旧密码*/ printf("\n\t\t\t修改成功~");
sleep(3);
return;
}
else
printf("\n\t\t两次输入不一致,修改失败~");
sleep(3);
return;
}
void shoujichongzhi()
{
int n;
int jiaoyixiabiao;
float chongzhijine;
char shoujihao[12];
char t[30];
time_t rawtime;
struct tm *timeinfo;
time(&rawtime);
timeinfo=localtime(&rawtime);
strcpy(t,asctime(timeinfo));
for(n=0;n<strlen(t);n++)
if(t[n]==‘\n’)
{
t[n]==‘\0’;
break;
}
do{
printf("\t\t\t请输入手机号:\n\t\t\t");
scanf("%s",&shoujihao);
if(strlen(shoujihao)!=11)
printf("\t\t手机号输入有误,必须为11位,请重新输入~\n");
else
break;
}while(1);
do{
printf("\t\t\t你当前的余额
为:%.2f\n",zhanghu[dangqianzhanghuxiabiao].yue); printf("\t\t请输入充值金额(充值金额需为50的整数倍!):\n\t\t\t");
scanf("%f",&chongzhijine);
if(chongzhijine>zhanghu[dangqianzhanghuxiabiao].yue)
{
printf("\t\t\t余额不足,无法充值~\n");
sleep(2);
return;
}
else
if((int)chongzhijine%50!=0)
printf("\t\t\t输入金额有误~\n");
else
break;
}while(1);
jiaoyixiabiao=zhanghu[dangqianzhanghuxiabiao].jiaoyishu;
strcpy(zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].shijian,t);
strcpy(zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].leixing,"充值");
zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].jine=chongzhijine;
zhanghu[dangqianzhanghuxiabiao].yue-=chongzhijine;
zhanghu[dangqianzhanghuxiabiao].jiaoyi[jiaoyixiabiao].yue=zhanghu[dangqianzha
nghuxiabiao].yue;
zhanghu[dangqianzhanghuxiabiao].jiaoyishu++;
printf("\t\t\t充值成功~请查收~\n\t\t\t");
system("pause");
return;
}
void xianshizhanghu()/*定义显示注册成功的账户的信息*/
{
int i=zhanghushu;
printf("\t姓名\t帐号\t身份证\t\t\t密码\t余额\t交易数\n");
printf("\t%s\t%s\t%s\t%s\t%.2f\t%d\n",zhanghu[i].xingming,zhanghu[i]
.zhanghao,
zhanghu[i].shenfengzheng,zhanghu[i].mima,zhanghu[i].yue,zhanghu[i].jiaoyishu); }
void zhuce()/*定义注册函数*/
{
char sign;
int i;
textbackground(GREEN);
textcolor(YELLOW);
clrscr();
while(sign!=‘n’&&sign!=‘N’) /*判断*/
{
int n;
char mima2[7];
char p[2]={NULL};
system("cls");
textbackground(GREEN);
textcolor(YELLOW);
clrscr();
printf("\t\t ****ATM存取款一体机系统菜单****\n\n");
printf("\n\t\t\t现在你可以开始注册\n");
do{
n=zhanghushu;
if(n>=0&&n<=9)
{
printf("\n\t\t\t你的账号为:6227 0038 00%d\n",n);
n=zhanghushu+’0’;
p[0]=n;
p[1]=‘\0’;
strcpy(zhanghu[zhanghushu].zhanghao,"6227003800");
strcat(zhanghu[zhanghushu].zhanghao,p);
sleep(3);
break;
}
else
if(n>=10&&n<=99)
{
printf("\n\t\t\t你的账号为:6227 0038 0%d\n",n);
n=zhanghushu+’0’;
p[0]=n;
p[1]=‘\0’;
strcpy(zhanghu[zhanghushu].zhanghao,"622700380");
strcat(zhanghu[zhanghushu].zhanghao,p);
sleep(3);
break;
}
}while(1);
fflush(stdin); /*以下都为清除多余的输入*/
system("cls");
textbackground(GREEN);
textcolor(YELLOW);
clrscr();
printf("\t\t ****ATM存取款一体机系统菜单****\n\n");
printf("\n\t\t\t现在你正在注册!\n");
printf("\n\t\t\t请输入姓名:\n");
printf("\t\t\t");
scanf("\t\t\t%s",&zhanghu[zhanghushu].xingming);
fflush(stdin); /*以下都为清除多余的输入*/
system("cls");
textbackground(GREEN);
textcolor(YELLOW);
clrscr();
printf("\t\t ****ATM存取款一体机系统菜单****\n\n");
printf("\n\t\t\t现在你正在注册!\n");
do
{
printf("\n\t\t\t请输入身份证号:\n");
printf("\t\t\t");
scanf("\t\t\t%s",&zhanghu[zhanghushu].shenfengzheng);
if((strlen(zhanghu[zhanghushu].shenfengzheng)==15)||
(strlen(zhanghu[zhanghushu].shenfengzheng)==18))
break;
else
printf("\n\t\t身份证位数必须是15或18位,请重新输入~\n");
}while(1);
do
{
system("cls");
textbackground(GREEN);
textcolor(YELLOW);
clrscr();
printf("\t\t ****ATM存取款一体机系统菜单****\n\n");
printf("\n\t\t\t现在你正在注册!\n");
do
{
printf("\n\t\t\t请输入密码:\n\t\t\t");
i=0;
do
{
zhanghu[zhanghushu].mima[i]=getch();
printf("*");
i++;
}while(i<6) ;
zhanghu[zhanghushu].mima[6]=‘\0’;
printf("\n\t\t\t请再次输入密码:\n\t\t\t");
i=0;
do
{
mima2[i]=getch();
printf("*");
i++;
}while(i<6);
mima2[6]=‘\0’;
if(strcmp(zhanghu[zhanghushu].mima,mima2)==0)
break;
else
printf("\n\t\t两次密码不相同,注册失败,请重新输入密码~\n");
sleep(3);
}while(1);
break;
}while(1);
fflush(stdin); /*以下都为清除多余的输入*/
printf("\n\t\t\t注册成功~\n");
getch();
textbackground(GREEN);
textcolor(YELLOW);
clrscr();
printf("\t\t\t****ATM存取款一体机系统菜单****\n\n");
printf("\n\t\t\t恭喜你,注册成功~\n");
printf("\t\t\t请记好你的账号和密码~\n\n");
xianshizhanghu();
zhanghushu++;
printf("\t\t\t还要继续注册吗?(Y/N)\n");
fflush(stdin); /*以下都为清除多余的输入*/
printf("\t\t\t");
scanf("\t\t\t%c",&sign); /*输入判断*/
}
zhanghu[zhanghushu].yue=0;
zhanghu[zhanghushu].jiaoyishu=0;
}
void denglu()/*定义登录函数*/
{
char zhanghao[12],mima[7];
int i=0,mimashu=0,n=0;
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
do{
system("cls");
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
fflush(stdin); /*以下都为清除多余的输入*/
printf("\t\t ****ATM存取款一体机系统菜单****\n\n");
printf("\n\t\t\t请输入帐号:\n\t\t\t");
scanf("%s",zhanghao);
while(strcmp(zhanghao,zhanghu[i].zhanghao)!=0&&i<zhanghushu)
i++;
if(i==zhanghushu)
{
printf("\t\t该账号不存在,请注册~\n");
sleep(2);
return;
}
dangqianzhanghuxiabiao=i;
break;
}while(1);
do
{
system("cls");
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
fflush(stdin); /*以下都为清除多余的输入*/
do
\n\n"); { printf("\t\t ****ATM存取款一体机系统菜单****printf("\n\t\t\t请输入密码:\n\t\t\t");
n=0;
do{
mima[n++]=getch();/*输入新密码并保存在变量xinmima1*/
printf("*");
}while(n<6);
mimashu++;
mima[6]=‘\0’;
if(strcmp(mima,zhanghu[i].mima)==0)
break;
else
if(mimashu==3)
{
printf("\n\t\t密码输入超过三次,请重新登录~\n");
sleep(2);
return;
}
printf("\n\t\t密码输入错误,请重新输入~");
sleep(3);
system("cls");
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
}while(1);
break;
}while(1);
for(;;)
{
*/ switch(caozuocaidan()) /*选择判断
{
case 1:
cunkuan();
break;
case 2:
qukuan();
break;
case 3:
zhuanzhang();
break;
case 4:
chaxun();
break;
case 5:
xiugaimima();
break;
case 6:
shoujichongzhi();
break;
case 0:
return;
}
}
}
void baocun()/*定义保存函数*/
{
int i,j;
FILE *fp;/*定义文件名指针*/
char filename[20];
textbackground(BLUE);
textcolor(YELLOW);
clrscr();
printf("\t\t将数据保存到一个文
printf("\t\t\t请输入文件名:\n");
printf("\t\t\t");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("\t\t\t该文件不存在,无法创建文件夹~\n");
system("pause");
return;
}
fprintf(fp,"%d\n",zhanghushu);
for(i=0;i<zhanghushu;i++)
{
jiami(zhanghu[i].mima);
fprintf(fp,"\t%15s\t%10s\t%20s\t%10s\t%10.2f\t%5d\n",
zhanghu[i].zhanghao,zhanghu[i].xingming,zhanghu[i].shenfengzheng,zhanghu[i].mi
ma,zhanghu[i].yue,zhanghu[i].jiaoyishu);
for(j=0;j<zhanghu[i].jiaoyishu;j++)
{
fprintf(fp,"%30s\t%10.2f\t%10.2f\t%5s\n",zhanghu[i].jiaoyi[j].shijian,
zhanghu[i].jiaoyi[j].jine,zhanghu[i].jiaoyi[j].yue,zhanghu[i].jiaoyi[j].leixing);
}
}
printf("\t\t\t数据保存成功!");
sleep(2);
}
void dakai()/*定义保存函数*/
{
int i,j;
FILE *fp;/*定义文件名指针*/
char filename[20];
printf("\n\n\t\t\t打开一个文
printf("\t\t\t请输入欲打开文件名:\n");
printf("\t\t\t");
gets(filename);
if(strlen(filename)==0)
return;
else
if((fp=fopen(filename,"r"))==NULL)
{
printf("\t\t\t无法打开,初始数据为0~\n\t\t\t");
system("pause");
return;
}
else
fp=fopen(filename,"r");
fscanf(fp,"%d\n",&zhanghushu);
for(i=0;i<zhanghushu;i++)
{
fscanf(fp,"\t%15s\t%10s\t%20s\t%10s\t%10f\t%5d\n",
zhanghu[i].zhanghao,zhanghu[i].xingming,zhanghu[i].shenfengzheng,zhanghu[i].mi
ma,&(zhanghu[i].yue),&(zhanghu[i].jiaoyishu));
jiemi(zhanghu[i].mima);
for(j=0;j<zhanghu[i].jiaoyishu;j++)
{
fgets(zhanghu[i].jiaoyi[j].shijian,30,fp);
fscanf(fp,"%10f%10f%5s\n",&zhanghu[i].jiaoyi[j].jine,
&zhanghu[i].jiaoyi[j].yue,zhanghu[i].jiaoyi[j].leixing);
}
}
fclose(fp);
printf("\t\t\t打开成功~\n");
for(i=0;i<zhanghushu;i++)
{
printf("\t帐号\t\t\t姓名\t\t身份证\t\t密码\t余额\t交易数\n");
printf("\t%13s\t%10s\t%20s\t%10s\t%10f\t%5d\n",
zhanghu[i].zhanghao,zhanghu[i].xingming,zhanghu[i].shenfengzheng,zhanghu[i].mi
ma,(zhanghu[i].yue),(zhanghu[i].jiaoyishu));
}
getch();
return;
}
void chaxunyue()/*定义查询余额函数*/
{
printf("\t\t\t你的余额
为:%.2f\n\t\t\t",zhanghu[dangqianzhanghuxiabiao].yue);
system("pause");
}
void chaxuncunkuanjilu()/*定义查询存款记录函数*/
{
int i;
printf("\t\t\t这是你的存款记录:\n");
printf("\t类型\t金额\t余额\t\t\t时间\n");
for(i=0;i<zhanghu[dangqianzhanghuxiabiao].jiaoyishu;i++)
{
if(strcmp(zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].leixing,"存款
")==0)
printf("\t%s\t%.2f\t%.2f\t\t%s\n",zhanghu[dangqianzhanghuxiabiao].jia
oyi[i].leixing,
zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].jine,zhanghu[dangqianzhanghuxiabiao].
jiaoyi[i].yue, zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].shijian);
}
system("pause");
}
void chaxunqukuanjilu()/*定义查询取款记录函数*/
{
int i;
printf("\t\t\t这是你的取款记录:\n");
printf("\t类型\t金额\t余额\t\t\t时间\n");
for(i=0;i<zhanghu[dangqianzhanghuxiabiao].jiaoyishu;i++)
{
if(strcmp(zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].leixing,"取款
")==0)
printf("\t%s\t%.2f\t%.2f\t\t%s\n",zhanghu[dangqianzhanghuxiabiao].jia
oyi[i].leixing,
zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].jine,zhanghu[dangqianzhanghuxiabiao].
jiaoyi[i].yue,zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].shijian);
}
system("pause");
}
void chaxunzhuanzhangjilu()/*定义转账记录函数*/
{
int i;
printf("\t\t\t这是你的转账记录:\n");
printf("\t类型\t金额\t余额\t\t\t时间\n");
for(i=0;i<zhanghu[dangqianzhanghuxiabiao].jiaoyishu;i++)
{
if(strcmp(zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].leixing,"转出
")==0||strcmp(zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].leixing,"转入
")==0)
printf("\t%s\t%.2f\t%.2f\t\t%s\n",zhanghu[dangqianzhanghuxiabiao].jia
oyi[i].leixing,
zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].jine,zhanghu[dangqianzhanghuxiabiao].
jiaoyi[i].yue,zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].shijian);
}
system("pause");
}
void chaxunsuoyoujilu()/*定义查询所有记录函数*/
{
int i;
printf("\t\t\t这是你的所有记录:\n");
printf("\t类型\t金额\t余额\t\t\t时间\n");
for(i=0;i<zhanghu[dangqianzhanghuxiabiao].jiaoyishu;i++)
{
printf("\t%s\t%.2f\t%.2f\t\t%s\n",zhanghu[dangqianzhanghuxiabiao].jia
oyi[i].leixing,
zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].jine,zhanghu[dangqianzhanghuxiabiao].
jiaoyi[i].yue,zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].shijian);
}
system("pause");
}
void chaxunchongzhijilu()/*定义查询取款记录函数*/
{
int i;
printf("\t\t\t这是你的充值记录:\n");
printf("\t类型\t金额\t余额\t\t\t时间\n");
for(i=0;i<zhanghu[dangqianzhanghuxiabiao].jiaoyishu;i++)
{
if(strcmp(zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].leixing,"充值
")==0)
printf("\t%s\t%.2f\t%.2f\t\t%s",zhanghu[dangqianzhanghuxiabiao].jiaoy
i[i].leixing,
zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].jine,zhanghu[dangqianzhanghuxiabiao].
jiaoyi[i].yue,zhanghu[dangqianzhanghuxiabiao].jiaoyi[i].shijian);
printf("\n\t\t\t");
}
system("pause");
}
void jiami(char* s)
{
int i;
for(i=0;i<strlen(s);i++)
s[i]+=179;
}
void jiemi(char* s)
{
int i;
for(i=0;i<strlen(s);i++)
s[i]-=179;
}