银行ATM存取款系统(C语言实现)
这里使用的运行工具是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、密码修改

银行ATM存取款系统(C语言实现)的更多相关文章
- MySQL银行ATM存取款机系统(需求分析)
银行ATM需求文档 一.E-R图形文 二.开发步骤 1.明确需求--数据库设计--编码实现功能--测试 2.绘制e-r图--绘制数据库模型图--使用三大方式规范数据库结构 三.开发思路 1. 模型图综 ...
- 数据库期末作业之银行ATM存取款机系统
--一.建库.建表.建约束 --1.使用SQL创建表 --客户信息表userinfo --字段名称 说明 备注 --customerID 顾客编号 自动编号(标识列),从1开始,主键 --用序列seq ...
- Go语言的函数07---闭包练习(ATM存取款)
package main import "fmt" /* @ATM(闭包练习) ·写一个Atm(函数),返回存款,取款两个内层函数 ·存款,取款两个函数,都以一个金额为参数,返回存 ...
- C语言设计ATM存取款界面
这个虽然很简单,但是我还是弄了一会儿,可见有多菜.练习算. 主要考察switch开关语句.do...while语句,页面的跳转我用的是goto,虽然是弊端,可是还是用了,因为太菜啊.大家有好建议的欢迎 ...
- python3.6项目:银行存取款系统
card1 ="1001"#卡号pwd1="1001"#密码ban1=10000#余额card2 ="1002"pwd2="100 ...
- java 使用线程做一个简单的ATM存取款实例.(转)
线程 Thread 类,和 Runable 接口 比较两者的特点和应用领域. 可以,直接继承线程Thread类.该方法编写简单,可以直接操作线程,适用于单重继承情况,因而不能在继承其他类 实现Runn ...
- mysql的ATM存取款机系统
##建库 CREATE DATABASE bankDB; ##客户信息表 CREATE TABLE userInfo ( customerID INT PRIMARY KEY AUTO_INCREME ...
- 语言模拟ATM自动取款机系统
C语言实验报告 题目名称:C语言模拟ATM自动取款机系统 C语言模拟实现ATM自动取款机功能:输入密码,余额查询,取款,存款,转账,修改密码,退出功能: 代码实现的功能: 账号及密码输入: ...
- Python 小案例实战 —— 简易银行存取款查询系统
Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...
随机推荐
- MyBatis-知识点详解
Mybatis 中$与#的区别 1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的 ...
- mybatis 05: mybatis中的动态代理
mybatis中动态代理存在的意义 图示 图示分析 分层说明:界面层为第一层,业务逻辑层(接口层 + 实现层)为第二层,数据访问层(接口层 + 实现层)为第三层 业务逻辑层和数据访问层:分别分两层来开 ...
- Spring源码 17 IOC refresh方法12
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- 前端必备的 HTTP 知识
HTTP 起源 HTTP 是由蒂姆·伯纳斯-李(TimBerners-Lee)于1989年在欧洲核子研究组织(CERN)所发起 其中最著名的是 1999 年 6 月公布的 RFC 2616,定义了 H ...
- 熔断器-Hystrix。。。之降级方法
与Feign的Fallback降级方法不同,这个hystrix降级方法是写在被调用方的 需要依赖: <dependency> <groupId>org.springframew ...
- 👍CleanShot X 3.1.1 破解版 (超强屏幕截图录像工具) (TNT + 免激活)
软件语言为ENGLISH,英文不好的劝退! 软件介绍/功能 CleanShot X 3 是一款Mac超强截图以及屏幕录制工具.支持:区域截图.窗口截图.滚动截图.延时截图.屏幕录制.贴图.截图时隐藏桌 ...
- JZM 的套题(暴力,DP)
J Z M \rm JZM JZM 即将奔赴 N O I \rm NOI NOI 考场,为了让同学们赶上自己的千分之一水平,刻意出了两道水题给同学们练练. 1.曾经的代码 J Z M \rm JZM ...
- 这12款idea插件,能让你代码飞起来
前言 基本上每个程序员都会写代码,但写代码的速度不尽相同. 为什么有些人,一天只能写几百行代码? 而有些人,一天可以写几千行代码? 有没有办法,可以提升开发效率,在相同的时间内,写出更多的代码呢? 今 ...
- mysql_添加修改字段总结
Mysql 添加字段 例子 ALTER TABLE tt_transfer_container_pick_config ADD COLUMN container_pick_station VARCHA ...
- 来点基础的练习题吧,看见CSDN这类基础的代码不多
来点基础的练习题吧,看见CSDN这类基础的代码不多 //正三角形 void ex03(){ int i,k=0, rows, space; printf("请输入三角形的层次:") ...