C語言課程設計報告銀行存取款管理設計_第1頁
C語言課程設計報告銀行存取款管理設計_第2頁
C語言課程設計報告銀行存取款管理設計_第3頁
C語言課程設計報告銀行存取款管理設計_第4頁
C語言課程設計報告銀行存取款管理設計_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、錯誤!未找到目錄項C程序課程設計報告題目車票管理系統(tǒng)院別數(shù)學與計算機學院班級姓名學號指導教師鄧永江O五年六月預習報告:設計題目銀行存取款管理設計二:功能要求 能夠添加和修改以及刪除客戶文件。(在客戶文件中,每個客戶是一條記錄,包括編號、客戶姓名、支取密碼、客戶地址、客戶電話、賬戶總金額)。 能夠輸入和查詢客戶存款取款記錄。(在存取款文件中,每次存取款是一條記錄,包括編號、日期、類別、存取數(shù)目、經(jīng)辦人。類別分為取款和存款兩種)。 能夠給程序提供運行提示。 、用C語言實現(xiàn)系統(tǒng); 、三:設計要求函數(shù)功能要劃分好(結構化程序設計); 界面友好(良好的人機交互),加必要的注釋; 要提供程序測試方案,程序

2、一定要經(jīng)得起測試,寧可功能少一些,也要能運行起來, 不能運行的程序是沒有價值的。四:設計目的 、通過這次課程設計,使我們更加深入地理解和掌握 C語言基本概念,切身體會用結構 化程序設計的工程思想,感受 C語言的魅力。 、通過這次課程設計,培養(yǎng)我們獨立思考、勇于探索、積極創(chuàng)新、嚴謹求實、有過必改 的工作態(tài)度以及較熟的上級操作能力,同時加強我們團結友愛,協(xié)作攻關的團隊合作意 識。五:設計框架圖功能選擇/存取款關于:力函數(shù) 自定,V客戶 v料添keV與操kei修與變量說明 函數(shù)ain():"(struct cou p ,char *re,l ongd(stri存款查詢查詢?nèi)】畈樵兇嫒】钤诶?/p>

3、面寫了 “功能選擇”的 sWiTC函數(shù);辦理客戶資料添加與操作主菜單; 客戶資料查詢函數(shù); 客戶資料添加函數(shù); 客戶資料修改函數(shù); 客戶資料清楚函數(shù); 客戶資料打印函數(shù); 存取款辦理選擇主菜單; 客戶存款資料的鍵入; 客戶取款資料的鍵入; 存取款選擇查詢主菜單;,J *h);void kehu2(struct cou *p ,char *re,l onH h);void kehu3(struct cou *void kehu4(struct cou *void keh up( struct cou *void cun q1();void cun q11(struct cou *p ,char

4、*re,l ong h);void cun q12(struct cou *p ,char *re,l ong h);void cunq 2();void cunq211(struct cou p,char *re,long *h);把顧客存款資料從文件讀到緩沖區(qū); void cunq212(struct cou *p,char *re,long *h);打印存款資料;void cunq221(struct cou p,char *re,long *h);把顧客取款資料從文件讀到緩沖區(qū); void cunq222(struct cou *p,char *re,long *h);打印取款資料;

5、void hel p();使用說明模塊。變量全局的結構體型數(shù)組W(用來存放200多個結構體變量):extern struct coulong b;char x20;long m;char a50;long d;float j;long bc;char jin 20;char ji n220;char t20;float j1;float j2;float j3;p,char *re,lo ng h); p,char FejOng 款I);p,Char *re,lor辦理h);float j4; w200; 局部變量int m;用來在主和其他函數(shù)中進行 SWITCH選擇判斷;號, 全局變量lon

