C語言實現模擬銀行系統
本文實例為大傢分享瞭C語言實現銀行系統的具體代碼,供大傢參考,具體內容如下
1.實現要求
生成一個1000-1000000之間的隨機數來代表賬戶餘額(要求每次生成的數不一樣);
實現登錄功能:用戶有三次輸入密碼的機會,輸入正確的密碼才能登錄,如果輸入錯誤超過瞭三次 之後密碼還是錯,則提示賬戶被凍結,退出程序。
實現查詢賬戶餘額功能:查詢賬戶餘額並輸出。
實現取款功能:提示用戶輸入相應的金額,並取款。
實現存款功能:提示用戶輸入存款金額,並存款。
實現修改密碼功能:提示用戶輸入新的密碼,密碼修改成功後,退出系統,提示重新登錄。
實現退出系統功能。
2.示例代碼:
//示例代碼: #include<stdio.h> #include<stdlib.h> #include<time.h> void menu(); int changePwd(); int drawDeposit() ; void getDeposit() ; void judgePwd(); void Print(); long saveDeposit(); long deposit;//存款 int password=123456;//密碼 //隨機生成一個1000-1000000之間的整數來代表存款 void getDeposit() { do { deposit=rand()%1000000+1; } while(deposit<1000); } //打印菜單選擇項 void menu() { printf("\t ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"); printf("\t☆※※※※※※※※歡迎使用銀行系統※※※※※※※※☆\n"); printf("\t ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n\n"); printf("銀行業務有以下幾種:\n"); printf("按鍵1:查看賬戶餘額\n"); printf("按鍵2:取款\n"); printf("按鍵3:存款\n"); printf("按鍵4:修改密碼\n"); printf("按鍵5:退出系統\n"); } //判斷密碼是否正確 void judgePwd() { int input; int count=0;//輸入密碼的次數,初值為0 printf("請輸入您的密碼:"); scanf("%d",&input); count++;//每輸入一次密碼,次數加一 //如果密碼密碼輸入錯誤,就提示重新輸入,直到輸入正確的密碼或者次數用完 while(input!=password) { if(count==3) {//當count=3時,表示輸入瞭3次錯誤的密碼,退出程序 printf("你的次數已用完,賬戶已被凍結!\n"); printf("正在退出系統......\n"); exit(0); } printf("密碼輸入錯誤,請重新輸入:(您還有%d次機會)\n請輸入您的密碼:",3-count); scanf("%d",&input); count++; } printf("密碼輸入正確,登錄成功!\n"); printf("\n \n"); } //打印賬戶餘額 void Print() { printf("您的賬戶餘額為:%ld\n",deposit); } //取款 int drawDeposit() { long draw;//取款金額 do { printf("請輸入您的取款金額(本機隻能提取100元面值的鈔票):"); scanf("%ld",&draw); if(draw>deposit) {//如果輸入的金額大於餘額,提示餘額不足 while(draw>deposit) { printf("您的餘額不足,請重新輸入取款金額:"); scanf("%ld",&draw); } } if(draw<100||draw%100!=0) {//輸入的金額不合法,提示重新輸入 printf("輸入的取款金額有誤,請重新輸入取款金額:\n"); } } while(draw<100||draw%100!=0); deposit=deposit-draw;//計算餘額(原來的餘額-取款金額) return draw; } //存款 long saveDeposit() { long save;//存款金額 printf("存款時隻接受面值為100的鈔票。\n") ; printf("請輸入您的存款金額:"); scanf("%ld",&save); //存款金額不能為負,且隻能存百元鈔 while(save<=0||save%100!=0) { printf("存款金額不符合規定,請重新輸入存款金額:"); scanf("%ld",&save); } deposit=deposit+save;//賬戶餘額=原來的餘額+存款金額 return save; } //修改密碼 int changePwd() { int change_pwd,change; char ch; printf("您確定要修改密碼嗎?(Y/y)"); scanf("%c",&ch); ch=getchar(); if(ch=='y'||ch=='Y') { judgePwd(); printf("請輸入新的密碼:"); scanf("%d",&change_pwd); printf("請確認新的密碼:") ; scanf("%d",&change); if(change_pwd!=change) { printf("兩次密碼輸入不一致,即將返回主頁面...\n"); // menu(); return password; } else { password=change_pwd; printf("密碼修改成功......\n"); printf("請重新登錄:\n"); judgePwd(); return change_pwd; } } else { return password; } } int main() { srand((unsigned)time(NULL));//使每次生成的隨機金額不同 getDeposit();//調用函數生成賬戶餘額 menu();//調用函數,打印菜單 // int password=123456;//設置初始密碼 judgePwd();//判斷輸入的密碼是否正確 int ch,statu=0; //程序主體:登錄之後,隻有等到用戶自己選擇退出時才退出系統, 否則就一直執行下去 while(1) { printf("--------------------------------------------------------------------------------\n\n"); menu(); printf("請選擇你的業務:\n"); scanf("%d",&ch); //根據用戶輸入選擇執行相應的操作 switch(ch) { case 1: Print(); break; case 2: printf("取款成功,金額為:%ld\n",drawDeposit()); break; case 3: printf("存款成功,金額為:%ld\n",saveDeposit()); break; case 4: password=changePwd(); break; case 5: statu=-1; break; default: printf("輸入有誤,請重新輸入......\n"); } if(statu==-1) { break; } } printf("\n歡迎下次光臨,再見\3\3\3\3\3...\n"); }
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。