资讯专栏INFORMATION COLUMN

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

oneasp / 2080人阅读

摘要:用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆系统,在系统中实现存款取款查询账户信息修改密码的操作。存款业务客户登陆系统后,选择存款业务,即可以将输入的存款金额存入相应的账户。

这里使用的运行工具是DEV C++。老铁们一定要看仔细了。是DEV C++

仅供借鉴:这个是大一时期写的。大四的时候整理了一下(本人C语言学的也不太好)。肯定很多不足和存在漏洞的地方、仅供借鉴、仅供借鉴。


一、课程设计的目的
掌握C语言程序设计的基础知识、基本理论、原理和实现技术。

二、课程设计的题目
银行ATM存取款系统

三、设计内容(主要技术关键的分析、解决思路和方案比较等)
银行ATM存取款系统
银行ATM存取款系统业务描述如下:
银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。为了模拟真实的ATM业务环境,本系统必须实现存款、取款、查询、转账、修改密码以及开户的功能。用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆ATM系统,在系统中实现存款、取款、查询账户信息、修改密码的操作。本系统各个业务有如下注意点:
(1)登陆系统
用户登陆之前,必须在登陆界面输入其银行账户,通过其正确输入的银行账户登陆系统。
(2)开户业务
要使用本系统必须首先执行开户业务开立新的银行账户,并且将此新开的银行存储于文件当中。同时,系统以身份证号码作为开户的充分条件,即一个身份证号码只能开立一次银行账户。
(3)存款业务
客户登陆系统后,选择存款业务,即可以将输入的存款金额存入相应的账户。
(4)取款业务
客户登陆系统后,选择取款业务,即可以将输入的取款金额从相应的银行账户取出,但是取款金额必须大于目前的账户余额。
(5)查询业务
客户登陆系统后,可以选择查询业务,查询账户余额。
(6)转账业务
客户登陆系统后,可以选择转账业务,进行转账。注意的是转账的目的账户必须是本系统已经存在的银行账户。
(7)修改密码
客户登陆系统后,可以选择修改密码业务,进行密码修改。

实现的效果





源码

#include#include#include#define N 1000 #includestruct chuhu{	char idnum[9];//账户 	char name[10];//姓名	char idnumber[20];//省份证号   char password[7];//密码    double cunkuan;//存款 }hu[N]; void date();//显示当前日期int a,a1;//主界面选择变量 void Flag1();//主界面void Flag2();//用户界面 void Flag3();//用户功能选择界面void zhuce();//注册 int yanzheng();//验证存单号或密码 //&&&&&&&&&&&&&&&&&&&&&&&void qukaun();//取款void cunkaun();//存款void display();//查询void zhuan();//转账 void xiugai();//密码修改 void display();//查找 //&&&&&&&&&&&&&&&&&&&&&&&&&& int A,key;//开户人数  int i;//控制密码循环  char ch="y";//是否继续注册  double jin;//存的钱  int t; char id[11],password[7];int main(){system("COLOR 0A"); int b;	Flag1();//引入主界面	do{	printf("/n/n/t/t##请输入你的选择:");	scanf("%d",&a); 	switch(a){		case 1:{			zhuce();//zhuce			Flag1(); 			break;		}		case 2:{			b=yanzheng();			fflush(stdin);///好东西,以防跳过数据			Flag2();			break;		} 		case 3:exit(0);break;		default:printf("/n/n/n/t/t您输入的数据不符合要求!!!/n/n/n/n/n");			}	}while(1);}void Flag1(){	printf("/n#################################################################################/n");    printf("/n▓                          * 银行定期储蓄管理系统  *                           ▓/n");    printf("/n#################################################################################/n");	printf("/n          ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆/n");	printf("          |◆|******|◆|                                     |◆|******|◆|/n");	printf("          |◆|******|◆|       ☆ 开户业务    请按 1         |◆|******|◆|/n"); 	printf("          |◆|******|◆|       ☆ 登录系统    请按 2         |◆|******|◆|/n");	printf("          |◆|******|◆|       ☆ 退出        请按 3         |◆|******|◆|/n");	printf("          |◆|******|◆|                                     |◆|******|◆|/n");	printf("          ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆/n");	printf("/n#################################################################################/n");	} //********************************************************************************************************************//用户界面 void Flag2(){       int a,b;//选择功能的变量	   do{	   	printf("/n/n按ENTER键进入、返回主菜单 " ) ;	   	fflush(stdin);	   	scanf("%c",&ch);	   	system("cls");//清屏		   date(); 	printf("/n#################################################################################/n");    printf("/n▓                               * 欢迎使用  *                                 ▓/n");    printf("/n#################################################################################/n");	printf("/n          ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆/n");		printf("          |◆|******|◆|        ☆ 存款业务       请按 1        |◆|******|◆|/n"); 	printf("          |◆|******|◆|        ☆ 取款业务       请按 2        |◆|******|◆|/n");	printf("          |◆|******|◆|        ☆ 查询业务       请按 3        |◆|******|◆|/n"); 	printf("          |◆|******|◆|        ☆ 转账业务       请按 4        |◆|******|◆|/n");	printf("          |◆|******|◆|        ☆ 修改密码       请按 5        |◆|******|◆|/n");	printf("          |◆|******|◆|        ☆ 退出系统       请按 6        |◆|******|◆|/n"); 	printf("          |◆|******|◆|                                        |◆|******|◆|/n");	printf("          ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆/n");    printf("/n#################################################################################/n");    printf("/n▓                          *******************************                    ▓/n");    printf("/n#################################################################################/n");	printf("/n/n/t/t##请输入你的选择:");	fflush(stdin);	scanf("%d",&a);	switch(a){//注册		case 1: { system("cls");fflush(stdin);cunkaun();break;//存款					} 		case 2:  {system("cls");fflush(stdin);qukaun();break;//取款			}		case 3: {display();//查询业务			break;		}		case 4:{system("cls");fflush(stdin);zhuan();break;//转账 				}		case 5: {system("cls");fflush(stdin);xiugai();break;//密码修改				}		case 6: exit(0);		default:printf("您输入的选择有误,请输入正确的选项:");	                                            	         	}	 } while(1);} //********************************************************************************************************************//用户功能选择界面 void Flag3(){	printf("/n/n/t/t##请输入你的选择:");	scanf("%d",&a1);	switch(a1){		case 1:printf("存款业务");break; 		case 2:printf("取款业务");break; 		case 3:printf("查询业务");break; 		case 4:printf("转账业务");break; 		case 5:printf("密码修改");break;		case 6:printf("退出");break;  	} }//********************************************************************************************************************//开户 void zhuce(){	FILE *nchuhu=fopen("chuh.txt","r");	FILE *fchuhu=fopen("chuh.txt","a");	int i;	if((nchuhu=fopen("chuh.txt","r"))==NULL) printf("文件无,系统创建/n"); 	do{	 system("cls");	date();//显示当前日期 	printf("/n/n/t/t请输入新储户的信息:");	fscanf(nchuhu,"%s/t%s/t%s/t%s/t%lf/n",&hu[A].idnum,&hu[A].name,&hu[A].idnumber,&hu[A].password,&hu[A].cunkuan); 		printf("/n/n/t/t储户存单:");	fflush(stdin);	gets(hu[A].idnum);	printf("/n/t/t姓名:");	fflush(stdin);	gets(hu[A].name);	printf("/n/t/t储户密码(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("/n/t/t输入错误!/n/t/t身份证请输入18位数字或者字母/n");		for(i=0;i

