概述
点击蓝字
关注我们
来源于网络,侵删
银行ATM存取款系统
银行ATM存取款系统业务描述如下:
银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。为了模拟真实的ATM业务环境,本系统必须实现存款、取款、查询、转账、修改密码以及开户的功能。用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆ATM系统,在系统中实现存款、取款、查询账户信息、修改密码的操作。本系统各个业务有如下注意点:
(1)登陆系统
用户登陆之前,必须在登陆界面输入其银行账户,通过其正确输入的银行账户登陆系统。
(2)开户业务
要使用本系统必须首先执行开户业务开立新的银行账户,并且将此新开的银行存储于文件当中。同时,系统以身份证号码作为开户的充分条件,即一个身份证号码只能开立一次银行账户。
(3)存款业务
客户登陆系统后,选择存款业务,即可以将输入的存款金额存入相应的账户。
(4)取款业务
客户登陆系统后,选择取款业务,即可以将输入的取款金额从相应的银行账户取出,但是取款金额必须大于目前的账户余额。
(5)查询业务
客户登陆系统后,可以选择查询业务,查询账户余额。
(6)转账业务
客户登陆系统后,可以选择转账业务,进行转账。注意的是转账的目的账户必须是本系统已经存在的银行账户。
(7)修改密码
客户登陆系统后,可以选择修改密码业务,进行密码修改。
实现的效果
![657949e7c6657cf14896599907b08f9c.png](https://file2.kaopuke.com:8081/files_image/2023052810/657949e7c6657cf14896599907b08f9c.png)
![58ee555c566eefe41326c0cbf28b3da2.png](https://file2.kaopuke.com:8081/files_image/2023052810/58ee555c566eefe41326c0cbf28b3da2.png)
![a1a778162715b2eeb2467a01065edd7b.png](https://file2.kaopuke.com:8081/files_image/2023052810/a1a778162715b2eeb2467a01065edd7b.png)
![1d5f3d281908d607624c49618267e046.png](https://file2.kaopuke.com:8081/files_image/2023052810/1d5f3d281908d607624c49618267e046.png)
![33226aa586f4b919e03703ef51c2da47.png](https://file2.kaopuke.com:8081/files_image/2023052810/33226aa586f4b919e03703ef51c2da47.png)
源码
#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];
搜索公众号:C语言中文社区,关注免费领取300G编程资料int main(){
system("COLOR 0A"); int b;
Flag1();//引入主界面
do{
printf("nntt##请输入你的选择:");
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("nnntt您输入的数据不符合要求!!!nnnnn");
}
}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");
}
//********************************************************************************************************************
//用户界面 搜索公众号:C语言中文社区,关注免费领取300G编程资料
void Flag2(){
int a,b;//选择功能的变量
do{
printf("nn按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("nntt##请输入你的选择:");
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("nntt##请输入你的选择:");
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("nntt请输入新储户的信息:");
fscanf(nchuhu,"%st%st%st%st%lfn",&hu[A].idnum,&hu[A].name,&hu[A].idnumber,&hu[A].password,&hu[A].cunkuan);
printf("nntt储户存单:");
fflush(stdin);
gets(hu[A].idnum);
printf("ntt姓名:");
fflush(stdin);
gets(hu[A].name);
printf("ntt储户密码(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("ntt输入错误!ntt身份证请输入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("nntt前面已经有人用此身份证注册过nntt请重新输入省份证号: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,"%st%st%st%st%lfn",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,"%st%st%st%st%lfn",&hu[i].idnum,&hu[i].name,&hu[i].idnumber,&hu[i].password,&hu[i].cunkuan);
}
do{
system("cls");
printf("nnntt$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$n");
printf("tt|#| |#|n");
printf("tt|#| ☆☆☆☆☆☆☆☆☆☆ |#|n");
printf("tt|#| ☆ ☆ |#|n");
printf("tt|#| ☆ 存单号或者密码有误自动返回 ☆ |#|n");
printf("tt|#| ☆ ☆ |#|n");
printf("tt|#| ☆☆☆☆☆☆☆☆☆☆ |#|n");
printf("tt|#| |#|n");
printf("tt$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$n");
printf("nnntt 请输入您的存单号: ");
scanf("%s",&id);
printf("nnntt 请输入您的密码: ");
for(i=0;i<6;i++){
fflush(stdin);
password[i]=getch();
printf("*");
}
password[6]='