C語言編程銀行ATM存取款系統(tǒng)實(shí)現(xiàn)源碼
這里使用的運(yùn)行工具是DEV C++。老鐵們一定要看仔細(xì)了。是DEV C++
僅供借鑒:這個(gè)是大一時(shí)期寫的。大四的時(shí)候整理了一下(本人C語言學(xué)的也不太好)??隙ê芏嗖蛔愫痛嬖诼┒吹牡胤健H供借鑒、僅供借鑒。
一、課程設(shè)計(jì)的目的
掌握C語言程序設(shè)計(jì)的基礎(chǔ)知識(shí)、基本理論、原理和實(shí)現(xiàn)技術(shù)。
二、課程設(shè)計(jì)的題目
銀行ATM存取款系統(tǒng)
三、設(shè)計(jì)內(nèi)容
(主要技術(shù)關(guān)鍵的分析、解決思路和方案比較等)
銀行ATM存取款系統(tǒng)
銀行ATM存取款系統(tǒng)業(yè)務(wù)描述如下:
銀行ATM存取款系統(tǒng)能為用戶提供存款、取款、查詢、轉(zhuǎn)賬和修改密碼的功能。
為了模擬真實(shí)的ATM業(yè)務(wù)環(huán)境,本系統(tǒng)必須實(shí)現(xiàn)存款、取款、查詢、轉(zhuǎn)賬、修改密碼以及開戶的功能。
用戶通過開戶業(yè)務(wù)在本系統(tǒng)開立銀行賬戶,之后可以通過該銀行賬戶登陸ATM系統(tǒng),在系統(tǒng)中實(shí)現(xiàn)存款、取款、查詢賬戶信息、修改密碼的操作。
本系統(tǒng)各個(gè)業(yè)務(wù)有如下注意點(diǎn):
(1)登陸系統(tǒng)
用戶登陸之前,必須在登陸界面輸入其銀行賬戶,通過其正確輸入的銀行賬戶登陸系統(tǒng)。
(2)開戶業(yè)務(wù)
要使用本系統(tǒng)必須首先執(zhí)行開戶業(yè)務(wù)開立新的銀行賬戶,并且將此新開的銀行存儲(chǔ)于文件當(dāng)中。同時(shí),系統(tǒng)以身份證號(hào)碼作為開戶的充分條件,即一個(gè)身份證號(hào)碼只能開立一次銀行賬戶。
(3)存款業(yè)務(wù)
客戶登陸系統(tǒng)后,選擇存款業(yè)務(wù),即可以將輸入的存款金額存入相應(yīng)的賬戶。
(4)取款業(yè)務(wù)
客戶登陸系統(tǒng)后,選擇取款業(yè)務(wù),即可以將輸入的取款金額從相應(yīng)的銀行賬戶取出,但是取款金額必須大于目前的賬戶余額。
(5)查詢業(yè)務(wù)
客戶登陸系統(tǒng)后,可以選擇查詢業(yè)務(wù),查詢賬戶余額。
(6)轉(zhuǎn)賬業(yè)務(wù)
客戶登陸系統(tǒng)后,可以選擇轉(zhuǎn)賬業(yè)務(wù),進(jìn)行轉(zhuǎn)賬。注意的是轉(zhuǎn)賬的目的賬戶必須是本系統(tǒng)已經(jīng)存在的銀行賬戶。
(7)修改密碼
客戶登陸系統(tǒng)后,可以選擇修改密碼業(yè)務(wù),進(jìn)行密碼修改。
實(shí)現(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];//省份證號(hào)
char password[7];//密碼
double cunkuan;//存款
}hu[N];
void date();//顯示當(dāng)前日期
int a,a1;//主界面選擇變量
void Flag1();//主界面
void Flag2();//用戶界面
void Flag3();//用戶功能選擇界面
void zhuce();//注冊(cè)
int yanzheng();//驗(yàn)證存單號(hào)或密碼
//&&&&&&&&&&&&&&&&&&&&&&&
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ù)注冊(cè)
double jin;//存的錢
int t;
char id[11],password[7];
int main(){
system("COLOR 0A"); int b;
Flag1();//引入主界面
do{
printf("\n\n\t\t##請(qǐng)輸入你的選擇:");
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▓ * 銀行定期儲(chǔ)蓄管理系統(tǒng) * ▓\n");
printf("\n#################################################################################\n");
printf("\n ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf(" |◆|******|◆| |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 開戶業(yè)務(wù) 請(qǐng)按 1 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 登錄系統(tǒng) 請(qǐng)按 2 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 退出 請(qǐng)按 3 |◆|******|◆|\n");
printf(" |◆|******|◆| |◆|******|◆|\n");
printf(" ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n#################################################################################\n");
}
//********************************************************************************************************************
//用戶界面
void Flag2(){
int a,b;//選擇功能的變量
do{
printf("\n\n按ENTER鍵進(jìn)入、返回主菜單 " ) ;
fflush(stdin);
scanf("%c",&ch);
system("cls");//清屏
date();
printf("\n#################################################################################\n");
printf("\n▓ * 歡迎使用 * ▓\n");
printf("\n#################################################################################\n");
printf("\n ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf(" |◆|******|◆| ☆ 存款業(yè)務(wù) 請(qǐng)按 1 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 取款業(yè)務(wù) 請(qǐng)按 2 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 查詢業(yè)務(wù) 請(qǐng)按 3 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 轉(zhuǎn)賬業(yè)務(wù) 請(qǐng)按 4 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 修改密碼 請(qǐng)按 5 |◆|******|◆|\n");
printf(" |◆|******|◆| ☆ 退出系統(tǒng) 請(qǐng)按 6 |◆|******|◆|\n");
printf(" |◆|******|◆| |◆|******|◆|\n");
printf(" ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n#################################################################################\n");
printf("\n▓ ******************************* ▓\n");
printf("\n#################################################################################\n");
printf("\n\n\t\t##請(qǐng)輸入你的選擇:");
fflush(stdin);
scanf("%d",&a);
switch(a){//注冊(cè)
case 1: { system("cls");fflush(stdin);cunkaun();break;//存款
}
case 2: {system("cls");fflush(stdin);qukaun();break;//取款
}
case 3: {display();//查詢業(yè)務(wù)
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("您輸入的選擇有誤,請(qǐng)輸入正確的選項(xiàng):");
}
} while(1);
}
//********************************************************************************************************************
//用戶功能選擇界面
void Flag3(){
printf("\n\n\t\t##請(qǐng)輸入你的選擇:");
scanf("%d",&a1);
switch(a1){
case 1:printf("存款業(yè)務(wù)");break;
case 2:printf("取款業(yè)務(wù)");break;
case 3:printf("查詢業(yè)務(wù)");break;
case 4:printf("轉(zhuǎn)賬業(yè)務(wù)");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();//顯示當(dāng)前日期
printf("\n\n\t\t請(qǐng)輸入新儲(chǔ)戶的信息:");
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儲(chǔ)戶存單:");
fflush(stdin);
gets(hu[A].idnum);
printf("\n\t\t姓名:");
fflush(stdin);
gets(hu[A].name);
printf("\n\t\t儲(chǔ)戶密碼(6位):");
for(i=0;i<6;i++){
fflush(stdin);
hu[A].password[i]=getch();
printf("*");
// scanf("%d",&hu[A].password[i]);
}
do{
printf("請(qǐng)輸入省份證號(hào)碼(18位):");
fflush(stdin);
gets(hu[A].idnumber);
if(strlen(hu[A].idnumber)!=18)//strlen 代表的意思
printf("\n\t\t輸入錯(cuò)誤!\n\t\t身份證請(qǐng)輸入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)有人用此身份證注冊(cè)過\n\n\t\t請(qǐng)重新輸入省份證號(hào):\n");
}while((strlen(hu[A].idnumber)!=18)||(strcmp(hu[A].idnumber,hu[i].idnumber)==0)&&(strcmp(hu[A].name,hu[i].name)!=0) );
printf("輸入存儲(chǔ)的金額:");
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);
}
//********************************************************************************************************************
//驗(yàn)證存單號(hào)或密碼
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|#| ☆ 存單號(hào)或者密碼有誤自動(dòng)返回 ☆ |#|\n");
printf("\t\t|#| ☆ ☆ |#|\n");
printf("\t\t|#| ☆☆☆☆☆☆☆☆☆☆ |#|\n");
printf("\t\t|#| |#|\n");
printf("\t\t$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
printf("\n\n\n\t\t 請(qǐng)輸入您的存單號(hào): ");
scanf("%s",&id);
printf("\n\n\n\t\t 請(qǐng)輸入您的密碼: ");
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##請(qǐng)?jiān)俅屋斎氩⒋_認(rèn)存單:");
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請(qǐng)輸入你的取款金額:");
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您的選擇金額不在服務(wù)范圍內(nèi)?。?!\n\n\n\t\t\t請(qǐng)重新選擇業(yè)務(wù):");
}
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請(qǐng)?jiān)俅屋斎氩⒋_認(rèn)存單:");
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請(qǐng)輸入你的取款金額:");
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您的選擇金額不在服務(wù)范圍內(nèi)?。?!\n\n\n\t\t\t請(qǐng)重新選擇業(yè)務(wù):");
}
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請(qǐng)輸入轉(zhuǎn)賬人的存單號(hào):");
scanf("%s",&id);
for(i=0;i<=99;i++){
if(strcmp(id,hu[i].idnum)==0){
printf("\n\n\t\t請(qǐng)輸入要轉(zhuǎn)賬的金額:");
scanf("%lf",&jin);
printf("\n\n\t\t請(qǐng)確認(rèn)數(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請(qǐng)?jiān)俅屋斎氩⒋_認(rèn)存單:");
scanf("%s",&id);
for(i=0;i<=99;i++){
if(strcmp(id,hu[i].idnum)==0){
printf("請(qǐng)輸入新的密碼:\n");
printf("\n\t\t儲(chǔ)戶密碼(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請(qǐng)輸入你的存單號(hào):");
scanf("%s",&fnumb);
printf("\n\n\n");
printf("\t\t\t\t\t您的個(gè)人信息如下:");
printf("\n\n");
for(i=0;i<=99;i++)
if(strcmp(fnumb,hu[i].idnum)==0){
printf("存單號(hào):%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(){//顯示當(dāng)前日期
printf("當(dāng)前日期:");
system("date/t");
printf("當(dāng)前時(shí)間:");
system("time/t");
}
業(yè)務(wù)流程
1、用戶開戶

2、登錄流程

3、密碼修改

以上就是C語言編程銀行ATM存取款系統(tǒng)實(shí)現(xiàn)源碼的詳細(xì)內(nèi)容,更多關(guān)于C語言實(shí)現(xiàn)銀行ATM存取款系統(tǒng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C語言對(duì)數(shù)組元素進(jìn)行冒泡排序的實(shí)現(xiàn)
這篇文章主要介紹了C語言對(duì)數(shù)組元素進(jìn)行冒泡排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
C++實(shí)現(xiàn)將數(shù)據(jù)寫入Excel工作表的示例代碼
直觀的界面、出色的計(jì)算功能和圖表工具,使Excel成為最流行的個(gè)人計(jì)算機(jī)數(shù)據(jù)處理軟件。在本文中,您將學(xué)習(xí)如何使用?Spire.XLS?for?C++?創(chuàng)建?Excel?文檔,以及如何將數(shù)據(jù)寫入?Excel?工作表2023-03-03
C語言深入探索動(dòng)態(tài)內(nèi)存分配的使用
給數(shù)組分配多大的空間?你是否和初學(xué)C時(shí)的我一樣,有過這樣的疑問。這一期就來聊一聊動(dòng)態(tài)內(nèi)存的分配,讀完這篇文章,你可能對(duì)內(nèi)存的分配有一個(gè)更好的理解2022-04-04
利用C++?OpenCV?實(shí)現(xiàn)從投影圖像恢復(fù)仿射特性
我們通過相機(jī)拍攝的圖片存在各種畸變,其中投影畸變使得原本平行的直線不再平行,就會(huì)產(chǎn)生照片中近大遠(yuǎn)小的效果。本文將具體介紹如何利用OPenCV實(shí)現(xiàn)從投影圖像恢復(fù)仿射特性,接下來跟著小編一起學(xué)習(xí)吧2021-11-11
Qt項(xiàng)目實(shí)戰(zhàn)之實(shí)現(xiàn)多文本編輯器
這篇文章主要為大家詳細(xì)介紹了如何利用Qt實(shí)現(xiàn)簡(jiǎn)易的多文本編輯器,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下2023-03-03