业务流程

1、用户开户

2、登录流程

3、密码修改

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/124507.html

相关文章

  • Java小白进阶笔记(3)-初级面向对象

    摘要:面向对象编程从不同的角度来看待计算机程序,它注重的是计算机所完成的任务,而非处理方式。传统的语言属于面向过程编程,语言属于面向对象编程。面向对象编程根据要解决的问题,可以抽象出如下对象客户银行卡现金票据等。 面向过程编程&面向对象编程 从面向过程到面向对象,不仅仅是编程方式的改变,更重要的是思维方式的改变。 面向过程编程按照顺序执行的一系列指令,通常是分析出解决问题所需要的步骤,然后用...

    AnthonyHan 评论0 收藏0
  • 后端知识点总结——MYSQL

    摘要:最早由公司提出的,后来由采纳为关系型数据库行业国际标准,先后推出了多个版本,如目前各大数据库厂家所支持。非空约束声明为非空的列,不能出现,但可以出现重复值。自增列无需手工赋值,会自动采用数列,在当前最大值基础上。 后端知识点总结——MYSQL 1.软件工程 IBM => DOS(Bill Gates) => MicroSoft => Windows 软件工程学科包含: (...

    ZHAO_ 评论0 收藏0
  • 后端知识点总结——MYSQL

    摘要:最早由公司提出的,后来由采纳为关系型数据库行业国际标准,先后推出了多个版本,如目前各大数据库厂家所支持。非空约束声明为非空的列,不能出现,但可以出现重复值。自增列无需手工赋值,会自动采用数列,在当前最大值基础上。 后端知识点总结——MYSQL 1.软件工程 IBM => DOS(Bill Gates) => MicroSoft => Windows 软件工程学科包含: (...

    fizz 评论0 收藏0
  • 后端知识点总结——MYSQL

    摘要:最早由公司提出的,后来由采纳为关系型数据库行业国际标准,先后推出了多个版本,如目前各大数据库厂家所支持。非空约束声明为非空的列,不能出现,但可以出现重复值。自增列无需手工赋值,会自动采用数列,在当前最大值基础上。 后端知识点总结——MYSQL 1.软件工程 IBM => DOS(Bill Gates) => MicroSoft => Windows 软件工程学科包含: (...

    youkede 评论0 收藏0
  • JDK中关于BIO,NIO,AIO,同步,异步介绍

    摘要:即可以理解为,方法都是异步的,完成后会主动调用回调函数。主要在包下增加了下面四个异步通道其中的方法,会返回一个带回调函数的对象,当执行完读取写入操作后,直接调用回调函数。 本文原创地址,我的博客:jsbintask.cn/2019/04/16/…(食用效果最佳),转载请注明出处! 在理解什么是BIO,NIO,AIO之前,我们首先需要了解什么是同步,异步,阻塞,非阻塞。假如我们现在要去银行取...

    opengps 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<