銀行存取款管理系統(tǒng)最終終極完善版.doc_第1頁(yè)
銀行存取款管理系統(tǒng)最終終極完善版.doc_第2頁(yè)
銀行存取款管理系統(tǒng)最終終極完善版.doc_第3頁(yè)
銀行存取款管理系統(tǒng)最終終極完善版.doc_第4頁(yè)
銀行存取款管理系統(tǒng)最終終極完善版.doc_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、include”stdio.h"#include"string。h”include"stdlib。h”#include"conio.h"#include"time.h"#define N 20define M 20#define TRUE 1 #define FALSE 0 define MIN_INPUT ' define MAX_INPUT 127 /127即0x7estruct jilufloat add; /存款金額 float dra; /取款金額 char dname20; /識(shí)別賬號(hào) char dnum

2、20;/識(shí)別姓名 char ope20;/經(jīng)辦人姓名 char time128; /系統(tǒng)當(dāng)前時(shí)間 float sy; /剩余金額;struct depositorchar num20; /客戶賬號(hào) char name20; /客戶姓名 char per20; /用戶身份證號(hào) char sec20; /用戶密碼 float mon; /存款金額 char addr20; /儲(chǔ)戶地址;void menu();int GetPassword(unsigned char* pszPw,int iMaxSize);/使輸入的密碼顯示為int reads(struct depositor depN);/從

3、文件中讀入客戶信息int readsc(struct jilu jlM); /從文件讀入存款記錄int readsd(struct jilu jlM); /從文件讀入取款記錄void save(struct depositor depN,int n); /保存修改后的客戶信息數(shù)據(jù)void add(); /開(kāi)戶函數(shù)void del(); /銷(xiāo)戶函數(shù)void change(); /改密函數(shù)void show(); /顯示余額函數(shù)void show1();/存款void show2();/存款記錄void show3();/取款void show4();/取款記錄void show5();/清屏函數(shù)

