1、 char name20; /持卡人姓名 char ID20; /持卡人身份证号码 char password20; /密码 int flag; /标志该卡是否启用(0表示未启用,1表示启用) float account; /账户金额 fnt integral; /积分cardM;(1)制卡指申请一个银行卡。即建立一个CCard对象,输入信息对其初始化。(2)账户信息存储到账户信息文件中,当制作一新卡时,就把该新卡追加到账户信息文件。对账户信息的管理需要实现账户信息查询,用基本的查找算法按卡号对账户信息文件进行查找,并打印输出。(3)实现卡交易和合法性检查。用户首先依靠卡号和密码登陆(通过查找
2、账户信息文件,来查看卡号和密码是否正确匹配),输入交易金额,如果account=输入金额,则输出“交易成功!”,并更改account=account-输入金额。否则输出“对不起,您的余额不够!”。(4)实现卡金融交易积分功能。在把积分初始化为0,只需在卡交易的时候,把交易金额取整加到积分上。(5)实现卡报表功能。读账户信息文件,分屏输出所有账户的帐号和交易金额3.总体设计 分析了整个系统之后,根据上面的系统需求分析,可以将这个系统的设计分为如下七大模块:制卡、发卡、存款、取款、查询账户相关信息、查询账户交易记录、查询全部信息银行卡管理系统制卡发卡存款取款查询账户相关信息查询账户交易记录查询全部
3、信息退出4详细设计#includectype.h /*调用字符函数*/stdlib.hconio.h /*通用输入输出库*/string.h#define M 1000void menu();void made();void add();void life();void enter();void browse();void huo(int k);void hedui(int k);void menu1(int k);void fetch(int k);void change(int k);void deposit(int k);void stat_one(int k);void print_o
4、ne(int j);int search(char h20);int n=0;struct CCard /*定义信用卡结构体*/ int number; char cardNO20; int integal;void menu() /*主菜单*/ int v,w1; do printf(nnnn);ttntt| (1) 制 卡 操 作 |ntt|-|ntt| (2) 帐 号 激 活 |ntt| (3) 帐 户 登 录 |ntt| (4) 报 表 操 作 |ntt| (5) 退 出 |ntt|_|nnntt 请选择操作(1-5):bb scanf(%d,&v); if(v5) nntt*输 入
5、有 误 !* w1=1; getchar(); else w1=0; while(w1=1); switch(v) case 1:made();break; /*制卡操作*/ case 2:life(); /*账号激活*/ case 3:enter(); /*账户登录*/ case 4:browse(); /*报表操作*/ case 5:exit(0); /*退出*/void main() /*主题*/ printf(nnnnnnnnntt*银行卡管理系统*n menu();void made() /*制卡操作*/ int i; char h20;nnt请输入要申请的号码:tttbbbbbbb
6、%s,h); if(strlen(h)!=6) printf(nnntt*输入有误,请重新输入*nn continue; for(i=0;in;i+) if(strcmp(cardi.cardNO,h)=0) printf(nntt*该号码已经存在,请重新输入*nn break; while(strlen(h)!=6)|strcmp(cardi.cardNO,h)=0); cardn.number=n; strcpy(cardn.cardNO,h); strcpy(cardn.name,* strcpy(cardn.ID,* strcpy(cardn.password,000000 cardn
7、.flag=0; cardn.account=0.00; cardn.integal=0;nnntt*制 卡 成 功 !*nn print_one(n); n+; add();void print_one(int j) /*显示消息*/n|-|-|-|-|-|-|-|n|NO. | 姓名 | 卡 号 | I D |flag| account | integal |n|%4d|%14s|%10s|%16s|%4d|%10.2f|%10d|, cardj.number,cardj.name,cardj.cardNO,cardj.ID,cardj.flag,cardj.account,cardj.i
8、ntegal);void life() /*登录*/ int k=-1; if(n=0)nntt*请 先 制 卡*n elsennt请输入银行卡号码: k=search(h); if(k=-1)nnttt*该号码不存在!*n else if(cardk.flag=1)nntt*该卡已经激活!*n else huo(k);int search(char h20) int i,k=-1; for(i=0; if(strcmp(cardi.cardNO,h)=0)k=i; return(k);void huo(int k) /*激活操作*/ char m20,q20,p20; int x,w2;nntt 是否激活该卡? (1) 是 (2) 否 nntt 请选择卡号: scanf(x); if(x!=1&x!=2) w2=1;getchar(); else w2=0; while(w2=1); if(x=1)nntt请输入姓名:ttt
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1