版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上1题目要求题目十三:银行卡管理系统设计设计银行卡管理系统,系统主要模块:实现系统内制卡、发卡功能;实现系统内账户及相关账户管理;实现卡交易和合法性检查;实现卡金融交易积分功能;实现卡报表功能;数据以文件形式存储。(提示)制卡:指申请一张银行卡,但还没有使用。发卡:指该银行卡已经启用。实现卡交易:指从卡中取出掉一定的金额。2需求分析struct CCard char cardNo20; /卡号 char name20; /持卡人姓名 char ID20; /持卡人身份证号码 char password20; /密码 int flag; /标志该卡是否启用(0表示未启用,
2、1表示启用) float account; /账户金额 fnt integral; /积分cardM;(1)制卡指申请一个银行卡。即建立一个CCard对象,输入信息对其初始化。(2)账户信息存储到账户信息文件中,当制作一新卡时,就把该新卡追加到账户信息文件。对账户信息的管理需要实现账户信息查询,用基本的查找算法按卡号对账户信息文件进行查找,并打印输出。(3)实现卡交易和合法性检查。用户首先依靠卡号和密码登陆(通过查找账户信息文件,来查看卡号和密码是否正确匹配),输入交易金额,如果account>=输入金额,则输出“交易成功!”,并更改account=account-输入金额。否则输出“对
3、不起,您的余额不够!”。(4)实现卡金融交易积分功能。在把积分初始化为0,只需在卡交易的时候,把交易金额取整加到积分上。(5)实现卡报表功能。读账户信息文件,分屏输出所有账户的帐号和交易金额3.总体设计 分析了整个系统之后,根据上面的系统需求分析,可以将这个系统的设计分为如下七大模块:制卡、发卡、存款、取款、查询账户相关信息、查询账户交易记录、查询全部信息银行卡管理系统制卡发卡存款取款查询账户相关信息查询账户交易记录查询全部信息退出4 详细设计#include<stdio.h>#include<ctype.h> /*调用字符函数*/#include<stdlib.
4、h>#include<conio.h> /*通用输入输出库*/#include<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_one(int
5、 j);int search(char h20);int n=0;struct CCard /*定义信用卡结构体*/int number;char cardNO20; /卡号char name20; /持卡人姓名char ID20; /持卡人身份证号码char password20; /密码int flag; /标志该卡是否启用(0表示未启用,1表示启用)float account; /账户金额int integal; /积分cardM;void menu() /*主菜单*/int v,w1;doprintf("nnnn");printf("tt<_ THE
6、 MENU _>n");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");printf("tt|
7、 (5) 退 出 |n");printf("tt|_|n");printf("nntt 请选择操作(1-5):< >bb");scanf("%d",&v);if(v<1|v>5) printf("nntt*输 入 有 误 !*"); w1=1;getchar();else w1=0;while(w1=1);switch(v)case 1:made();break; /*制卡操作*/case 2:life();break; /*账号激活*/case 3:enter();bre
8、ak; /*账户登录*/case 4:browse();break;/*报表操作*/ case 5:exit(0); /*退出*/void main() /*主题*/printf("nnnnnnnnn"); printf("tt*银行卡管理系统*n");menu();void made() /*制卡操作*/int i;char h20;doprintf("nnt请输入要申请的号码:<ttt>bbbbbbb");scanf("%s",h);if(strlen(h)!=6)printf("nnnt
9、t*输入有误,请重新输入*nn");continue;for(i=0;i<n;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(,"*");strcpy(cardn.ID,"*");strcpy(cardn.password,&qu
10、ot;");cardn.flag=0;cardn.account=0.00;egal=0; printf("nnntt*制 卡 成 功 !*nn"); print_one(n);n+; add();menu();void print_one(int j) /*显示消息*/ printf("n|-|-|-|-|-|-|-|"); printf("n|NO. | 姓名 | 卡 号 | I D |flag| account | integal |"); printf("n|-|-|-|-|-|-|-|&
11、quot;); printf("n|%4d|%14s|%10s|%16s|%4d|%10.2f|%10d|", cardj.number,,cardj.cardNO,cardj.ID,cardj.flag,cardj.account,egal); printf("n|-|-|-|-|-|-|-|");void life() /*登录*/int k=-1;char h20;if(n=0) printf("nntt*请 先 制 卡*n");elseprintf("nnt请输入银行卡号码:&l
12、t;ttt>bbbbbbb");scanf("%s",h);k=search(h);if(k=-1)printf("nnttt*该号码不存在!*n");elseif(cardk.flag=1)printf("nntt*该卡已经激活!*n");else huo(k);menu();int search(char h20)int i,k=-1;for(i=0;i<n;i+)if(strcmp(cardi.cardNO,h)=0)k=i;return(k);void huo(int k) /*激活操作*/char m2
13、0,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请输入姓名:<ttt>bbbbbbbbbbbbbbbbbbbb");scanf("%s",m);str
14、cpy(,m);printf("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
15、 enter() /*进入*/int k=-1;char h20;if(n=0) printf("nntt*请 先 制 卡*n");elseprintf("nnt请输入银行卡号码:<ttt>bbbbbbb");scanf("%s",h);k=search(h);if(k=-1)printf("nnttt*该号码不存在!*n");elseif(cardk.flag=0)printf("nntt*该卡还未激活,请先激活!*n");elsehedui(k);menu();void hedu
16、i(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"); continue;elseprintf("nntt*密 码 正 确 !*n");w3=1; menu1(k);while(w3=0&&c<3);void menu1(int k) /*
17、副菜单*/ int v,w4;doprintf("nnn");printf("tt<_THE MENU1_>n");printf("tt| (1) 查 询 |n");printf("tt|-|n");printf("tt| (2) 存 款 |n");printf("tt|-|n");printf("tt| (3) 取 款 |n");printf("tt|-|n");printf("tt| (4) 修 改 密 码 |
18、n");printf("tt|-|n");printf("tt| (5) 返回主菜单 |n");printf("tt|_|n");printf("nntt Choice your number(1-5):< >bb");scanf("%d",&v);if(v<1|v>5)w4=1;getchar();else w4=0;while(w4=1);switch(v)case 1:stat_one(k);break;case 2:deposit(k);brea
19、k;case 3:fetch(k);break;case 4:change(k);break; case 5:menu();void stat_one(int k)printf("nntt*操 作 成 功 !*");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;i<n;i+)if(fwr
20、ite(&cardi,sizeof(struct CCard),1,fp)!=1)printf("tt File write error n");return;fclose(fp);printf("nnntt*成功保存!*");void deposit(int k) /*存款*/float a=0.00;printf("nntt请输入存款金额:<tt>bbbbbbbbbbb");scanf("%f",&a);cardk.account+=a; printf("nntt*存 款
21、成 功 !*");print_one(k);add();menu1(k);void fetch(int k) /*取款*/float b=0.00;printf("nntt请输入取款金额:<tt>bbbbbbbbbbb");scanf("%f",&b);if(b>cardk.account)printf("nntt*对不起,您的余额不足*");else cardk.account-=b; egal+=b;printf("nntt*交 易 成 功*"); print_one(k); add();menu1(k);void change(int k) /*修改密码*/char a20,b20;printf("nntt请输入新六位数密码:< >bbbbbbb");scanf("%s"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 县域新建玉米淀粉加工厂房项目可行性研究报告
- 多模态智慧茶艺系统项目可行性研究报告
- 2026年四川省公务员行测言语理解题库及答案
- 2026年税务筹划合规应用专业试题及答案
- 2026年数据加密信息安全防护试题及答案
- 2026年手术室无菌操作规范考核题库及答案
- 2026年石油化工试题及答案
- 2026糖尿病护理世界级照护服务中心建设课件
- 防护栏施工与验收合同合同三篇
- 租赁管理合同协议合同二篇
- 2026年宁波慈溪市煤气有限公司下属公司公开招聘工作人员4人建设笔试备考试题及答案解析
- 【地理】 欧洲西部第1课时课件-2025-2026学年人教版(2024)七年级地理下学期
- 芜湖市2026公安机关辅警招聘考试笔试题库(含答案)
- 2026苏科版(新教材)初中数学七年级下册期中知识点复习要点梳理(7-9章)
- 2026中国地铁广告行业营销态势及投资盈利预测报告
- 期中考试模拟试卷(含答案) 2025~2026学年度人教版七年级下册地理
- 广东江西稳派智慧上进教育联考2026届高三年级3月二轮复习阶段检测政治+答案
- 采购防欺诈制度
- 2025-2026学年浙美版(新教材)小学美术二年级下册《我爱运动》教学课件
- 公路工程项目部各岗位安全责任书
- 泰康之家-燕园PPT演示课件(PPT 38页)
评论
0/150
提交评论