typedef struct //客户资料 { int ID; char name[6]; int key; char add[10]; char tel[11]; float money; }KH;
typedef struct //支取记录 { time_t now; char L[6]; float num; char op[6]; float ba; }JL;
//为字符串处理准备 int x,y; char n[6];
//输入客户
void CreateKH(KH &K) { printf(\" 输入客户ID:\"); scanf(\"%d\ printf(\" 输入用户名:\"); scanf(\"%s\ printf(\" 输入支取密码(6位数字):\"); scanf(\"%d\ printf(\" 输入客户地址:\"); scanf(\"%s\ printf(\" 输入客户电话:\"); scanf(\"%s\ K.money=0; }
int CZKH(KH K[11],char name[6]) //按客户名查找返回ID { int i;
for (i=1;i<=10;i++) if (strcmp(K[i].name,name)==0)break; return i; }
int DR() //登入 { system(\"cls\"); printf(\"\\n\\n\\n———————用户登入———————\\n\\n\\n\\n\"); KH K[11]; char na[6]; int key,a; FILE *fr = fopen(\"客户组.txt\ fread((char *)&K,sizeof(KH),11,fr); fclose(fr); printf(\" 输入用户名:\"); scanf(\"%s\ a=CZKH(K,na); printf(\"\\n 输入密码(6位数字):\"); scanf(\"%d\ if (key==K[a].key) { system(\"cls\"); printf(\"\\n\\n\\n return a; } else { system(\"cls\"); printf(\" system(\"pause\"); return 0; } }
void XJKH() //新建客户 { system(\"cls\"); char n[6]; KH r,K[11],c[11]; FILE *fr = fopen(\"客户组.txt\ fread((char *)&K,sizeof(KH),11,fr); fclose(fr); CreateKH(r); x=r.ID; K[x]=r;
成功登入!\\n\\n\\n\"); 用户密码错误!\\n\\n\\n\"); sprintf(n,\"%s.txt\ FILE *jw = fopen(n,\"wb\"); fclose(jw); FILE *fw = fopen(\"客户组.txt\ fwrite((char *)&K,sizeof(KH),11,fw); fclose(fw); FILE *fo = fopen(\"客户组.txt\ fread((char *)&c,sizeof(KH),11,fo); fclose(fo); system(\"cls\"); printf(\"\\n ID:%2d 用户名:%6s 密码:%6d 地址:%5s 电话:%11s 余额:%10.2f\\n\\n\c[x].ID,c[x].name,c[x].key,c[x].add,c[x].tel,c[x].money); system(\"pause\"); }
void CQ() //存取款 { JL J; KH c[11]; char n[6]; x=DR(); if (x==0) {} else { //新建支取记录 FILE *fr = fopen(\"客户组.txt\ fread((char *)&c,sizeof(KH),11,fr); fclose(fr); sprintf(n,\"%s.txt\ printf(\"\\n ID:%2d 用户名:%6s 余额:%10.2f\\n\\n\ struct tm *today; time(&J.now); today=localtime(&J.now); //判断存取并交易 printf(\" 经办人:\"); scanf(\"%s\ if (strcmp(J.op,\"xky\")==0) { printf(\" 交易类别(存入/取出):\"); scanf(\"%s\ if (strcmp(J.L,\"存入\")==0||strcmp(J.L,\"取出\")==0) { printf(\" 输入交易金额:\"); scanf(\"%f\ if (strcmp(J.L,\"存入\")==0)
{ J.ba=c[x].money+J.num; c[x].money=J.ba; } if (strcmp(J.L,\"取出\")==0) { J.ba=c[x].money-J.num; if (J.ba<0) { printf(\" 余额不足!操作失败!\\n\\n\"); system(\"pause\"); return; } c[x].money=J.ba; } FILE *jw = fopen(n,\"ab\"); fwrite((char *)&J,sizeof(JL),1,jw); fclose(jw); } else { printf(\"\\n\\n 输入错误\\n\\n\"); system(\"pause\"); return; } FILE *fw = fopen(\"客户组.txt\ fwrite((char *)&c,sizeof(KH),11,fw); fclose(fw); printf(\" 时间:%4d-%02d-%02d %02d:%02d:%02d 类别:%s 金额:%10.2f 经办人:%s 余额:%10.2f\\n\\n\->tm_min,today->tm_sec,J.L,J.num,J.op,J.ba); system(\"pause\"); } else { printf(\"\\n\\n 交易不被允许!\\n\\n\"); system(\"pause\"); return; } } }
void XGJM(int &x) //修改界面 {
KH K[11]; int i; char m[6]; FILE *fw; FILE *fr = fopen(\"客户组.txt\ fread((char *)&K,sizeof(KH),11,fr); fclose(fr); printf(\"\\n\\n\\n—————————选择修改项—————————\\n\\n\\n\\n\"); printf(\" 1,用户名 2,密码\\n\\n 3,地址 4,电话 \\n\\n 0,返回\\n\\n\\n\"); printf(\" 选择:\"); scanf(\"%d\ y=x; switch (i) { case 1: system(\"cls\"); sprintf(n,\"%s.txt\ printf(\" 输入新用户名:\"); scanf(\"%s\ printf(\" 修改成功\"); sprintf(m,\"%s.txt\ printf(\"\\n ID:%2d 用户名:%6s 密码:%6d 地址:%5s 电话:%11s 余额:%10.2f\\n\\n\ rename(n,m); fw = fopen(\"客户组.txt\ fwrite((char *)&K,sizeof(KH),11,fw); fclose(fw); system(\"pause\"); break; case 2: system(\"cls\"); printf(\" 输入新密码:\"); scanf(\"%d\ printf(\"\\n 修改成功\"); printf(\"\\n ID:%2d 用户名:%6s 密码:%6d 地址:%5s 电话:%11s 余额:%10.2f\\n\\n\ fw = fopen(\"客户组.txt\ fwrite((char *)&K,sizeof(KH),11,fw); fclose(fw); system(\"pause\"); break; case 3: system(\"cls\");
printf(\" 输入新地址:\"); scanf(\"%s\ printf(\"\\n 修改成功\"); printf(\"\\n ID:%2d 用户名:%6s 密码:%6d 地址:%5s 电话:%11s 余额:%10.2f\\n\\n\ fw = fopen(\"客户组.txt\ fwrite((char *)&K,sizeof(KH),11,fw); fclose(fw); XGJM(x); break; case 4: system(\"cls\"); printf(\" 输入新电话:\"); scanf(\"%s\ printf(\"\\n 修改成功\"); printf(\"\\n ID:%2d 用户名:%6s 密码:%6d 地址:%5s 电话:%11s 余额:%10.2f\\n\\n\ fw = fopen(\"客户组.txt\ fwrite((char *)&K,sizeof(KH),11,fw); fclose(fw); XGJM(x); break; case 0: return; default: system(\"cls\"); printf(\"\\n\\n\\n 输入错误,重新输入\\n\\n\\n\"); printf(\"\\n ID:%2d 用户名:%6s 密码:%6d 地址:%5s 电话:%11s 余额:%10.2f\\n\\n\ XGJM(x); } }
void XGZH() //修改账户 { KH K[11]; FILE *fr = fopen(\"客户组.txt\ fread((char *)&K,sizeof(KH),11,fr); fclose(fr); x=DR(); if (x == 0) {} else { printf(\"\\n ID:%2d 用户名:%6s 密码:%6d 地址:%5s 电话:%11s 余
额:%10.2f\\n\\n\ XGJM(x); } }
void CXJL() //查询历史交易记录 { system(\"cls\"); int i; KH K[11]; JL J[50]; FILE *fr = fopen(\"客户组.txt\ fread((char *)&K,sizeof(KH),11,fr); fclose(fr); x=DR(); if (x==0) {} else { sprintf(n,\"%s.txt\ FILE *jr = fopen(n,\"rb\"); fread((char *)&J,sizeof(JL),50,jr); fclose(jr); printf(\"交易编号 时间 类别 金额 经办人 余额\\n\\n\"); for (i=0;i<=50;i++) { if (strcmp(J[i].L,\"存入\")==0||strcmp(J[i].L,\"取出\")==0) { struct tm *today; today=localtime(&J[i].now); printf(\" %02d %4d-%02d-%02d %02d:%02d:%02d %s %10.2f %s %10.2f\\n\ur,today->tm_min,today->tm_sec,J[i].L,J[i].num,J[i].op,J[i].ba); } } system(\"pause\"); } }
void CXYE() //查询余额 { system(\"cls\"); KH c[11]; FILE *fo = fopen(\"客户组.txt\
fread((char *)&c,sizeof(KH),11,fo); fclose(fo); x=DR(); if (x==0) {} else { printf(\"\\n ID:%2d 用户名:%6s 余额:%10.2f\\n\\n\ } system(\"pause\"); }
void CK() //查看文件 { system(\"cls\"); int i; KH c[11]; FILE *fo = fopen(\"客户组.txt\ fread((char *)&c,sizeof(KH),11,fo); fclose(fo); for (i=1;i<=10;i++) { printf(\"\\n ID:%2d 用户名:%6s 密码:%6d 地址:%5s 额:%10.2f\\n\\n\ } system(\"pause\"); }
void CZ() //重置文件 { KH K[11]; int q; CreateKH(K[0]); for (q=0;q<=10;q++){ K[q]=K[0]; K[q].ID=q; } FILE *fw = fopen(\"客户组.txt\ fwrite((char *)&K,sizeof(KH),11,fw); fclose(fw); }
void main() { system(\"cls\"); system(\"color f0\"); int s;
话:%11s 余电 printf(\"\\n\\n\\n——————————银行存取款管理——————————\\n\\n\\n\\n\"); printf(\" 1,存取款 2,查询余额\\n\\n 3,历史交易记录 4,新建账户 \\n\\n 5,修改账户 0,退出\\n\\n\\n\"); printf(\"选择:\"); scanf(\"%d\ switch (s) { case 1: CQ(); main(); break; case 2: CXYE(); main(); break; case 3: CXJL(); main(); break; case 4: XJKH(); main(); break; case 5: XGZH(); main(); break; case 6: CK(); main(); break; case 0: return; default: system(\"cls\"); printf(\"\\n\\n\\n system(\"pause\"); main(); } }
输入错误\\n\\n\\n\");
因篇幅问题不能全部显示,请点此查看更多更全内容