C语言编程银行ATM存取款系统实现源码

编辑: admin 分类: c#语言 发布时间: 2021-12-12 来源:互联网
目录
  • 一、课程设计的目的
  • 二、课程设计的题目
  • 三、设计内容
    • 银行ATM存取款系统
  • 实现的效果
    • 源码
      • 业务流程
        • 1、用户开户
        • 2、登录流程
        • 3、密码修改

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

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

      一、课程设计的目的

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

      二、课程设计的题目

      银行ATM存取款系统

      三、设计内容

      (主要技术关键的分析、解决思路和方案比较等)

      银行ATM存取款系统

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

      银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。

      为了模拟真实的ATM业务环境,本系统必须实现存款、取款、查询、转账、修改密码以及开户的功能。

      用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆ATM系统,在系统中实现存款、取款、查询账户信息、修改密码的操作。

      本系统各个业务有如下注意点:

      (1)登陆系统
      用户登陆之前,必须在登陆界面输入其银行账户,通过其正确输入的银行账户登陆系统。
      (2)开户业务
      要使用本系统必须首先执行开户业务开立新的银行账户,并且将此新开的银行存储于文件当中。同时,系统以身份证号码作为开户的充分条件,即一个身份证号码只能开立一次银行账户。
      (3)存款业务
      客户登陆系统后,选择存款业务,即可以将输入的存款金额存入相应的账户。
      (4)取款业务
      客户登陆系统后,选择取款业务,即可以将输入的取款金额从相应的银行账户取出,但是取款金额必须大于目前的账户余额。
      (5)查询业务
      客户登陆系统后,可以选择查询业务,查询账户余额。
      (6)转账业务
      客户登陆系统后,可以选择转账业务,进行转账。注意的是转账的目的账户必须是本系统已经存在的银行账户。
      (7)修改密码
      客户登陆系统后,可以选择修改密码业务,进行密码修改。

      实现的效果

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      源码

      #include<stdio.h>
      #include<stdlib.h>
      #include<string.h>
      #define N 1000 
      #include<conio.h>
      struct 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<A;i++)
      		if(strcmp(hu[A].idnumber,hu[i].idnumber)==0&&strcmp(hu[A].name,hu[i].name)==0) 
      		break;		
      		if(i<A) 
      		  printf("\n\n\t\t前面已经有人用此身份证注册过\n\n\t\t请重新输入省份证号:\n");		  	 
      	}while((strlen(hu[A].idnumber)!=18)||(strcmp(hu[A].idnumber,hu[i].idnumber)==0)&&(strcmp(hu[A].name,hu[i].name)!=0) );	
      	printf("输入存储的金额:");
      	fflush(stdin);
      	scanf("%lf",&hu[A].cunkuan);	
      	fprintf(fchuhu,"%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);
      	A++;
      	printf("是否继续是(y)/否(n)?");
      	fflush(stdin);
      	scanf("%c",&ch); 
      	}while(ch=='y'||ch=='Y');
      	printf("存入成功!");
      //	system("pause");
      	system("cls");
      	fclose(nchuhu);
      	fclose(fchuhu);
      }
      //********************************************************************************************************************
      //验证存单号或密码 
      int yanzheng(){
      	FILE *fchuhu=fopen("chuh.txt","r");
      	int count=0;
      	char id[9];
      	for(i=0;i<=100;i++){
      		fscanf(fchuhu,"%s\t%s\t%s\t%s\t%lf\n",&hu[i].idnum,&hu[i].name,&hu[i].idnumber,&hu[i].password,&hu[i].cunkuan);
      	}
      	do{
      		system("cls");
      			    printf("\n\n\n\t\t$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
      				printf("\t\t|#|                                                          |#|\n");
      				printf("\t\t|#|                    ☆☆☆☆☆☆☆☆☆☆                  |#|\n");
      				printf("\t\t|#|                    ☆                ☆                  |#|\n");
      				printf("\t\t|#|             ☆   存单号或者密码有误自动返回   ☆         |#|\n");
      				printf("\t\t|#|                    ☆                ☆                  |#|\n");
      				printf("\t\t|#|                    ☆☆☆☆☆☆☆☆☆☆                  |#|\n");
      				printf("\t\t|#|                                                          |#|\n");
      				printf("\t\t$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
      		printf("\n\n\n\t\t      请输入您的存单号:  ");
      		scanf("%s",&id);
      		printf("\n\n\n\t\t      请输入您的密码:  ");
      		for(i=0;i<6;i++){
      			fflush(stdin);
      		password[i]=getch();
      			printf("*");
      		} 
      		password[6]='\0';
      		fflush(stdin);
      		scanf("c",&ch);
      		printf("\n\n\t\t");
      		for(i=0;i<99;i++){
      			if(strcmp(id,hu[i].idnum)==0&&strcmp(password,hu[i].password)==0){
      				fclose(fchuhu);
      				return 0;
      			}
      		}		
      	}while(count==0);
      	fclose(fchuhu);
      	return count;
      }
      //********************************************************************************************************************
      //********************************************************************************************************************
      //存款
      void cunkaun(){
      	FILE *fchuhu=fopen("chuh.txt","r");
      	FILE *achuhu=fopen("back.txt","w");
      	char id[9];int i;
      	if(!fchuhu) printf("不能打开文件:");
      	if(!achuhu) printf("不能创建文件");
      	for(i=0;i<=100;i++){
      	fscanf(fchuhu,"%s\t%s\t%s\t%s\t%lf\n",&hu[i].idnum,&hu[i].name,&hu[i].idnumber,&hu[i].password,&hu[i].cunkuan);
      	}	//
      	int x=0;
      		date();
      		printf("\n\n\t\t##请再次输入并确认存单:");
      		scanf("%s",&id);
      		for(i=0;i<=100;i++){
      			if(strcmp(id,hu[i].idnum)==0){		
      		   printf("\n\n"); 
      	 		printf("\t\t||================================================================||\n");
      	 		printf("\t\t||                           *存款金额*                           ||\n");
      	 		printf("\t\t||================================================================||\n");
      	 		printf("\t\t||                                                                ||\n");
      	 		printf("\t\t||                                                                ||\n");
      	 		printf("\t\t||         1、200        2、400        3、600        4、800       ||\n");
      	 		printf("\t\t||                                                                ||\n");
      	 		printf("\t\t||                                                                ||\n");
      	    	printf("\t\t||         5、1000        6、2000        7、4000        8、6000   ||\n");
      	 		printf("\t\t||                                                                ||\n");
      	 		printf("\t\t||================================================================||\n");
      	 		printf("\t\t||================================================================||\n");
      	 		printf("\n\n\t\t\t请输入你的取款金额:");
      	 		scanf("%d",&a);
      	 		switch(a){
      	 			case 1:{jin=200;
      	 				 printf("\t\t\t存款%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^存款成功^^^^"); 
      			    	hu[i].cunkuan+=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 2:{jin=400;
      	 			    printf("\t\t\t存款%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^存款成功^^^^");  
      			    	hu[i].cunkuan+=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      				    fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 3:{
      				 	jin=600;
      				 	 printf("\t\t\t存款%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^存款成功^^^^");  
      			    	hu[i].cunkuan+=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 4:{
      				 		jin=800;
      				  printf("\t\t\t存款%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^存款成功^^^^"); 
      			    	hu[i].cunkuan+=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 	 			case 5:{jin=1000;
      	 			 printf("\t\t\t存款%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^存款成功^^^^"); 
      			    	hu[i].cunkuan+=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 6:{jin=2000;
      	 			 printf("\t\t\t存款%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^存款成功^^^^"); 
      			    	hu[i].cunkuan+=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      				    fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 7:{
      				 	jin=4000;
      				  printf("\t\t\t存款%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^存款成功^^^^"); 
      			    	hu[i].cunkuan+=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 8:{
      				 		jin=6000;
      				 	 printf("\t\t\t存款%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^存款成功^^^^"); 
      			    	hu[i].cunkuan+=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 default:printf("\n\n\n\t\t\t您的选择金额不在服务范围内!!!\n\n\n\t\t\t请重新选择业务:"); 
      				 
      			 }			
      				fclose(fchuhu);
      	            fclose(achuhu);
                  	system("del chuh.txt");
                    	rename("back.txt","chuh.txt");//rename(旧的,新的) 
                      break;		
      				}
      				}
      			}
      //*******************************************************************************************************************
      //取款 
      void qukaun(){
      	FILE *fchuhu=fopen("chuh.txt","r");
      	FILE *achuhu=fopen("back.txt","w");
      	int i;
      	char id[9];
      	if(!fchuhu) printf("不能打开文件:");
      	if(!achuhu) printf("不能创建新文件:");
      	for(i=0;i<=100;i++){
      	fscanf(fchuhu,"%s\t%s\t%s\t%s\t%lf\n",&hu[i].idnum,&hu[i].name,&hu[i].idnumber,&hu[i].password,&hu[i].cunkuan);
      	}
      	 	date();
      	 	printf("\n\n\t\t请再次输入并确认存单:");
      	 	scanf("%s",&id);
      	 	for(i=0;i<=99;i++){
      	 		if(strcmp(id,hu[i].idnum)==0){
      	 	    printf("\n\n"); 
      	     	printf("\t\t||================================================================||\n");
      	 		printf("\t\t||                           *取款金额*                           ||\n");
      	 		printf("\t\t||================================================================||\n");
      	 		printf("\t\t||                                                                ||\n");
      	 		printf("\t\t||                                                                ||\n");
      	 		printf("\t\t||         1、200        2、400        3、600        4、800       ||\n");
      	 		printf("\t\t||                                                                ||\n");
      	 		printf("\t\t||                                                                ||\n");
      	    	printf("\t\t||         5、1000        6、2000        7、4000        8、6000   ||\n");
      	 		printf("\t\t||                                                                ||\n");
      	 		printf("\t\t||================================================================||\n");
      	 		printf("\t\t||================================================================||\n");
      	 		printf("\n\n\t\t\t请输入你的取款金额:");
      	 		scanf("%d",&a);
      	 		switch(a){
      	 			case 1:{jin=200;
      	 				printf("\t\t\t取出%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^取款成功^^^^"); 
      			    	hu[i].cunkuan-=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 2:{jin=400;
      	 				printf("\t\t\t取出%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^取款成功^^^^"); 
      			    	hu[i].cunkuan-=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      				    fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 3:{
      				 	jin=600;
      				 printf("\t\t\t取出%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^取款成功^^^^");  
      			    	hu[i].cunkuan-=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 4:{
      				 		jin=800;
      				 printf("\t\t\t取出%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^取款成功^^^^"); 
      			    	hu[i].cunkuan-=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 	 			case 5:{jin=1000;
      	 				printf("\t\t\t取出%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^取款成功^^^^"); 
      			    	hu[i].cunkuan-=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 6:{jin=2000;
      	 			printf("\t\t\t取出%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^取款成功^^^^"); 
      			    	hu[i].cunkuan-=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      				    fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 7:{
      				 	jin=4000;
      				 printf("\t\t\t取出%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^取款成功^^^^"); 
      			    	hu[i].cunkuan-=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 case 8:{
      				 		jin=6000;
      				 printf("\t\t\t取出%lf元",jin);
      			     	printf("\n\n\n\t\t\t^^^^取款成功^^^^"); 
      			    	hu[i].cunkuan-=jin;
      			    	printf("\n\n\t\t\t$您的余额为:%lf",hu[i].cunkuan);
      			    	fprintf(achuhu,"%s\t%s\t%s\t%s\t%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      					break;
      				 }
      				 default:printf("\n\n\n\t\t\t您的选择金额不在服务范围内!!!\n\n\n\t\t\t请重新选择业务:"); 				 
      			 }
      				fclose(fchuhu);
           	        fclose(achuhu);
                   	system("del chuh.txt");
                   	rename("back.txt","chuh.txt");
      				break;
      			 }
      		 }
      }
      //********************************************************************************************************************
      //转账
      void zhuan(){
      	FILE *fchuhu=fopen("chuh.txt","r+");
      	int i;
      	char id[9];
      	if(!fchuhu) printf("不能打开文件:");
      
      	for(i=0;i<=100;i++){
      	fscanf(fchuhu,"%s\t%s\t%s\t%s\t%lf\n",&hu[i].idnum,&hu[i].name,&hu[i].idnumber,&hu[i].password,&hu[i].cunkuan);
      	}
      	 	date();
      	 	printf("\n\n\t\t请输入转账人的存单号:");
      	 	scanf("%s",&id);
      	 	for(i=0;i<=99;i++){
      	 		if(strcmp(id,hu[i].idnum)==0){
      	 	      printf("\n\n\t\t请输入要转账的金额:");
      			   scanf("%lf",&jin);
      			   printf("\n\n\t\t请确认数目:%lf",jin); 
      				 hu[i].cunkuan+=jin;
      				 printf("\n\n\n转账成功"); 
      				 	fprintf(fchuhu,"%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);
      				 		fclose(fchuhu);
      	fclose(fchuhu);
      				 break;
      			 }
      		 }	
      } 
      //********************************************************************************************************************
      //********************************************************************************************************************
      void xiugai(){
      	FILE *fchuhu=fopen("chuh.txt","r");
      	FILE *achuhu=fopen("back.txt","w");
      	int j,i;
      	char id[9];
      	if(!fchuhu) printf("不能打开文件:");
      	if(!achuhu) printf("不能创建新文件:");
      	for(i=0;i<=100;i++){
      	fscanf(fchuhu,"%s\t%s\t%s\t%s\t%lf\n",&hu[i].idnum,&hu[i].name,&hu[i].idnumber,&hu[i].password,&hu[i].cunkuan);
      	}
      	 	date();
      	 	printf("\n\n\t\t请再次输入并确认存单:");
      	 	scanf("%s",&id);
      	 	for(i=0;i<=99;i++){
      	 		if(strcmp(id,hu[i].idnum)==0){
      	 		printf("请输入新的密码:\n");
      	 			printf("\n\t\t储户密码(6位):");
      	for(j=0;j<6;j++){
      		fflush(stdin);
      		hu[i].password[j]=getch();
      		printf("*");
      
      	} 
      				 printf("\n\n\t\t新的密码:%s\n",hu[i].password);			 
      				 printf("\n\n\t\t修改成功"); 
      				 	fprintf(achuhu,"%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);
      				 		fclose(fchuhu);
      	fclose(achuhu);
      	system("del chuh.txt");
      	rename("back.txt","chuh.txt");
      				 break;
      			 }
      		 }
      }
      //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
      //查询信息 
      void display(){
      	FILE *fchuhu=fopen("chuh.txt","r");
      	int i,n=0;
      	char fnumb[9];
      	system("cls");
      	for(i=0;i<=100;i++){
      			fscanf(fchuhu,"%s\t%s\t%s\t%s\t%lf\n",&hu[i].idnum,&hu[i].name,&hu[i].idnumber,&hu[i].password,&hu[i].cunkuan);
      	}	
      	printf("\n\n●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●\n");
      	printf("\n\n              ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●                      \n");
      	printf("\n\n                              ●●●●●●●●●●●●●●●●●●●●●●●●●●                                              \n");
      	printf("\n\n\n\t\t\t\t\t请输入你的存单号:");
      	scanf("%s",&fnumb);
      	printf("\n\n\n");
      	printf("\t\t\t\t\t您的个人信息如下:");
      	printf("\n\n");
      	for(i=0;i<=99;i++)
      		if(strcmp(fnumb,hu[i].idnum)==0){
      				printf("存单号:%s\t姓名:%s\t身份证:%s\t密码:%s\t存款金额:%lf\n",hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].password,hu[i].cunkuan);
      				n=1;
      				fclose(fchuhu);
      				system("pause"); 
      	            break; 
      		}
      if(n==0) printf("此账单不存在!!!\n");
      fclose(fchuhu);
      
      }
      //********************************************************************************************************************
      void date(){//显示当前日期
      printf("当前日期:");
      system("date/t");
      printf("当前时间:");
      system("time/t"); 
      	
      }
      

      业务流程

      1、用户开户

      在这里插入图片描述

      2、登录流程

      在这里插入图片描述

      3、密码修改

      在这里插入图片描述

      以上就是C语言编程银行ATM存取款系统实现源码的详细内容,更多关于C语言实现银行ATM存取款系统的资料请关注海外IDC网其它相关文章!

      【文章出处:外国服务器