4、void show6();void show7(char panduan20);void main() int n; system("color 1e"); while(1) menu(); printf(”n請(qǐng)輸入您要選擇的操作序號(hào),按回車(chē)鍵確認(rèn):"); scanf("d",n); switch(n) case 1: add();break; case 2: show();break; case 3: del();break; case 4: change();break; case 0: exit(0);case 5: show1();br

5、eak;case 6: show2();break; case 7: show3();break;case 8: show4();break;case 9: show6();break; default: printf("n輸入錯(cuò)誤,請(qǐng)輸入列表中存在的序號(hào)!n ”);show5();void menu() /菜單函數(shù) printf(”n* 銀行個(gè)人賬戶管理系統(tǒng)* ”); printf(”n 1 儲(chǔ)戶開(kāi)戶"); printf(”n 2 余額查詢"); printf("n 3 儲(chǔ)戶銷(xiāo)戶"); printf("n 4 密碼修改”); pri

6、ntf("n 5 存款");printf("n 6 個(gè)人存款記錄”);printf(”n 7 取款"); printf("n 8 個(gè)人取款記錄”); printf("n 0 退出"); printf("n 9 查詢所有客戶存款記錄”); printf("nn* "); int reads(struct depositor depN) / 讀取儲(chǔ)戶內(nèi)容FILE *fp; int i=0; if(fp=fopen("account.txt”,"r")=NULL) pri

7、ntf("文件打開(kāi)失??!n"); show5(); return 0; else for(i=0;!feof(fp);i+) fscanf(fp,"n%s s %s %s f sn",,depi.num,depi.per,depi。sec,depi.mon,depi。addr); fclose(fp); return i; int readsc(struct jilu jlM) /讀取存款記錄 FILE *fp; int i=0; if((fp=fopen("cun.txt",”r")=NULL) prin

8、tf(”文件打開(kāi)失??!沒(méi)有任何存款記錄n"); return 0; elsefor(i=0;!feof(fp);i+)fscanf(fp,”n%s f s %s %s fn”,jli.dnum,jli.add,jli。dname,jli.ope,jli.time,jli.sy); fclose(fp); return i;int readsd(struct jilu jlM) /讀取取款記錄 FILE fp; int i=0; if((fp=fopen("qu.txt","r"))=NULL) printf("文件打開(kāi)失敗!沒(méi)有任何取

9、款記錄n"); return 0; elsefor(i=0;!feof(fp);i+)fscanf(fp,”n%s %f %s s s %fn",jli。dnum,jli.dra,jli.dname,jli。ope,jli.time,jli。sy); fclose(fp); return i;void save(struct depositor depN,int n) / 儲(chǔ)戶保存后信息FILE *fp; int i=0; if(fp=fopen(”account.txt”,"w”))=NULL) printf("文件打開(kāi)失敗!n"); sho

10、w5(); return ; else for(i=0;i<n;i+)fprintf(fp,"ns %s %s s %f sn”,,depi。num,depi.per,depi.sec,depi。mon,depi.addr); fclose(fp);void add()/儲(chǔ)戶開(kāi)戶/ FILE *fp; unsigned char pw99; struct depositor dep; char panduan20; int iMaxSize=80;system("cls”); if((fp=fopen("account。txt”,"

11、;a"))=NULL) /如果文件已經(jīng)存在,可以追加儲(chǔ)戶信息 if(fp=fopen("account.txt”,”w")=NULL) / 文件不存在時(shí),創(chuàng)建新文件,輸入儲(chǔ)戶信息 printf("用戶不存在!n"); show5(); return ; printf("n請(qǐng)依次填寫(xiě)儲(chǔ)戶信息,以回車(chē)鍵作為間隔n"); printf("n賬號(hào): ”); scanf("s",); strcpy(panduan,); show7(panduan); fprintf(fp,

12、"n%sn",panduan); printf("n姓名: " ); scanf("s",dep.num); fprintf(fp,"n%sn”,dep。num); printf("n電話:”); scanf("%s",dep.per); fprintf(fp,”n%sn",dep.per); printf("n密碼:"); if( GetPassword(pw,iMaxSize) = TRUE ) strcpy(dep。sec,pw); fprintf(fp,”n

13、sn”,dep.sec); printf(”nn請(qǐng)重新輸入密碼,按回車(chē)鍵確認(rèn):"); if( GetPassword(pw,iMaxSize) = TRUE ) while(strcmp(pw,dep。sec)!=0) printf("nn輸入的密碼錯(cuò)誤,請(qǐng)重新輸入:”); if( GetPassword(pw,iMaxSize) = TRUE ); printf(”nn金額:"); scanf(”f”,&dep。mon); fprintf(fp,”nfn”,dep。mon); printf(”n住址:"); scanf("%s”,de

14、p.addr); fprintf(fp,”n%sn",dep.addr); if(dep.mon10 ) printf("n 儲(chǔ)戶金額低于十元,不予開(kāi)戶 n"); show5(); return ; printf(”n*開(kāi)戶成功* "); show5(); fclose(fp);void show() /余額查詢 unsigned char pw99; int iMaxSize=80; struct depositor depN; int i,n;char s20;char t20 ; system("cls”); n=reads(dep);

15、printf("n請(qǐng)用戶輸入賬號(hào),密碼,用回車(chē)隔開(kāi),按回車(chē)鍵確認(rèn):nn”);scanf(”s”,s); if( GetPassword(pw,iMaxSize) = TRUE )strcpy(t,pw); for(i=0;in;i+) if (strcmp(s,)=0 & strcmp(t,depi.sec)=0) break; if (i>=n |strcmp(t,depi.sec)!=0) printf(”n輸入錯(cuò)誤n”); show5(); return ; else printf(”n*儲(chǔ)戶余額如下* "); printf(”n%。2

16、fn", depi。mon); show5(); void show1() /存款 unsigned char pw99; int iMaxSize=80;FILE *fp; int i,n;char s20; char t20 ; struct depositor depN; struct jilu jl; system(”cls"); n=reads(dep); printf(”n請(qǐng)用戶輸入賬號(hào),密碼,用回車(chē)隔開(kāi),按回車(chē)鍵確認(rèn):nn”);scanf(”%s",s); if( GetPassword(pw,iMaxSize) = TRUE )strcpy(t,p

17、w); for(i=0;i<n;i+) if (strcmp(s,)=0 &&strcmp(t,depi。sec)=0) break; if (i>=n strcmp(t,depi.sec)!=0) printf("n 輸入錯(cuò)誤 n”); show5(); return ; else if(fp=fopen("cun。txt”,"a")=NULL) /如果文件已經(jīng)存在,可以追加儲(chǔ)戶信息 if(fp=fopen(”cun。txt”,”w”))=NULL) / 文件不存在時(shí),創(chuàng)建新文件,輸入儲(chǔ)戶信息 printf

18、(”記錄不存在!n"); show5(); return ; strcpy(jl.dnum,depi。num); fprintf(fp,”n%sn",jl.dnum); printf("n請(qǐng)輸入存款金額,并按回車(chē)鍵確認(rèn):nn"); scanf("f”,jl。add); fprintf(fp,"n%fn”,jl.add); strcpy(jl.dname,); fprintf(fp,”nsn”,jl。dname); printf("n請(qǐng)輸入操作員姓名,并按回車(chē)鍵確認(rèn):nn"); scanf(”s&q

19、uot;,jl.ope); fprintf(fp," %s”,jl.ope); _tzset(); _strtime(jl.time); _strdate(jl。time); fprintf(fp,"n%sn”,jl.time); jl.sy=jl.add+depi.mon; fprintf(fp,”n%fn",jl.sy); depi.mon=depi。mon+jl.add; save(dep,n); printf("n您已成功存款.fn”,jl。add); printf("n現(xiàn)在總金額為。fn”,depi。mon); show5(); fc

20、lose(fp);void show2() /存款記錄 unsigned char pw99; int iMaxSize=80;FILE fp; int i,n,z,k,l=1;char s20;char t20; struct depositor depN; struct jilu jlM; system(”cls”); z=readsc(jl); n=reads(dep); if((fp=fopen(”cun.txt”,"r")!=NULL) printf(”n請(qǐng)用戶輸入賬號(hào),密碼,用回車(chē)隔開(kāi),按回車(chē)鍵確認(rèn):nn"); scanf("%s"

21、,s); if( GetPassword(pw,iMaxSize) = TRUE ) strcpy(t,pw); for(i=0;i<n;i+) if (strcmp(s,)=0 &strcmp(t,depi。sec)=0) break; if (i=n|strcmp(t,depi.sec)!=0) printf(”n 輸入錯(cuò)誤 n"); show5(); return ; else printf(”n存款記錄如下:nn編號(hào) 存款金額 存款時(shí)間 剩余金額 操作員n"); for(k=0;k<z;k+) if(strcmp(depi。na

22、me,jlk。dname)=0) printf(”n%-8d%-12.f%12s12.fsn",l+,jlk.add,jlk。time,jlk.sy,jlk。ope); show5();else show5(); void show3() /取款 unsigned char pw99; int iMaxSize=80;FILE fp; int i,n;char s20;char t20; struct depositor depN; struct jilu jl; system(”cls”); n=reads(dep); printf(”n請(qǐng)用戶輸入賬號(hào),密碼,用回車(chē)隔開(kāi),按回車(chē)鍵確

23、認(rèn):nn");scanf(”%s",s); if( GetPassword(pw,iMaxSize) = TRUE )strcpy(t,pw); for(i=0;i<n;i+) if (strcmp(s,)=0 strcmp(t,depi.sec)=0) break; if (i=n strcmp(t,depi。sec)!=0) printf(”n輸入錯(cuò)誤 n”); show5(); return ; else if(fp=fopen(”qu.txt","a"))=NULL) /如果文件已經(jīng)存在,可以追加儲(chǔ)戶信息 if(

24、fp=fopen(”qu。txt”,”w”)=NULL) / 文件不存在時(shí),創(chuàng)建新文件,輸入儲(chǔ)戶信息 printf("記錄不存在!n"); show5(); return ; strcpy(jl.dnum,depi.num); fprintf(fp,"n%sn",jl。dnum); printf(”n請(qǐng)輸入取款金額,并按回車(chē)鍵確認(rèn):nn"); scanf("%f",jl.dra); if(jl。dra=depi。mon) fprintf(fp,"nf”,jl。dra); strcpy(jl.dname,depi.n

25、ame); fprintf(fp,"nsn",jl。dname); printf("n請(qǐng)輸入操作員姓名,并按回車(chē)鍵確認(rèn):nn"); scanf(”%s”,jl.ope); fprintf(fp,"nsn",jl.ope); _tzset(); _strtime(jl。time); _strdate(jl.time); fprintf(fp,"nsn",jl。time); jl。sy=depi.monjl。dra; fprintf(fp,"n%fn",jl.sy); depi.mon=depi。m

26、onjl。dra; save(dep,n); printf("n您已成功取款。fn",jl。dra); printf(”n現(xiàn)在總金額為。fn”,depi。mon); show5(); else printf(”n取款金額大于剩余金額,取款失敗n"); show5(); fclose(fp);void show4() /取款記錄 unsigned char pw99; int iMaxSize=80;FILE *fp; int i,n,z,k,l=1;char s20;char t20; struct depositor depN; struct jilu jlM;

27、 system("cls”); z=readsd(jl); n=reads(dep);if(fp=fopen(”qu.txt",”r"))!=NULL) printf(”n請(qǐng)用戶輸入賬號(hào),密碼,用回車(chē)隔開(kāi),按回車(chē)鍵確認(rèn):nn”); scanf(”%s",s); if( GetPassword(pw,iMaxSize) = TRUE ) strcpy(t,pw); for(i=0;i<n;i+) if (strcmp(s,)=0 &&strcmp(t,depi。sec)=0) break; if (i>=n |

28、 strcmp(t,depi.sec)!=0) printf(”n 輸入錯(cuò)誤 n”); show5(); return ; else printf("n取款記錄如下:nn編號(hào) 取款金額 取款時(shí)間 剩余金額 操作員n"); for(k=0;kz;k+) if(strcmp(,jlk.dname)=0) printf(”n-8d%-12.f-12s12.f%sn”,l+,jlk.dra,jlk。time,jlk.sy,jlk.ope); show5(); else show5();void del() /儲(chǔ)戶信息刪除函數(shù) unsigned char pw99;

29、 int iMaxSize=80;struct depositor depN; char number20;char t20; int n,i,j; system("cls"); n=reads(dep); printf(”n請(qǐng)輸入要?jiǎng)h除儲(chǔ)戶賬號(hào),密碼,用回車(chē)隔開(kāi),按回車(chē)鍵確認(rèn):"); scanf("s”,number); if( GetPassword(pw,iMaxSize) = TRUE )strcpy(t,pw); for(i=0;in;i+) if(strcmp(number,)=0 && strcmp(t,d

30、epi.sec)=0) break; if(i>=n | strcmp(t,depi.sec)!=0)printf("沒(méi)有找到該儲(chǔ)戶信息!n"); show5(); return; elsefor(j=i+1;j<n;j+) depj1=depj; save(dep,n-1); printf(”銷(xiāo)戶成功!n”); show5(); void change() /儲(chǔ)戶密碼更改 unsigned char pw99; int iMaxSize=80;struct depositor depN; int n,i;char t20;char number20; syst

31、em("cls"); printf(”n請(qǐng)輸入要更改密碼的儲(chǔ)戶賬號(hào),密碼,用空格隔開(kāi),按回車(chē)鍵確認(rèn):n”); scanf(”%s”,number); if( GetPassword(pw,iMaxSize) = TRUE )strcpy(t,pw); n=reads(dep); for(i=0;i<n;i+) if(strcmp(number,)=0 &strcmp(t,depi.sec)=0) break;if(i=n |strcmp(t,depi.sec)!=0)printf("無(wú)此儲(chǔ)戶信息!”); show5(); retur

32、n; printf(”n請(qǐng)輸入更改后密碼,按回車(chē)鍵確認(rèn):n"); scanf(”s",&depi.sec); save(dep,n); printf("n修改成功n"); show5();void show5()/該函數(shù)控制清屏 int c; printf("n確認(rèn)請(qǐng)按1nn"); scanf(”%d",&c); if(c=1) system(”cls"); /函數(shù)整體功能為使輸入的密碼在控制臺(tái)顯示為* 所有功能有此函數(shù)實(shí)現(xiàn): pszPw : 保存密碼的緩沖 * iMaxSize :最大的密碼長(zhǎng)度,該長(zhǎng)度必須小于緩沖區(qū)大小. 返回值為T(mén)RUE為成功獲取密碼??偸欠祷豑RUE */ int GetPassword(unsigned char pszPw,int iMaxSize) unsigned char ch; int i=0; int bIsEcho=TRUE; /while( ! kbhit() & i<iMaxSize ) while( ( ch = (

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論