0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言实现银行ATM存取款系统

我快闭嘴 来源:CSDN技术社区 作者:菜鸟一号是我实锤 2022-09-30 10:50 次阅读

银行ATM存取款系统

银行ATM存取款系统业务描述如下:

银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。为了模拟真实的ATM业务环境,本系统必须实现存款、取款、查询、转账、修改密码以及开户的功能。用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆ATM系统,在系统中实现存款、取款、查询账户信息、修改密码的操作。本系统各个业务有如下注意点:

(1)登陆系统

用户登陆之前,必须在登陆界面输入其银行账户,通过其正确输入的银行账户登陆系统。

(2)开户业务

要使用本系统必须首先执行开户业务开立新的银行账户,并且将此新开的银行存储于文件当中。同时,系统以身份证号码作为开户的充分条件,即一个身份证号码只能开立一次银行账户。

(3)存款业务

客户登陆系统后,选择存款业务,即可以将输入的存款金额存入相应的账户。

(4)取款业务

客户登陆系统后,选择取款业务,即可以将输入的取款金额从相应的银行账户取出,但是取款金额必须大于目前的账户余额。

(5)查询业务

客户登陆系统后,可以选择查询业务,查询账户余额。

(6)转账业务

客户登陆系统后,可以选择转账业务,进行转账。注意的是转账的目的账户必须是本系统已经存在的银行账户。

(7)修改密码

客户登陆系统后,可以选择修改密码业务,进行密码修改。

实现的效果

8a06fd9e-3fea-11ed-b1c7-dac502259ad0.png
image
8b4f601a-3fea-11ed-b1c7-dac502259ad0.png
image
8b8590cc-3fea-11ed-b1c7-dac502259ad0.png
image
8ba25edc-3fea-11ed-b1c7-dac502259ad0.png
image
8bb91af0-3fea-11ed-b1c7-dac502259ad0.png

image

源码

#include
#include
#include
#defineN1000
#include
structchuhu{
charidnum[9];//账户
charname[10];//姓名
charidnumber[20];//省份证号
charpassword[7];//密码
doublecunkuan;//存款
}hu[N];

voiddate();//显示当前日期
inta,a1;//主界面选择变量
voidFlag1();//主界面
voidFlag2();//用户界面
voidFlag3();//用户功能选择界面
voidzhuce();//注册
intyanzheng();//验证存单号或密码
//&&&&&&&&&&&&&&&&&&&&&&&
voidqukaun();//取款
voidcunkaun();//存款
voiddisplay();//查询
voidzhuan();//转账
voidxiugai();//密码修改
voiddisplay();//查找
//&&&&&&&&&&&&&&&&&&&&&&&&&&
intA,key;//开户人数
inti;//控制密码循环
charch='y';//是否继续注册
doublejin;//存的钱
intt;