6、g t;用于記錄客戶卡號,而卡號是在整個程序中都要用到的,因為是全局變 量,所以一個客戶的卡號不能變更。 char r20,b20,c20;都為記錄客戶姓名的一維數(shù)組,用在生成客戶以及存取款文件和 讀取客戶文件以及存取款文件;sea nf("%d",&m)m=r七:函數(shù)調(diào)用流程圖(客戶資料添加與查詢部分其他函數(shù)kehu();scan f("%d",&m);注:上敘具體函數(shù)1 一switch(m):scan f("%s",b); kehu1(w,b,& t);:k客戶資料添加與查詢 break; m=?部分的設計

7、思想(功能見("六(一)函數(shù)說明 sca nf("%ld",&h);kehu2(w,r,h);于是銀行存取款管理設計,考慮到要有較周全的e能要求以在設計之初就對最終成品的功能進行了較為詳細的布局,最終確定了4個主功能(見源代碼)。 、采用了結構化程序設計思想,在主函數(shù)外定義了void kehu();(客戶文件操作)、void cunq1();(存取款辦理)、void cunq2();(存取款查詢)、void help();(使用幫助) 以及他們的嵌套函數(shù),使產(chǎn)品功能更加健全。 、對于如何使每次次級操作后能方便的返回主界面,我們在主函數(shù)里用到了while(1

8、)這樣函數(shù),再在里面用到幾個 break ;就實現(xiàn)了返回主界面的功能。 、對于客戶及存取款記錄的保存我們在這里用到了用FILE類型定義文件指針,從而來以文件形式存放數(shù)據(jù),而又用到fopen函數(shù)打開文件,用fclose關閉文件,釋放文件緩 沖區(qū);又用到fwrite函數(shù)使數(shù)據(jù)寫入到磁盤保存,用fread函數(shù)把數(shù)據(jù)拉到緩沖區(qū)。 、對于如何使客戶文件和客戶存取款記錄很靈活的結合到一起,我們在主函數(shù)前面構造了一個具有多個成員的結構體,從客戶文件記錄的客戶地址、客戶電話、當前金額等到 客戶存取款記錄的辦理時間、辦理人、存取金額等全部囊括在同一個名為cou結構體類型中。口號, 、程序在主函數(shù)之前定義了全局的

9、結構體型數(shù)組w,為相關文件提供了較為靈活的存取空從而在資料讀取時直接用姓名讀取非常方便。間,而程序中在fwrite函數(shù)之前輸入了客戶姓名和卡號,這實際上就創(chuàng)建了一個名為所輸 入客戶姓名的文件,實驗總結報告九:測試方案.exe ”應用程序進行方案、可以直接打開所給的名為“銀行存取款及客戶資料管理系統(tǒng) 操作,而操作是純鍵盤式的,建議先添加客戶文件,或者先查看“關于”中的幫助。方案、如果是對源代碼進行操作,可以雙擊名為“銀行存取款及客戶資料管理系統(tǒng).C”的.C文件,進入C+運行環(huán)境,按“重新組建”,然后點擊運行按鈕“!”,運行成 功,便可進入主界面,相關操作見上。而這同時C+又在后臺生成了 .exe

10、文件,這就是我們所需要的應用程序。十:調(diào)試中問題及解決方案 調(diào)試過程并不是一帆風順的,比如 、如何對客戶各種詳細資料進行表示,之前我們并沒有想到用結構體,然后再寫程序過 程中遇到諸多困難,一段時間之后,組員進行仔細研究,并查閱相關書籍,最終確定了 用結構體這樣便捷的數(shù)據(jù)類型,而這一決定也為后續(xù)工作指明了方向; 、對客戶資料的打印,因為沒有注意到要把文件資料從文件讀取到緩沖區(qū),因而始終不 能正確的打印出所要的數(shù)據(jù),而最終在組員的一致努力下,察覺到問題,然后 fread 函數(shù) 被用到,這問題迎刃而解; 、在程序編寫過程中,由于時間關系,難免還有些問題尚未解決,我們不怕暴露問題, 我們只求進步。比如

11、說在寫入客戶卡號時,用到 fwrite(&h,4,1,fp); 這樣的函數(shù)語句,雖 然 h 已經(jīng)被我們定義為 long 型變量,然為什么上限為 245至今尚未得到很好的解決。但 這并不影響我們程序的運行,只要稍微注意一下卡號,程序還是很理想的。十一:心得與體會這次的 C 語言課程設計我們付出不少,一次一次的編寫,一次次的修改,花了不少時間, 甚至有時也用上了休息時間。但我們的收獲是那些付出比量不了的。在一次次的調(diào)試與失 敗中,我們更加堅強,更加專注。在團隊合作過程中也發(fā)生過小小的矛盾,但這些終被我 們克服,從而轉(zhuǎn)化為難得的友誼,而又使我們對團隊這個概念的認識又上升到一個新的高 度。其實

12、一切的一切,都沒有知識來的重要,在這次課程設計過程中我們查閱了大量的資 料,而有些是書本上都較少提到的,而這些給我們的便是知識,無形的寶貴財富。最后,老師提供給我們這次難得的課程實習機會,我們是受益匪淺的,當看到一個完整的 應用程序出現(xiàn)在我們面前,作為一個初涉軟件的學徒來說,又何嘗不是感慨萬千呢?我們 深懷感恩,一路前行,軟件工程,我們來了!十二:附源程序清單#inClude<>#inClude<>/* (把顧客資料)從文件讀到緩沖區(qū)/* 客戶資料輸入 */* 新客戶資料輸入 */* 資料清除 */* 打印顧客資料 */void kehu();*/void kehu1(

13、struCt Cou p,Char *re,long *h);void kehu2(struCt Cou *p,Char *re,long h);void kehu3(struCt Cou *p,Char *re,long h);void kehu4(struCt Cou *p,Char *re,long h);void kehup(struCt Cou *p,Char *re,long *h);客戶存款資料的鍵入 */ 客戶取款資料的鍵入 */void Cunq1();/*/*void Cunq11(struCt Cou *p,Char *re,long h);void Cunq12(str

14、uCt Cou *p,Char *re,long h);把顧客存款資料)從文件讀到緩沖區(qū)void Cunq2();/*/void Cunq211(struCt Cou p,Char *re,long *h);把顧客取款資料)從文件讀到緩沖區(qū)void Cunq212(struCt Cou *p,Char *re,long *h);/*/void Cunq221(struCt Cou p,Char *re,long *h);void Cunq222(struCt Cou *p,Char *re,long *h);void help();long t;extern struCt Coulong b;

15、Char x20;long m;Char a50;long d; float j;long bc; char jin20;char jin220; char t20; float j1; float j2; float j3; float j4;struct cou w200;void main()int m;while(1)system("cls");printf("nprintf("printf(" printf("n printf("- scanf("%d",&m);switch(m)cas

16、e 1:kehu();break; case 2:cunq1();break; case 3:cunq2();break; case 4:help();break; getchar();printf("nnnnn getchar();void銀行存取款管理系統(tǒng)【功能選擇】一:客戶添加與操作 二:存取款辦理 三:存取款查詢請按相應的數(shù)字選擇您的需要一n");n");四:關于 n");n");n");按回車鍵返回主界面 .");kehu()int m;char r20,b20,c20; long h,k; system(&quo

17、t;cls");prin tf("n hhh printf("nprintf("nprintf("nprintf("nprintf("nprintf(" printf("scanf("%d",&m); switch(m) 客戶文件: 1:客戶資料查詢 :客戶資料添加 :客戶資料修改 :客戶資料刪除5 :后退 nn");");");");");");按相應的數(shù)字以選擇您的需要n");n");4case

18、 1:p rintf("printf("printf("prin tf("丁scanf("%s",b);kehu1(w,b,&t);kehup(w,b,&t); break;case 2:1 :客戶資料查詢請輸入您要查詢的客戶的姓名n");I n"); n"); :n");/* 從文件讀到緩沖區(qū) */ /* 打印*/printf("printf("printf("prin tf("請輸入新客戶的姓名和卡號printf(“請輸入姓名:n&qu

19、ot;);scanf("%s",r);prin tf("請輸入卡號:n");scanf("%ld",&h); kehu2(w,r,h);break;case 3:2 :客戶資料添加n");I n");n");(1-245):n");/* 把數(shù)據(jù)從緩沖區(qū)輸入到文件 */printf("printf("printf(" printf("n pri ntf("n");I n");n");請輸入您要修改的客戶的姓名和

20、卡號:n");請輸入姓名:n");3 :客戶資料修改scanf("%s",c);prin tf("-scanf("%ld",&k); kehu3(w,c,k); break; case 4:請輸入卡號 :n");/* 把 新數(shù)據(jù)從緩沖區(qū)輸入到文件 */printf("printf("printf(" printf("n printf(“scanf("%s",c); prin tf("請輸入卡號scanf("%ld",&

21、amp;k);kehu4(w,c,k); break;n"); I n");n");請輸入您要刪除的客戶姓名和卡號請輸入姓名/*4 :客戶資料刪除:n");:n");把 0 數(shù)據(jù)從緩沖區(qū)輸入到文件 */n");case 5:break; default:fprintf(stderr,"輸入有誤 !");void kehu1(struct cou p,char *re,long *h) FILE *fp; system("cls"); fp=fopen(re,"rb"); fr

