ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:180.49KB ,
资源ID:4586607      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4586607.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言银行卡管理系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言银行卡管理系统.docx

1、c语言银行卡管理系统1题目要求题目十三:银行卡管理系统设计设计银行卡管理系统,系统主要模块:实现系统内制卡、发卡功能;实现系统内账户及相关账户管理;实现卡交易和合法性检查;实现卡金融交易积分功能;实现卡报表功能;数据以文件形式存储。(提示)制卡:指申请一张银行卡,但还没有使用。发卡:指该银行卡已经启用。实现卡交易:指从卡中取出掉一定的金额。2需求分析struct CCard char cardNo20; /卡号 char name20; /持卡人姓名 char ID20; /持卡人身份证号码 char password20; /密码 int flag; /标志该卡是否启用(0表示未启用,1表示

2、启用) float account; /账户金额 fnt integral; /积分cardM;(1)制卡指申请一个银行卡。即建立一个CCard对象,输入信息对其初始化。(2)账户信息存储到账户信息文件中,当制作一新卡时,就把该新卡追加到账户信息文件。对账户信息的管理需要实现账户信息查询,用基本的查找算法按卡号对账户信息文件进行查找,并打印输出。(3)实现卡交易和合法性检查。用户首先依靠卡号和密码登陆(通过查找账户信息文件,来查看卡号和密码是否正确匹配),输入交易金额,如果account=输入金额,则输出“交易成功!”,并更改account=account-输入金额。否则输出“对不起,您的余额

3、不够!”。(4)实现卡金融交易积分功能。在把积分初始化为0,只需在卡交易的时候,把交易金额取整加到积分上。(5)实现卡报表功能。读账户信息文件,分屏输出所有账户的帐号和交易金额3.总体设计 分析了整个系统之后,根据上面的系统需求分析,可以将这个系统的设计分为如下七大模块:制卡、发卡、存款、取款、查询账户相关信息、查询账户交易记录、查询全部信息4详细设计#include#include /*调用字符函数*/#include#include /*通用输入输出库*/#include#define M 1000void menu();void made();void add();void life()

4、;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_one(int j);int search(char h20);int n=0;struct CCard /*定义信用卡结构体*/ int number; char cardNO20; /卡号 char name20; /持卡人姓名 char ID20; /持卡

5、人身份证号码 char password20; /密码 int flag; /标志该卡是否启用(0表示未启用,1表示启用) float account; /账户金额 int integal; /积分cardM;void menu() /*主菜单*/ int v,w1; do printf(nnnn); printf(ttn); printf(tt| (1) 制 卡 操 作 |n); printf(tt|-|n); printf(tt| (2) 帐 号 激 活 |n); printf(tt|-|n); printf(tt| (3) 帐 户 登 录 |n); printf(tt|-|n); pri

6、ntf(tt| (4) 报 表 操 作 |n); printf(tt|-|n); printf(tt| (5) 退 出 |n); printf(tt|_|n); printf(nntt 请选择操作(1-5):bb); scanf(%d,&v); if(v5) printf(nntt*输 入 有 误 !*); w1=1; getchar(); else w1=0; while(w1=1); switch(v) case 1:made();break; /*制卡操作*/ case 2:life();break; /*账号激活*/ case 3:enter();break; /*账户登录*/ cas