charid[11],password[7];
搜索公众号:C语言中文社区,关注免费领取300G编程资料intmain(){
system("COLOR0A");intb;
Flag1();//引入主界面
do{

printf("

		##请输入你的选择:");
scanf("%d",&a);
switch(a){
case1:{
zhuce();//zhuce
Flag1();
break;
}
case2:{
b=yanzheng();
fflush(stdin);///好东西,以防跳过数据
Flag2();
break;
}
case3:exit(0);break;
default:printf("


		您输入的数据不符合要求!!!




");

}

}while(1);
}


voidFlag1(){
printf("
#################################################################################
");
printf("
▓*银行定期储蓄管理系统*▓
");
printf("
#################################################################################
");
printf("
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
");
printf("|◆|******|◆||◆|******|◆|
");
printf("|◆|******|◆|☆开户业务请按1|◆|******|◆|
");
printf("|◆|******|◆|☆登录系统请按2|◆|******|◆|
");
printf("|◆|******|◆|☆退出请按3|◆|******|◆|
");
printf("|◆|******|◆||◆|******|◆|
");
printf("◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
");
printf("
#################################################################################
");

}
//********************************************************************************************************************

//用户界面 搜索公众号:C语言中文社区,关注免费领取300G编程资料
voidFlag2(){
inta,b;//选择功能的变量
do{
printf("

按ENTER键进入、返回主菜单");
fflush(stdin);
scanf("%c",&ch);
system("cls");//清屏
date();
printf("
#################################################################################
");
printf("
▓*欢迎使用*▓
");
printf("
#################################################################################
");
printf("
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
");
printf("|◆|******|◆|☆存款业务请按1|◆|******|◆|
");
printf("|◆|******|◆|☆取款业务请按2|◆|******|◆|
");
printf("|◆|******|◆|☆查询业务请按3|◆|******|◆|
");
printf("|◆|******|◆|☆转账业务请按4|◆|******|◆|
");
printf("|◆|******|◆|☆修改密码请按5|◆|******|◆|
");
printf("|◆|******|◆|☆退出系统请按6|◆|******|◆|
");
printf("|◆|******|◆||◆|******|◆|
");
printf("◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
");
printf("
#################################################################################
");
printf("
▓*******************************▓
");
printf("
#################################################################################
");
printf("

		##请输入你的选择:");
fflush(stdin);
scanf("%d",&a);
switch(a){//注册
case1:{system("cls");fflush(stdin);cunkaun();break;//存款

}
case2:{system("cls");fflush(stdin);qukaun();break;//取款

}
case3:{display();//查询业务
break;
}
case4:{system("cls");fflush(stdin);zhuan();break;//转账

}
case5:{system("cls");fflush(stdin);xiugai();break;//密码修改

}
case6:exit(0);
default:printf("您输入的选择有误,请输入正确的选项:");

}
}while(1);
}
//********************************************************************************************************************
//用户功能选择界面
voidFlag3(){
printf("

		##请输入你的选择:");
scanf("%d",&a1);
switch(a1){
case1:printf("存款业务");break;
case2:printf("取款业务");break;
case3:printf("查询业务");break;
case4:printf("转账业务");break;
case5:printf("密码修改");break;
case6:printf("退出");break;
}
}
//********************************************************************************************************************
//开户
voidzhuce(){
FILE*nchuhu=fopen("chuh.txt","r");
FILE*fchuhu=fopen("chuh.txt","a");
inti;
if((nchuhu=fopen("chuh.txt","r"))==NULL)printf("文件无,系统创建
");
do{
system("cls");
date();//显示当前日期
printf("

		请输入新储户的信息:");
fscanf(nchuhu,"%s	%s	%s	%s	%lf
",&hu[A].idnum,&hu[A].name,&hu[A].idnumber,&hu[A].password,&hu[A].cunkuan);

printf("

		储户存单:");
fflush(stdin);
gets(hu[A].idnum);
printf("
		姓名:");
fflush(stdin);
gets(hu[A].name);
printf("
		储户密码(6位):");
for(i=0;i<6;i++){
  fflush(stdin);
  hu[A].password[i]=getch();
  printf("*");
 // scanf("%d",&hu[A].password[i]);
 } 
 
 do{
  printf("请输入省份证号码(18位):");
  fflush(stdin);
  gets(hu[A].idnumber);
  if(strlen(hu[A].idnumber)!=18)//strlen 代表的意思
  printf("
		输入错误!
		身份证请输入18位数字或者字母
");
  for(i=0;i

业务流程

1、用户开户
8be54e7c-3fea-11ed-b1c7-dac502259ad0.png

2、登录流程
8c0b52ca-3fea-11ed-b1c7-dac502259ad0.png

3、密码修改
8c4eb894-3fea-11ed-b1c7-dac502259ad0.png




审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128581
  • ATM
    ATM
    +关注

    关注

    0

    文章

    146

    浏览量

    33872

原文标题:C语言实现银行ATM存取款系统 | 附源码

文章出处:【微信号:C语言学习联盟,微信公众号:C语言学习联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一个简单的银行ATM存取款操作界面

    本帖最后由 eehome 于 2013-1-5 09:59 编辑 实现一个简单的银行存取款操作界面,实现包括登陆,输入密码、注册,查询、取钱、存钱等基本操作。每次初始化的余额是上
    发表于 12-09 22:28

    12864 ATM小型银行

    上E2PROm,这一次我用上了!也是一个山寨的作品吧,哈哈!程序里实现了修改密码、取款、存款、和查询余额的功能。在仿真上,出现一些小问题,文中有提过,现在就不多说了。程序虽然不是很好,不过也适合我们初学者学习学者,哈哈!!{:soso_e113:}
    发表于 08-19 22:29

    自助银行取款

    自助银行取款
    发表于 01-10 12:24

    自动ATM取款

    希望可以实现存款转账 、取款、查询余额、查询最近消费记录、根据余额数量限制某些功能。希望大家帮帮忙!用LabVIEW图形化编程语言实现。谢谢各位大神喽!
    发表于 07-02 19:15

    【TL6748 DSP申请】钞票图像检测识别

    BOOTLOADER,HPI,IIC,UART,EDMA,SPI,JTAG,IO,USB等.....项目描述:负责ATM存取款一体机的设计,本模块主要实现钞票的检测并将检测数据传输至ARM控制器。主要用DSP负责钞票的算法识别,
    发表于 09-10 11:09

    男子自制爆炸装置炸银行ATM机 获刑13年

    2015年12月8日,陇西县人民法院依法对震惊省内外、倍受社会各界关注的2014年“12·14系列盗窃银行ATM机案”作出宣判,以盗窃罪判处被告人叶某某有期徒刑13年,并处
    发表于 12-14 19:12

    ATM柜员机模拟系统

    本帖最后由 时光笔墨 于 2017-1-5 16:17 编辑 功能用途:采用两个单片机系统分别模拟ATM柜员机及后台服务器,实现存取款、转账和缴费功能。具体内容包括:⑴ATM
    发表于 01-05 16:15

    简易ATM取款

    `自己写的一个简易ATM取款机,状态机模式。Labview8.5版本,欢迎下载交流学习`
    发表于 12-19 11:41

    基于Proteus和C语言实现

    基于Proteus和C语言实现一共四个题目,有没有人愿意尝试一下?
    发表于 07-14 06:20

    如何使用C语言实现模糊PID控制?

    如何使用C语言实现模糊PID控制?
    发表于 09-24 08:54

    C语言实现常用排序算法是什么?

    C语言实现常用排序算法是什么?
    发表于 10-19 06:41

    ATM自动取款系统功能组成

    阅读下列说明和图,回答问题1至问题3,将答案填入答题纸的对应栏内。【说明】ATM自动取款系统功能组成如图1-2所示。ATM自动取款
    发表于 12-22 08:26

    中国银联助理总裁戚跃民一行莅临奥比中光参观考察

    通用事业部总经理何强对奥比中光“3D视觉+智慧银行”应用方案做了详细介绍,包含POS机终端刷脸支付、3D刷脸存取款ATM机安防监控、银行网点智能柜台等方案产品。
    的头像 发表于 05-14 11:10 4706次阅读

    凌壹科技:银行ATM自动取款系统介绍

    随着市场经济的活跃,银行电子化建设迅速发展,ATM交易在银行支付渠道中越来越显现出其重要性,以ATM交易为代表的自助交易正逐步成为现代商业银行
    的头像 发表于 09-30 15:23 2450次阅读
    凌壹科技:<b class='flag-5'>银行</b><b class='flag-5'>ATM</b>自动<b class='flag-5'>取款</b>机<b class='flag-5'>系统</b>介绍

    ATM柜员机正式启动建行重庆两江5G+智能银行的应用场景

    ATM柜员机是传统银行业务办理的核心组成,在智能银行,这项功能得到了进一步提升——通过运用人脸识别、智能语音、虚拟现实等信息技术,新型智慧柜员机可提供多种快捷金融服务,在存取款遇到难题
    的头像 发表于 09-30 11:05 2338次阅读