22、ead(h,4,1,fp); fread(&p*h,sizeof(struct cou),1,fp); fclose(fp);void kehup(struct cou *p,char *re,long *h)printf("printf(“printf(" 客戶卡號printf("%ldn",*h);printf(“printf(" 客戶密碼printf("%ldn",p*h.m);printf(“printf(" 客戶電話printf("%ldn",p*h.d);printf(“pr

23、intf(" 客戶地址printf("%sn",p*h.a);prin tf("printf(" 賬戶當前金額printf("%.2fn",p*h.j);printf(“");");");");");客戶 【 %s 】詳細資料 n",re);");");");");");");void kehu2(struct cou *p,char *re,long h)FILE *fp; system("cl

24、s");fp=fopen(re,"wb");fwrite(&h,4,1,fp);printf("請鍵入顧客【%s】(卡號 【ld】)的客戶資料:ph.b=h;printf("ni irscanf("%ld",&ph.m); printf("ni irscanf("%s",ph.a); printf("ni irscanf("%ld",&ph.d); printf("ni irscanf("%f",&ph.

25、j);客戶密碼 :n");客戶地址 :n");客戶電話 : (只接受 10 位以下的號碼) n");客戶當前金額 : (建議不要使賬戶滿 100 萬) n");fwrite(&ph,sizeof(struct cou),1,fp);n",re,h);fclose(fp);void kehu3(struct cou *p,char *re,long h)FILE *fp; system("cls");fp=fopen(re,"wb");fwrite(&h,4,1,fp);printf(&qu

