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.

175 lines
6.1 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 <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);