|
|
|
|
@ -0,0 +1,174 @@
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <time.h>
|
|
|
|
|
|
|
|
|
|
/* 职员信息结构体:保存银行职员基础资料 */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int zhiyuanid; /* 职员工号 */
|
|
|
|
|
char xingming[32]; /* 姓名 */
|
|
|
|
|
char xingbie[8]; /* 性别 */
|
|
|
|
|
int nianling; /* 年龄 */
|
|
|
|
|
char gangwei[32]; /* 岗位 */
|
|
|
|
|
char dianhua[32]; /* 联系电话 */
|
|
|
|
|
char mima[32]; /* 登录密码 */
|
|
|
|
|
char dizhi[128]; /* 居住地址 */
|
|
|
|
|
} Zhiyuan;
|
|
|
|
|
|
|
|
|
|
/* 客户账户结构体:保存客户主账户资料 */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int zhuzhanghao; /* 主账户编号 */
|
|
|
|
|
char xingming[32]; /* 客户姓名 */
|
|
|
|
|
char leixing[8]; /* 普通/VIP */
|
|
|
|
|
int yinhangkashuliang; /* 绑定银行卡数量 */
|
|
|
|
|
int yinhangkabianhao[10]; /* 绑定银行卡编号数组 */
|
|
|
|
|
double chuxuyue; /* 储蓄余额 */
|
|
|
|
|
double daikuanyue; /* 贷款余额 */
|
|
|
|
|
char dianhua[32]; /* 联系电话 */
|
|
|
|
|
char kaihuriqi[16]; /* 开户日期 */
|
|
|
|
|
int xinyong; /* 信用分 */
|
|
|
|
|
double jinrongzichan; /* 金融资产 */
|
|
|
|
|
char dizhi[128]; /* 联系地址 */
|
|
|
|
|
char mima[32]; /* 登录密码 */
|
|
|
|
|
int shenfenzheng; /* 身份证后6位(演示) */
|
|
|
|
|
double yueshouru; /* 月收入 */
|
|
|
|
|
double yuezhichu; /* 月支出 */
|
|
|
|
|
} Kehu;
|
|
|
|
|
|
|
|
|
|
/* 银行卡子账户结构体 */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int kabianhao; /* 卡号 */
|
|
|
|
|
int zhuzhanghao; /* 所属主账户 */
|
|
|
|
|
char kaleixing[16]; /* 借记卡/储蓄卡/信用卡 */
|
|
|
|
|
double yue; /* 当前余额 */
|
|
|
|
|
double lilv; /* 年利率 */
|
|
|
|
|
char kaihuriqi[16]; /* 开户日期 */
|
|
|
|
|
char zhuangtai[16]; /* 状态:正常/冻结 */
|
|
|
|
|
} Yinhangka;
|
|
|
|
|
|
|
|
|
|
/* 交易记录结构体 */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int jiaoyiid; /* 交易流水号 */
|
|
|
|
|
int zhuzhanghao; /* 主账户 */
|
|
|
|
|
int kabianhao; /* 卡号 */
|
|
|
|
|
char yewuleixing[16]; /* 存款/取款/转账等 */
|
|
|
|
|
double jine; /* 交易金额 */
|
|
|
|
|
double yuehou; /* 交易后余额 */
|
|
|
|
|
char shijian[20]; /* 交易时间 */
|
|
|
|
|
char shouruzhichu[8]; /* 收入/支出 */
|
|
|
|
|
char beizhu[64]; /* 备注 */
|
|
|
|
|
} Jiaoyi;
|
|
|
|
|
|
|
|
|
|
/* 排队记录结构体 */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int quhaoid; /* 排队号 */
|
|
|
|
|
int zhuzhanghao; /* 客户主账户 */
|
|
|
|
|
char kehuileixing[8]; /* 普通/VIP */
|
|
|
|
|
char chuangkou[8]; /* VIP窗/普通窗 */
|
|
|
|
|
char zhuangtai[16]; /* 等待中/已完成 */
|
|
|
|
|
int pingfen; /* 客户评分 */
|
|
|
|
|
char shijian[20]; /* 取号时间 */
|
|
|
|
|
} Paidui;
|
|
|
|
|
|
|
|
|
|
/* 网点结构体 */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int wangdianid; /* 网点编号 */
|
|
|
|
|
char mingcheng[32]; /* 网点名称 */
|
|
|
|
|
char dizhi[128]; /* 网点地址 */
|
|
|
|
|
int yewurenshu; /* 当前业务人数 */
|
|
|
|
|
} Wangdian;
|
|
|
|
|
|
|
|
|
|
/* 网点路径结构体 */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int qidianid; /* 起点网点ID */
|
|
|
|
|
int zhongdianid; /* 终点网点ID */
|
|
|
|
|
int juli; /* 距离 */
|
|
|
|
|
int kehang; /* 是否可行:1是0否 */
|
|
|
|
|
} Luxian;
|
|
|
|
|
|
|
|
|
|
/* 系统总数据结构体:所有业务数据都集中在这里 */
|
|
|
|
|
typedef struct {
|
|
|
|
|
Zhiyuan zhiyuanliebiao[200];
|
|
|
|
|
int zhiyuanshu;
|
|
|
|
|
Kehu kehuliebiao[500];
|
|
|
|
|
int kehushu;
|
|
|
|
|
Yinhangka kaliebiao[1200];
|
|
|
|
|
int kashu;
|
|
|
|
|
Jiaoyi jiaoyiliebiao[5000];
|
|
|
|
|
int jiaoyishu;
|
|
|
|
|
Paidui paiduiliebiao[3000];
|
|
|
|
|
int paiduishu;
|
|
|
|
|
Wangdian wangdianliebiao[120];
|
|
|
|
|
int wangdianshu;
|
|
|
|
|
Luxian luxianliebiao[400];
|
|
|
|
|
int luxianshu;
|
|
|
|
|
} YinhangXitong;
|
|
|
|
|
|
|
|
|
|
/* 基础函数 */
|
|
|
|
|
void qingkonghuanche(void);
|
|
|
|
|
void duquzifuchuan(char *huanchongqu, int daxiao);
|
|
|
|
|
int duquzhengshu(void);
|
|
|
|
|
double duqufudian(void);
|
|
|
|
|
void qudangqianshijian(char *shijianchuan, int daxiao);
|
|
|
|
|
int shifoucunzaiwenjian(const char *wenjianming);
|
|
|
|
|
|
|
|
|
|
/* 系统与文件 */
|
|
|
|
|
void chushihuaxitong(YinhangXitong *xitong);
|
|
|
|
|
void jiazaisuoyoushuju(YinhangXitong *xitong);
|
|
|
|
|
void baocunsuoyoushuju(YinhangXitong *xitong);
|
|
|
|
|
void jiazaizhiyuan(YinhangXitong *xitong);
|
|
|
|
|
void baocunzhiyuan(YinhangXitong *xitong);
|
|
|
|
|
void jiazaikehu(YinhangXitong *xitong);
|
|
|
|
|
void baocunkehu(YinhangXitong *xitong);
|
|
|
|
|
void jiazaika(YinhangXitong *xitong);
|
|
|
|
|
void baocunka(YinhangXitong *xitong);
|
|
|
|
|
void jiazaijiaoyi(YinhangXitong *xitong);
|
|
|
|
|
void baocunjiaoyi(YinhangXitong *xitong);
|
|
|
|
|
void jiazaipaidui(YinhangXitong *xitong);
|
|
|
|
|
void baocunpaidui(YinhangXitong *xitong);
|
|
|
|
|
void jiazaiwangdian(YinhangXitong *xitong);
|
|
|
|
|
void baocunwangdian(YinhangXitong *xitong);
|
|
|
|
|
void jiazailuxian(YinhangXitong *xitong);
|
|
|
|
|
void baocunluxian(YinhangXitong *xitong);
|
|
|
|
|
|
|
|
|
|
/* 查询辅助 */
|
|
|
|
|
int zhaozhiyuan(YinhangXitong *xitong, int zhiyuanid);
|
|
|
|
|
int zhaokehu(YinhangXitong *xitong, int zhuzhanghao);
|
|
|
|
|
int zhaoka(YinhangXitong *xitong, int kabianhao);
|
|
|
|
|
int zhaowangdian(YinhangXitong *xitong, int wangdianid);
|
|
|
|
|
void kehutianjiaka(Kehu *kehu, int kabianhao);
|
|
|
|
|
void kehuquchuaka(Kehu *kehu, int kabianhao);
|
|
|
|
|
int shengchengjiaoyiid(YinhangXitong *xitong);
|
|
|
|
|
int shengchengquhaoid(YinhangXitong *xitong);
|
|
|
|
|
void xierujiaoyi(YinhangXitong *xitong, int zhuzhanghao, int kabianhao, const char *yewuleixing, double jine, double yuehou, const char *shouruzhichu, const char *beizhu);
|
|
|
|
|
|
|
|
|
|
/* 登录与菜单 */
|
|
|
|
|
int guanliyuanlogin(void);
|
|
|
|
|
int zhiyuanlogin(YinhangXitong *xitong, int *zhiyuanxuhao);
|
|
|
|
|
int kehulogin(YinhangXitong *xitong, int *kehuxuhao);
|
|
|
|
|
void zhucaidan(YinhangXitong *xitong);
|
|
|
|
|
void guanliyuan_caidan(YinhangXitong *xitong);
|
|
|
|
|
void zhiyuan_caidan(YinhangXitong *xitong, int zhiyuanxuhao);
|
|
|
|
|
void kehu_caidan(YinhangXitong *xitong, int kehuxuhao);
|
|
|
|
|
|
|
|
|
|
/* 各业务模块 */
|
|
|
|
|
void zhiyuan_guanli(YinhangXitong *xitong);
|
|
|
|
|
void zhiyuan_ziguanli(YinhangXitong *xitong, int zhiyuanxuhao);
|
|
|
|
|
void kehu_guanli(YinhangXitong *xitong);
|
|
|
|
|
void ka_guanli(YinhangXitong *xitong);
|
|
|
|
|
void cunqudai_guanli(YinhangXitong *xitong);
|
|
|
|
|
void yewu_chaxun(YinhangXitong *xitong);
|
|
|
|
|
void paidui_guanli(YinhangXitong *xitong);
|
|
|
|
|
void wangdian_guanli(YinhangXitong *xitong);
|
|
|
|
|
void zhineng_guanli(YinhangXitong *xitong);
|
|
|
|
|
|
|
|
|
|
/* 打印展示 */
|
|
|
|
|
void xianshizhiyuan(const Zhiyuan *z);
|
|
|
|
|
void xianshikehu(const Kehu *k);
|
|
|
|
|
void xianshika(const Yinhangka *ka);
|
|
|
|
|
void xianshijiaoyi(const Jiaoyi *j);
|
|
|
|
|
void xianshipaidui(const Paidui *p);
|
|
|
|
|
void xianshiwangdian(const Wangdian *w);
|
|
|
|
|
void zhanshimorenwenjianming(void);
|
|
|
|
|
|
|
|
|
|
|