天天看點

銀行ATM存取款系統(C語言實作)

這裡使用的運作工具是DEV C++。老鐵們一定要看仔細了。是DEV C++

僅供借鑒:這個是大一時期寫的。大四的時候整理了一下(本人C語言學的也不太好)。肯定很多不足和存在漏洞的地方、僅供借鑒、僅供借鑒。

文章目錄

  • ​​這裡使用的運作工具是DEV C++。老鐵們一定要看仔細了。是DEV C++​​
  • ​​實作的效果​​
  • ​​源碼​​
  • ​​業務流程​​
  • ​​1、使用者開戶​​
  • ​​2、登入流程​​
  • ​​3、密碼修改​​

一、課程設計的目的

掌握C語言程式設計的基礎知識、基本理論、原理和實作技術。

二、課程設計的題目

銀行ATM存取款系統

三、設計内容(主要技術關鍵的分析、解決思路和方案比較等)

銀行ATM存取款系統

銀行ATM存取款系統業務描述如下:

銀行ATM存取款系統能為使用者提供存款、取款、查詢、轉賬和修改密碼的功能。為了模拟真實的ATM業務環境,本系統必須實作存款、取款、查詢、轉賬、修改密碼以及開戶的功能。使用者通過開戶業務在本系統開立銀行賬戶,之後可以通過該銀行賬戶登陸ATM系統,在系統中實作存款、取款、查詢賬戶資訊、修改密碼的操作。本系統各個業務有如下注意點:

(1)登陸系統

使用者登陸之前,必須在登陸界面輸入其銀行賬戶,通過其正确輸入的銀行賬戶登陸系統。

(2)開戶業務

要使用本系統必須首先執行開戶業務開立新的銀行賬戶,并且将此新開的銀行存儲于檔案當中。同時,系統以身份證号碼作為開戶的充分條件,即一個身份證号碼隻能開立一次銀行賬戶。

(3)存款業務

客戶登陸系統後,選擇存款業務,即可以将輸入的存款金額存入相應的賬戶。

(4)取款業務

客戶登陸系統後,選擇取款業務,即可以将輸入的取款金額從相應的銀行賬戶取出,但是取款金額必須大于目前的賬戶餘額。

(5)查詢業務

客戶登陸系統後,可以選擇查詢業務,查詢賬戶餘額。

(6)轉賬業務

客戶登陸系統後,可以選擇轉賬業務,進行轉賬。注意的是轉賬的目的賬戶必須是本系統已經存在的銀行賬戶。

(7)修改密碼

客戶登陸系統後,可以選擇修改密碼業務,進行密碼修改。

實作的效果

銀行ATM存取款系統(C語言實作)
銀行ATM存取款系統(C語言實作)
銀行ATM存取款系統(C語言實作)
銀行ATM存取款系統(C語言實作)
銀行ATM存取款系統(C語言實作)

源碼

#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、使用者開戶

銀行ATM存取款系統(C語言實作)

2、登入流程

3、密碼修改

繼續閱讀