26、ot;n 請鍵入顧客【%s 】 (卡號 【 %ld 】 )的新的客戶資料 : n",re,h);ph.b=h;printf("n i ir scanf("%ld",&ph.m);printf("ni irnscanf("%s",ph.a);printf("ni irnscanf("%ld",&ph.d);修改后客戶密碼修改后客戶地址修改后客戶電話fwrite(&ph,sizeof(struct cou),1,fp); fclose(fp);void kehu4(struc

27、t cou *p,char *re,long h)FILE *fp;system("cls");fp=fopen(re,"wb");fwrite(&h,4,1,fp);prin tf("nnnnq i-1irscanf("%s",ph.a);ph.m=0;ph.d=0;ph.j=0;ph.bc=0;fwrite(&ph,sizeof(struct cou),1,fp); fclose(fp);:n");:n");:n");請輸入 0 鍵以清除:n");/*/void c

28、unq1()int m;char g20;long m1; system("cls");prin tf("printf("nprin tf("nprintf("nnscanf("%d",&m);1. 存款辦理2. 取款辦理按相應的數(shù)字以選擇您的需要n");3 :后退 n"); ");n");switch(m)case 1:printf("printf("printf("pri ntf(" pri ntf(" scanf

29、("%s",g);pri ntf(“輸入客戶卡號scanf("%ld",&m1);cunq11(w,g,m1); break;case 2:1. 存款辦理n");I n");n");請輸入辦理存款業(yè)務的客戶的姓名和卡號輸入客戶姓名:n");:n");/* 存款數(shù)據(jù)輸入 */printf("printf("printf("pri ntf(“pri ntf("scanf("%s",g);pri ntf("輸入客戶卡號:n"

30、);sca nf("%ld",&m1);cunq12(w,g,m1);break;case 3:break;default:2 :取款辦理請輸入辦理取款業(yè)務的客戶的姓名和卡號輸入客戶姓名 :n");fprintf(stderr," 輸入有誤 !");void cunq11(struct cou *p,char *re,long h)FILE *fp;system("cls");fp=fopen(re,"wb");fwrite(&h,4,1,fp);printf("printf(&

31、quot;printf("printf("printf("一請鍵入顧客請輸入存款流水號scanf("%ld",&ph.bc);p ri ntf(“請輸入存款數(shù)目scanf("%f",&ph.j1);ph.j2=ph.j+ph.j1;ph.j=ph.j2;P ri ntf(“經(jīng)辦人:n");scanf("%s",ph.jin);(1-245)-nn");I n"); n");(1-245)nn");nn");nn");存款

32、辦理 nn");【s】(卡號ld )的存款明細::n");(建議不要一次存超過百萬 ):n");n");n",re,h);printf(" 辦理時間(形如2012 年06月2日):n");scanf("%s",ph.t);fwrite(&ph,sizeof(struct cou),1,fp); fclose(fp);void cunq12(struct cou *p,char *re,long h)FILE *fp;system("cls");fp=fopen(re,"

33、;wb"); fwrite(&h,4,1,fp);printf("printf("printf("printf("printf("取款辦理 nn");'請鍵入顧客【%s】(卡號ld )的取款明細:請輸入取款流水號 :n");nn");nn");nn",re,h);scanf("%ld",&ph.bc);pri ntf(“請輸入取款數(shù)目(建議不要一次存超過百萬):n");scanf("%f",&ph.j3)

