C語言簡單實現(xiàn)銀行ATM存取款功能
這里使用的運行工具是DEV C++。老鐵們一定要看仔細了。是DEV C++
一、課程設計的目的
掌握C語言程序設計的基礎知識、基本理論、原理和實現(xiàn)技術(shù)。
二、課程設計的題目
銀行ATM存取款系統(tǒng)
三、設計內(nèi)容(主要技術(shù)關(guān)鍵的分析、解決思路和方案比較等)
銀行ATM存取款系統(tǒng)
銀行ATM存取款系統(tǒng)業(yè)務描述如下:
銀行ATM存取款系統(tǒng)能為用戶提供存款、取款、查詢、轉(zhuǎn)賬和修改密碼的功能。為了模擬真實的ATM業(yè)務環(huán)境,本系統(tǒng)必須實現(xiàn)存款、取款、查詢、轉(zhuǎn)賬、修改密碼以及開戶的功能。用戶通過開戶業(yè)務在本系統(tǒng)開立銀行賬戶,之后可以通過該銀行賬戶登陸ATM系統(tǒng),在系統(tǒng)中實現(xiàn)存款、取款、查詢賬戶信息、修改密碼的操作。本系統(tǒng)各個業(yè)務有如下注意點:
(1)登陸系統(tǒng)
用戶登陸之前,必須在登陸界面輸入其銀行賬戶,通過其正確輸入的銀行賬戶登陸系統(tǒng)。
(2)開戶業(yè)務
要使用本系統(tǒng)必須首先執(zhí)行開戶業(yè)務開立新的銀行賬戶,并且將此新開的銀行存儲于文件當中。同時,系統(tǒng)以身份證號碼作為開戶的充分條件,即一個身份證號碼只能開立一次銀行賬戶。
(3)存款業(yè)務
客戶登陸系統(tǒng)后,選擇存款業(yè)務,即可以將輸入的存款金額存入相應的賬戶。
(4)取款業(yè)務
客戶登陸系統(tǒng)后,選擇取款業(yè)務,即可以將輸入的取款金額從相應的銀行賬戶取出,但是取款金額必須大于目前的賬戶余額。
(5)查詢業(yè)務
客戶登陸系統(tǒng)后,可以選擇查詢業(yè)務,查詢賬戶余額。
(6)轉(zhuǎn)賬業(yè)務
客戶登陸系統(tǒng)后,可以選擇轉(zhuǎn)賬業(yè)務,進行轉(zhuǎn)賬。注意的是轉(zhuǎn)賬的目的賬戶必須是本系統(tǒng)已經(jīng)存在的銀行賬戶。
(7)修改密碼
客戶登陸系統(tǒng)后,可以選擇修改密碼業(yè)務,進行密碼修改。
實現(xiàn)的效果





源碼
#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();//轉(zhuǎn)賬
void xiugai();//密碼修改
void display();//查找
//&&&&&&&&&&&&&&&&&&&&&&&&&&
int A,key;//開戶人數(shù)
int i;//控制密碼循環(huán)
char ch='y';//是否繼續(xù)注冊
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);///好東西,以防跳過數(shù)據(jù)
Flag2();
break;
}
case 3:exit(0);break;
default:printf("\n\n\n\t\t您輸入的數(shù)據(jù)不符合要求!!!\n\n\n\n\n");
}
}while(1);
}
void Flag1(){
printf("\n#################################################################################\n");
printf("\n▓ * 銀行定期儲蓄管理系統(tǒng) * ▓\n");
printf("\n#################################################################################\n");
printf("\n ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf(" |◆|******|◆| |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 開戶業(yè)務 請按 1 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 登錄系統(tǒng) 請按 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(" |◆|******|◆| ☆ 存款業(yè)務 請按 1 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 取款業(yè)務 請按 2 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 查詢業(yè)務 請按 3 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 轉(zhuǎn)賬業(yè)務 請按 4 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 修改密碼 請按 5 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 退出系統(tǒng) 請按 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();//查詢業(yè)務
break;
}
case 4:{system("cls");fflush(stdin);zhuan();break;//轉(zhuǎn)賬
}
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("存款業(yè)務");break;
case 2:printf("取款業(yè)務");break;
case 3:printf("查詢業(yè)務");break;
case 4:printf("轉(zhuǎn)賬業(yè)務");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("文件無,系統(tǒng)創(chuàng)建\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位數(shù)字或者字母\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前面已經(jīng)有人用此身份證注冊過\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("是否繼續(xù)是(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("不能創(chuàng)建文件");
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èi)?。?!\n\n\n\t\t\t請重新選擇業(yè)務:");
}
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("不能創(chuàng)建新文件:");
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èi)?。?!\n\n\n\t\t\t請重新選擇業(yè)務:");
}
fclose(fchuhu);
fclose(achuhu);
system("del chuh.txt");
rename("back.txt","chuh.txt");
break;
}
}
}
//********************************************************************************************************************
//轉(zhuǎn)賬
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請輸入轉(zhuǎn)賬人的存單號:");
scanf("%s",&id);
for(i=0;i<=99;i++){
if(strcmp(id,hu[i].idnum)==0){
printf("\n\n\t\t請輸入要轉(zhuǎn)賬的金額:");
scanf("%lf",&jin);
printf("\n\n\t\t請確認數(shù)目:%lf",jin);
hu[i].cunkuan+=jin;
printf("\n\n\n轉(zhuǎ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("不能創(chuàng)建新文件:");
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");
}
業(yè)務流程
1、用戶開戶

2、登錄流程

3、密碼修改

以上就是C語言簡單實現(xiàn)銀行ATM存取款功能的詳細內(nèi)容,更多關(guān)于C語言 ATM存取款的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解C++異常處理(try catch throw)完全攻略
這篇文章主要介紹了詳解C++異常處理(try catch throw)完全攻略,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
C語言數(shù)據(jù)結(jié)構(gòu)二叉樹簡單應用
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)二叉樹簡單應用的相關(guān)資料,需要的朋友可以參考下2017-05-05
C語言解3元1次方程組 用初中學的最基本的聯(lián)合消元法
最近就想自己能不能先寫個算線性方程組的程序呢?后來就想了這么個方法,暫時只能算3元的,任意元的接下來繼續(xù)想。有太多硬編碼,希望有興趣的讀者可以給點修改建議2013-11-11
C語言數(shù)據(jù)結(jié)構(gòu)與算法之圖的遍歷(一)
這篇文章主要是介紹了利用深度優(yōu)先算法實現(xiàn)圖的遍歷,文中利用圖文詳細的介紹了實現(xiàn)步驟,對我們學習數(shù)據(jù)結(jié)構(gòu)與算法有一定的幫助,需要的朋友可以參考一下2021-12-12