7、e 4:browse();break; /*报表操作*/ case 5:exit(0); /*退出*/ void main() /*主题*/ printf(nnnnnnnnn); printf(tt*银行卡管理系统*n); menu();void made() /*制卡操作*/ int i; char h20; do printf(nnt请输入要申请的号码:bbbbbbb); scanf(%s,h); if(strlen(h)!=6) printf(nnntt*输入有误,请重新输入*nn); continue; for(i=0;in;i+) if(strcmp(cardi.cardNO,h)=

8、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.flag=0; cardn.account=0.00; cardn.integal=0; printf(nnntt*制 卡 成 功 !*nn); print_one(n); n+; ad

9、d(); menu();void print_one(int j) /*显示消息*/ printf(n|-|-|-|-|-|-|-|); printf(n|NO. | 姓名 | 卡 号 | I D |flag| account | integal |); printf(n|-|-|-|-|-|-|-|); printf(n|%4d|%14s|%10s|%16s|%4d|%10.2f|%10d|, cardj.number,cardj.name,cardj.cardNO,cardj.ID,cardj.flag,cardj.account,cardj.integal); printf(n|-|-|

10、-|-|-|-|-|);void life() /*登录*/ int k=-1; char h20; if(n=0) printf(nntt*请 先 制 卡*n); else printf(nnt请输入银行卡号码:bbbbbbb); scanf(%s,h); k=search(h); if(k=-1) printf(nnttt*该号码不存在!*n); else if(cardk.flag=1) printf(nntt*该卡已经激活!*n); else huo(k); menu();int search(char h20) int i,k=-1; for(i=0;in;i+) if(strcmp

11、(cardi.cardNO,h)=0)k=i; return(k);void huo(int k) /*激活操作*/ char m20,q20,p20; int x,w2; do printf(nntt 是否激活该卡? (1) 是 (2) 否 n); printf(ntt 请选择卡号:bb); scanf(%d,&x); if(x!=1&x!=2) w2=1;getchar(); else w2=0; while(w2=1); if(x=1) printf(nntt请输入姓名:bbbbbbbbbbbbbbbbbbbb); scanf(%s,m); strcpy(cardk.name,m); p

12、rintf(nntt请输入身份证号码:bbbbbbbbbbbbbbbbbbbb); scanf(%s,q); strcpy(cardk.ID,q); printf(nntt请输入六位数密码:bbbbbbb); scanf(%s,p); strcpy(cardk.password,p); cardk.flag=1; printf(nnntt*激 活 成 功!*nn); print_one(k); add(); void enter() /*进入*/ int k=-1; char h20; if(n=0) printf(nntt*请 先 制 卡*n); else printf(nnt请输入银行卡号

13、码:bbbbbbb); scanf(%s,h); k=search(h); if(k=-1) printf(nnttt*该号码不存在!*n); else if(cardk.flag=0) printf(nntt*该卡还未激活,请先激活!*n); else hedui(k); menu();void hedui(int k) /*验证核对*/ int c=0,w3=0; char p8; do printf(nntt*请输入密码:bbbbbbb); scanf(%s,p); if(strcmp(cardk.password,p)!=0) printf(nntt*密码不正确,请重新输入!*n);

14、continue; else printf(nntt*密 码 正 确 !*n); w3=1; menu1(k); while(w3=0&c3);void menu1(int k) /*副菜单*/ int v,w4; do printf(nnn); printf(ttn); printf(tt| (1) 查 询 |n); printf(tt|-|n); printf(tt| (2) 存 款 |n); printf(tt|-|n); printf(tt| (3) 取 款 |n); printf(tt|-|n); printf(tt| (4) 修 改 密 码 |n); printf(tt|-|n);

15、 printf(tt| (5) 返回主菜单 |n); printf(tt|_|n); printf(nntt Choice your number(1-5):bb); scanf(%d,&v); if(v5) w4=1;getchar(); else w4=0; while(w4=1); switch(v) case 1:stat_one(k);break; case 2:deposit(k);break; case 3:fetch(k);break; case 4:change(k);break; case 5:menu(); void stat_one(int k) printf(nntt

16、*操 作 成 功 !*); print_one(k); menu1(k);void add() int i; FILE *fp; if(fp=fopen(jieguo.txt,wb)=NULL) printf(tt Can not open the file n); return; for(i=0;in;i+) if(fwrite(&cardi,sizeof(struct CCard),1,fp)!=1) printf(tt error n); return; fclose(fp); printf(nnntt*成功保存*);void deposit(int k) /*存款*/ float a=

17、0.00; printf(nntt请输入存款金额:bbbbbbbbbbb); scanf(%f,&a); cardk.account+=a; printf(nntt*存 款 成 功 !*); print_one(k); add(); menu1(k);void fetch(int k) /*取款*/ float b=0.00; printf(nntt请输入取款金额:bbbbbbbbbbb); scanf(%f,&b); if(bcardk.account) printf(nntt*对不起,您的余额不足*); else cardk.account-=b; cardk.integal+=b; pr

18、intf(nntt*交 易 成 功*); print_one(k); add(); menu1(k);void change(int k) /*修改密码*/ char a20,b20; printf(nntt请输入新六位数密码:bbbbbbb); scanf(%s,a); printf(ntt请再次输入新六位数密码:bbbbbbb); scanf(%s,b); if(strcmp(a,b)=0) printf(nntt*密码修改成功!*); add(); else printf(nntt两次密码输入不一致,密码修改失败!); menu1(k); void browse() int i; if(

19、n=0) printf(nntt*无记录,请先制卡!*); else printf(nntt*操 作 成 功 !*n); printf(n|-|-|-|-|-|-|-|); printf(n|NO. | 姓名 | 卡号 | I D | flag | account | integal |); printf(n|-|-|-|-|-|-|-|); for(i=0;in;i+) printf(n|%4d|%14s|%10s|%16s|%4d|%10.2f|%10d|, cardi.number,cardi.name,cardi.cardNO,cardi.ID,cardi.flag,cardi.account,cardi.integal); printf(n|-|-|-|-|-|-|-|); menu();5上机操作(1)主菜单(2)制卡操作(3)激活操作(4)副菜单(5)修改密码(6)报表操作

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1