收藏 分销(赏)

银行卡管理系统实验报告样本.doc

上传人:a199****6536 文档编号:2695964 上传时间:2024-06-04 格式:DOC 页数:20 大小:67.04KB 下载积分:10 金币
下载 相关 举报
银行卡管理系统实验报告样本.doc_第1页
第1页 / 共20页
银行卡管理系统实验报告样本.doc_第2页
第2页 / 共20页


点击查看更多>>
资源描述
更多企业学院:...../Shop/ 《中小企业管理全能版》 183套讲座+89700份资料 ...../Shop/40.shtml 《总经理、高层管理》 49套讲座+16388份资料 ...../Shop/38.shtml 《中层管理学院》 46套讲座+6020份资料  ...../Shop/39.shtml 《国学智慧、易经》 46套讲座 ...../Shop/41.shtml 《人力资源学院》 56套讲座+27123份资料 ...../Shop/44.shtml 《各阶段职员培训学院》 77套讲座+ 324份资料 ...../Shop/49.shtml 《职员管理企业学院》 67套讲座+ 8720份资料 ...../Shop/42.shtml 《工厂生产管理学院》 52套讲座+ 13920份资料 ...../Shop/43.shtml 《财务管理学院》 53套讲座+ 17945份资料  ...../Shop/45.shtml 《销售经理学院》 56套讲座+ 14350份资料 ...../Shop/46.shtml 《销售人员培训学院》 72套讲座+ 4879份资料 ...../Shop/47.shtml 目 录 一,试验概述 - 2 - (一)试验目标及要求 - 2 - (二)试验原理 - 2 - (三)试验环境 - 2 - 二,试验内容 - 2 - (一)试验方案设计 - 2 - ⑴方案介绍 - 2 - ⑵模块说明 - 3 - (二)试验过程 - 4 - ⑴对代码具体介绍: - 4 - ⑵部分模块运行结果: - 11 - (三)结论 - 14 - 一,试验概述 (一)试验目标及要求 应用所学C语言编程知识设计银行卡管理系统,应用到函数、数组、指针、结构等内容,利用模块化程序设计方法实现数据创建、查找、排序、删除等功效。 (二)试验原理 结构体,函数嵌套调用,数组,指针,选择结构。 (三)试验环境 Visual C++ 6.0 二,试验内容 (一)试验方案设计 ⑴方案介绍 作为一名大学生,生活中对于银行卡使用很常见,依据日常经验,我设计了以下银行卡管理系统,包含:“卡管理”、“存取管理”、“查询”、“管理员”“退出系统”等五大块功效,具体以下: Bank Card(银行卡系统) 1. Card Management Module(卡管理) a.Application for a card(卡申请) b.Entry(登录) c.Change Code(修改密码) 2. Saving and Drawing Management Module(存取管理) a.Saving(存款) b.Drawing(取款) c.Transfer(转账) 3. Inquire Module(查询) Balance Inquire(余额查询) 4. Manager Log in(管理员登陆) 5. Exit(退出系统) ⑵模块说明 ① 系统初始化以下,共储存了4张卡信息。包含账号、余额和密码。 struct card { char num[80]; /*银行卡账号*/ float balance; /*银行卡余额*/ char cipher[80]; /*银行卡密码*/ }; 银行卡号 余额 密码 10246001 0 abc10246001 10246002 5000 def10246002 10246003 4000 ghi10246003 10246004 jkl10246004 ② 为完成各项功效设计函数以下: void read(struct card inf[],int m); 实施"读卡"功效函数 void CMM(); 实施"卡管理"功效函数 void SDMM(); 实施"存取管理"功效函数 void IM(); 实施"查询"功效函数 void change(); 实施"修改密码"功效函数 void Manager(); 实施系统管理员职能函数 void bubble(struct card *p); 冒泡排序法 void menu(); 菜单函数 void exit(); 退出系统函数 (二)试验过程 ⑴对代码具体介绍: #include<stdio.h> #include<string.h> #include"malloc.h" int j; struct card { char num[80]; /*银行卡账号*/ float balance; /*银行卡余额*/ char cipher[80]; /*银行卡密码*/ }; void read(struct card inf[],int m); /*申明实施"读卡"功效函数*/ void CMM(); /*申明实施"卡管理"功效函数*/ void SDMM(); /*申明实施"存取管理"功效函数*/ void IM(); /*申明实施"查询"功效函数*/ void change(); /*申明"修改密码"函数*/ void Manager(); /*申明系统管理员职能函数*/ void bubble(struct card *p); /*申明冒泡排序法*/ void menu(); /*申明菜单函数*/ void exit(); //退出系统函数 struct card *p ; card inf[10]={ {"10246001",0,"abc10246001"}, /*"银行卡信息"结构变量初始化*/ {"10246002",5000,"def10246002"}, {"10246003",4000,"ghi10246003"}, {"10246004",,"jkl10246004"}}; int main() { menu(); return 0; } void menu() //定义菜单函数 { int choice1; printf("*************************************************\n"); printf("-----------欢迎使用中国银行长城借记卡------------\n"); printf("*************************************************\n"); printf(" Bank Card(银行卡系统) \n"); printf(" 1. Card Management Module(卡管理) \n"); printf(" a.Application for a card(卡申请) \n"); printf(" b.Entry(登录) \n"); printf(" c.Change Code(修改密码) \n"); printf(" 2. Saving and Drawing Management Module(存取管理)\n"); printf(" a.Saving(存款) \n"); printf(" b.Drawing(取款) \n"); printf(" c.Transfer(转账) \n"); printf(" 3. Inquire Module(查询) \n"); printf(" Balance Inquire(余额查询) \n"); printf(" 4.Manager Log in(管理员登陆) \n"); printf(" 5.Exit(退出系统) \n"); printf("*************************************************\n"); printf("\n"); printf("请选择您所需要服务:\n"); scanf("%d",&choice1); switch(choice1){ 菜单函数中switch语句实现对任务选择 case 1:CMM();break; case 2:SDMM();break; case 3:IM();break; case 4:Manager();break; case 5: printf("您已经成功退出系统!\n");break; } } void bubble(struct card *p) //定义“冒泡法”排序函数 { int i,j; card t; for(i=0;i<4;i++) for(j=1;j<4-i;j++) { if((*(p+j-1)).balance>(*(p+j)).balance) { t=*(p+j-1); *(p+j-1)=*(p+j); *(p+j)=t; } } printf("账户余额从小到大排序以下:\n"); for(p=inf;p<inf+4;p++) { printf("%s %f\n",p->num,p->balance); } } void exit() //定义退出系统函数 { int k; printf(" \n"); printf("__________________________________________________\n"); printf(" \n"); printf("请选择:\n"); printf("1.返回菜单\n"); printf("2.退出系统\n"); scanf("%d",&k); if(k==1) menu(); else { printf("您已经成功退出系统。\n"); } } void read(struct card inf[],int m) /*定义实施"读卡"功效函数*/ { char number[80],code[80]; int i,k; /*定义i是循环变量,k是密码输入错误后作出选择*/ printf("请登录您个人中国银行长城借记卡系统\n"); printf("------------------------------------------------------------\n"); printf("请输入您银行卡号:\n"); scanf("%s",&number); for(i=0;i<4;i++){ if(strcmp(inf[i].num,number)==0){ printf("请输入您银行卡密码: #温馨提醒:请注意保护好您个人信息。#\n"); do{ scanf("%s",&code); if(strcmp(inf[i].cipher,code)==0){ j=i; printf("您已经成功登陆,欢迎使用中国银行为您提供各项服务...\n"); } else{ printf("您输入密码有误,请重新输入或退出...\n"); printf("1.重输密码\n"); printf("2.退出系统\n"); scanf("%d",&k); if(k==1) continue; else{ printf("您已经成功退出系统。\n");break; } } }while(strcmp(inf[i].cipher,code)!=0); } } } void change() //定义实施“修改密码”功效函数 { int m = 10; read(inf,m); printf("请输入您新密码:\n"); getchar(); gets(inf[j].cipher); printf("修改密码成功!\n"); exit(); } void CMM() /*定义实施"卡管理"功效函数*/ { char choice2; char code1[10],code2[10]; printf(" Card Management Module(卡管理): \n"); printf(" a.Application for a card(卡申请) \n"); printf(" b.Entry(登录) \n"); printf(" c.Change Code(修改密码) \n"); getchar(); printf("请选择您所需要服务:\n"); choice2=getchar();getchar(); switch(choice2) { case 'a': 申请卡号 printf("系统为您生成银行卡账号是10246005.\n"); printf("您现在账户余额为0.\n"); printf("____________________________________________________\n"); do{ printf("请设置您密码并妥善保管:\n"); scanf("%s",&code1); printf("请再次确定您密码.\n"); scanf("%s",&code2); if(strcmp(code1,code2)==0) 使用字符串比较函数 { printf("恭喜您已经成功申请中国银行长城借记卡,感谢你支持!\n"); break; } else { printf("密码设置失败!请重新设置!\n"); printf("***********************************************\n"); } }while(strcmp(code1,code2)); break; case 'b':read(inf,10);break; 调用“登录”函数 case 'c':change();break; 调用“修改密码”函数 } exit(); } void SDMM() /*定义实施"存取管理"功效函数*/ { char choice2; float bank=10000; /*设置用于转账银行账户*/ float *p1=&bank; float money; read(inf,10); printf(" 2. Saving and Drawing Management Module(存取管理)\n"); printf(" a.Saving(存款) \n"); printf(" b.Drawing(取款) \n"); printf(" c.Transfer(转账) \n"); getchar(); printf("请选择您所需要服务:\n"); choice2=getchar(); switch(choice2){ switch语句实现选择功效 case 'a': 使用指针实现对金额增减改变 printf("请输入您存款金额:\n"); 存款 scanf("%f",&money); inf[j].balance+=money; printf("您已经成功存款。"); break; case 'b': printf("请输入您取款金额:\n"); 取款 scanf("%f",&money); if(money<=inf[j].balance){ inf[j].balance-=money; printf("您已经成功取款。\n");} else printf("您账户余额不足!\n"); break; case 'c': printf("请输入您转账金额:\n"); 转账 scanf("%f",&money); inf[j].balance+=money; *p1-=money; break; } printf("感谢您对中国银行支持!\n"); exit(); } void IM() /*定义实施"查询"功效函数*/ { read(inf,10); printf("你账户余额是:\n"); 查询余额 printf("%10.2f",inf[j].balance); printf(" \n"); printf("感谢您对中国银行支持!\n"); exit(); } void Manager() //定义实施“管理员”功效函数 { char managercode0[10]="manager"; char managercode1[20]; int m,k; do{ printf("请输入密码:\n"); scanf("%s",&managercode1); if(strcmp(managercode0,managercode1)==0) { printf("*************************************************\n"); printf("--------------系统管理员,欢迎进入!-------------\n"); printf("*************************************************\n"); printf("您能够实施任务: \n"); printf("1.对现在各账户进行余额数目从小到大排序; \n"); printf("2.清除余额为零账户. \n"); printf("请选择您要实施任务:\n"); scanf("%d",&m); if(m==1) { bubble(inf); “冒泡排序法”实现对账户余额排序 } else { int num=4; 查询余额为零账户并清除 for(int i=0;i<4;i++) { if(inf[i].balance==0) { for(int j=i+1;j<4;j++) { inf[j-1]=inf[j]; } num--; i--; } } for(int r=0;r<num;r++) printf("%f\n",inf[r].balance); printf("清除完成。\n"); } } else 判定管理员输入密码是否正确 { printf("您输入密码有误,请重新输入或退出...\n"); printf("1.重输密码\n"); printf("2.退出系统\n"); scanf("%d",&k); if(k==1) continue; else { printf("您已经成功退出系统。\n"); break; } } }while(strcmp(managercode0,managercode1)!=0); } ⑵部分模块运行结果: Ⅰ修改密码 Ⅱ取款功效 Ⅲ余额查询 Ⅳ管理员功效 Ⅴ卡申请功效 (三)结论 经过这次对银行卡管理系统程序编写,我对结构,指针,函数调用和数组使用了解更进了一步。该银行卡系统功效相对较为完善,涵盖了日常生活中对银行卡使用登录、存取款、转账、修改密码、余额查询等功效。不过还有很多不够完善地方,比如该系统实施过程中无法记住已登录账户,返回菜单实施其它功效时还需要重新登录;实施各项功效时仍然采取是较为简易模型,仅包含简单数据增减和增加数组元素等。即使如此,不过对于自己独立编写并完善银行卡管理系统还是比较满意,因为它表现了我C语言学习应用结果,而且增添了我对本身专业(信息管理和信息系统)学习爱好。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 管理财经 > 金融保险

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服