34、;ph.j4=ph.j-ph.j3;ph.j=ph.j4;pri ntf(“經(jīng)辦人:n");scanf("%s",ph.jin2);printf(" 辦理時間(形如2012 年06月2日):n");canf("%s",ph.t);fwrite(&ph,sizeof(struct cou),1,fp);fclose(fp);*/* void cunq2()int m;char v20;system("cls");prin tf("printf("prin tf("pri

35、ntf("scanf("%d",&m); switch(m)case 1:1. 存款查詢2. 取款查詢按相應的數(shù)字以選擇您的需要nn");3 :后退 nn");n");n");printf(" printf(" printf(" printf("1 :存款查詢請輸入您要查詢的客戶的姓名n"); I n"); n"); :n");scanf("%s",v);cunq211(w,v,&t);cunq212(w,v,

36、&t);/* 注意 */break;case 2:printf("printf("printf("printf(“丨 Liiscanf("%s",v); cunq221(w,v,&t);cunq222(w,v,&t);break; case 3:break;default:2 :取款查詢請輸入您要查詢的客戶的姓名n"); I n"); n"); :n");");");fprintf(stderr," 輸入有誤 !"); void cunq21

37、1(struct cou p,char *re,long *h)FILE *fp;system("cls"); fp=fopen(re,"rb");fread(h,4,1,fp); fread(&p*h,sizeof(struct cou),1,fp); fclose(fp);void cunq212(struct cou *p,char *re,long *h)printf("pri ntf(“printf(" 客戶卡號 printf("%ldn",*h); pri ntf(“printf("

38、存款流水號 printf("%ldn",p*h.bc); printf(" printf(" printf(" printf(" printf("類別 存款 n");存款數(shù)目客戶 【%s 】存款明細 n",re);");");");");");");");");");printf("%.2fn",p*h.j1); prin tf("");printf(" 賬戶當前總金

39、額 printf("%.2fn",p*h.j2); prin tf("printf(" 經(jīng)辦人printf("%sn",p*h.jin); pri ntf(“printf(" 客戶地址 printf("%sn",p*h.a);pri ntf(“printf(" 辦理時間 printf("%sn",p*h.t);pri ntf(“");");");");");void cunq221(struct cou p,char *re,long *h)FILE *fp;syst

溫馨提示

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

評論

0/150

提交評論