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

下載本文檔

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

文檔簡介

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

2、供程序測試方案,程序一定要經(jīng)得起測試,寧可功能少一些,也要能運行起來,不能運行的程序是沒有價值的。四:設計目的、通過這次課程設計,使我們更加深入地理解和掌握C語言基本概念,切身體會用結構化程序設計的工程思想,感受C語言的魅力。、通過這次課程設計,培養(yǎng)我們獨立思考、勇于探索、積極創(chuàng)新、嚴謹求實、有過必改的工作態(tài)度以及較熟的上級操作能力,同時加強我們團結友愛,協(xié)作攻關的團隊合作意識。取款辦理存款辦理存取款辦理客戶資料添加與操作功能選擇五:設計框架圖整理為word格式關于存取款查詢添加修改刪除查詢?nèi)】畈樵兇婵畈樵兞汉瘮?shù)與變量說明自定義函數(shù)void main(): 在里面寫了“功能選擇”的SWITC

3、H函數(shù);void kehu(); 客戶資料添加與操作主菜單;void kehu1(struct cou p,char *re,long *h); 客戶資料查詢函數(shù); void kehu2(struct cou *p,char *re,long h); 客戶資料添加函數(shù); void kehu3(struct cou *p,char *re,long h); 客戶資料修改函數(shù); void kehu4(struct cou *p,char *re,long h); 客戶資料清楚函數(shù); void kehup(struct cou *p,char *re,long *h); 客戶資料打印函數(shù);void

4、cunq1(); 存取款辦理選擇主菜單;void cunq11(struct cou *p,char *re,long h); 客戶存款資料的鍵入; void cunq12(struct cou *p,char *re,long h); 客戶取款資料的鍵入; 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

5、*re,long *h); 把顧客取款資料從文件讀到緩沖區(qū);void cunq222(struct cou *p,char *re,long *h); 打印取款資料;void help(); 使用說明模塊。變量全局的結構體型數(shù)組w(用來存放200多個結構體變量):extern struct cou整理為word格式long b;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; w200;局部變量int m;用來在

6、主和其他函數(shù)中進行SWITCH選擇判斷;全局變量long t;用于記錄客戶卡號,而卡號是在整個程序中都要用到的,因為是全局變量,所以一個客戶的卡號不能變更。char r20,b20,c20;都為記錄客戶姓名的一維數(shù)組,用在生成客戶以及存取款文件和讀取客戶文件以及存取款文件;七:函數(shù)調(diào)用流程圖(客戶資料添加與查詢 部分 )void main()while(1)scanf(%d,&m); m=1? 其他函數(shù) 是kehu();scanf(%d,&m);switch(m);整理為word格式m=? 1 2scanf(%s,b);kehu1(w,b,&t);kehup(w,b,&t);break;sca

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

8、,我們在主函數(shù)里用到了while(1)這樣函數(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)建了一個名為所輸入客戶姓名的文件, 從而在資料讀取時直接用姓名讀取非常方便。實驗總結報告九:測試方案整理為word格式方案、可以直接打開所給的名為“銀行存取款及客戶資料管理系統(tǒng).exe”應用程序進行操作,而操作是純鍵盤式的,建議先添加客戶文件,或者先查看“關于”中的幫助。方案、如果是對源代碼進行操作,可以雙擊名為“銀行存取款及客戶資料管理系統(tǒng).c”的.c文件,進入C+運行環(huán)境,按“重新組建”,然后點擊運行按鈕“!”,運行成功,便可進入主界面,相關操作見上。而這同時

10、C+又在后臺生成了.exe文件,這就是我們所需要的應用程序。十:調(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ā)生過小小的矛盾,但這些終被我們克服,從而轉化為難得的友誼,而又使我們對團隊這個概念的認識又上升到一個新的高度。其實一切的一切,都沒有知識來的重要,在

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

13、輸入*/void kehu3(struct cou *p,char *re,long h); /*新客戶資料輸入*/整理為word格式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(struct cou *p,char *re,long h); /*客戶取款資料的鍵入*

14、/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); /*(把顧客取款資料)從文件讀到緩沖區(qū)*/void cunq222(struct cou *p,char *re,long *h);void help();long t;extern struct coulong b;char x20;long m;char

15、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(n銀行存取款管理系統(tǒng)n);printf(【功能選擇】n);printf( 一:客戶添加與操作 二:存取款辦理 三:存取款查詢 四:關于n);printf(nn);printf(-請按相應的數(shù)字選擇您的需要-n);整理為word格式 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 kehu() int m;char r20,b20,c20;long h,k;system(cls);printf(n);printf(n 客戶文件:1:客戶資料查詢); printf(n 2:客戶資料添加); printf(n 3:客戶資料修改); printf(n 4:客戶資料刪除); printf(n 5:后退nn); p

17、rintf(n); printf(-按相應的數(shù)字以選擇您的需要-n); scanf(%d,&m); switch(m) case 1: printf( n); printf( 1:客戶資料查詢 n); printf( n); printf( 請輸入您要查詢的客戶的姓名:n); scanf(%s,b); kehu1(w,b,&t); /*從文件讀到緩沖區(qū)*/ kehup(w,b,&t); /*打印*/ break; case 2: printf( n); printf( 2:客戶資料添加 n);整理為word格式 printf( n); printf(請輸入新客戶的姓名和卡號(1-245):n)

18、; printf(請輸入姓名:n); scanf(%s,r); printf(請輸入卡號:n); scanf(%ld,&h); kehu2(w,r,h); /*把數(shù)據(jù)從緩沖區(qū)輸入到文件*/ break; case 3: printf( n); printf( 3:客戶資料修改 n); printf( n); printf(n請輸入您要修改的 客戶的姓名和卡號:n); printf(請輸入姓名:n); scanf(%s,c); printf(請輸入卡號:n); scanf(%ld,&k); kehu3(w,c,k); /*把 新數(shù)據(jù)從緩沖區(qū)輸入到文件*/ break; case 4: print

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

20、d(h,4,1,fp);fread(&p*h,sizeof(struct cou),1,fp);fclose(fp);整理為word格式void kehup(struct cou *p,char *re,long *h) printf( 客戶 【 %s 】詳細資料n,re); printf(); printf(客戶卡號 ); printf(%ldn,*h); printf(); printf(客戶密碼 ); printf(%ldn,p*h.m); printf(); printf(客戶電話 ); printf(%ldn,p*h.d); printf(); printf(客戶地址 ); prin

21、tf(%sn,p*h.a); printf(); printf(賬戶當前金額 ); printf(%.2fn,p*h.j); printf();void kehu2(struct cou *p,char *re,long h)FILE *fp;system(cls);fp=fopen(re,wb);fwrite(&h,4,1,fp);printf(請鍵入顧客 【%s】(卡號 【 %ld 】 )的客戶資料:n,re,h);ph.b=h;printf(n 客戶密碼:n);scanf(%ld,&ph.m);printf(n 客戶地址:n);scanf(%s,ph.a);printf(n 客戶電話:(

22、只接受10位以下的號碼)n);scanf(%ld,&ph.d);printf(n 客戶當前金額:(建議不要使賬戶滿100萬)n);scanf(%f,&ph.j);fwrite(&ph,sizeof(struct cou),1,fp);整理為word格式 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(n請鍵入顧客 【%s】(卡號 【 %ld 】 )的新的客戶資料:n,re,h);ph.b=h;printf(n 修改后

23、客戶密碼:n);scanf(%ld,&ph.m);printf(n 修改后客戶地址:n);scanf(%s,ph.a);printf(n 修改后客戶電話:n);scanf(%ld,&ph.d);fwrite(&ph,sizeof(struct cou),1,fp); fclose(fp);void kehu4(struct cou *p,char *re,long h)FILE *fp;system(cls);fp=fopen(re,wb);fwrite(&h,4,1,fp);printf(nnnn 請輸入0鍵以清除 :n);scanf(%s,ph.a); ph.m=0;ph.d=0;ph.j

24、=0; ph.bc=0; fwrite(&ph,sizeof(struct cou),1,fp); fclose(fp); /*-*/void cunq1()int m;整理為word格式char g20;long m1;system(cls);printf(n);printf(n 1.存款辦理 2.取款辦理 3:后退n);printf(n);printf(nn-按相應的數(shù)字以選擇您的需要-n); scanf(%d,&m); switch(m) case 1: printf( n); printf( 1.存款辦理 n); printf( n); printf( 請輸入辦理存款業(yè)務的客戶的姓名和

25、卡號(1-245) nn); printf(輸入客戶姓名:n); scanf(%s,g); printf(輸入客戶卡號:n); scanf(%ld,&m1); cunq11(w,g,m1); /*存款數(shù)據(jù)輸入*/ break; case 2: printf( n); printf( 2:取款辦理 n); printf( n); printf( 請輸入辦理取款業(yè)務的客戶的姓名和卡號(1-245) nn); printf(輸入客戶姓名:n); scanf(%s,g); printf(輸入客戶卡號:n);scanf(%ld,&m1); cunq12(w,g,m1); break; case 3:br

26、eak; default: fprintf(stderr,輸入有誤!); void cunq11(struct cou *p,char *re,long h) FILE *fp;system(cls);fp=fopen(re,wb);整理為word格式fwrite(&h,4,1,fp);printf(nn);printf( 存款辦理nn);printf(n);printf(請鍵入顧客 【%s】(卡號 %ld ) 的存款明細:n,re,h);printf(請輸入存款流水號:n); scanf(%ld,&ph.bc); printf(請輸入存款數(shù)目(建議不要一次存超過百萬):n); scanf(%

27、f,&ph.j1); ph.j2=ph.j+ph.j1; ph.j=ph.j2; printf(經(jīng)辦人:n); scanf(%s,ph.jin); 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,wb);fwrite(&h,4,1,fp);printf(nn);printf( 取款辦理nn);printf(

28、nn);printf(請鍵入顧客 【%s】(卡號 %ld ) 的取款明細:nn,re,h);printf(請輸入取款流水號:n); scanf(%ld,&ph.bc);printf(請輸入取款數(shù)目(建議不要一次存超過百萬):n);scanf(%f,&ph.j3); ph.j4=ph.j-ph.j3; ph.j=ph.j4;printf(經(jīng)辦人:n);scanf(%s,ph.jin2);printf(辦理時間(形如2012年06月2日):n);canf(%s,ph.t); fwrite(&ph,sizeof(struct cou),1,fp);整理為word格式 fclose(fp);/*-*/

29、void cunq2()int m;char v20;system(cls);printf(nn);printf( 1.存款查詢 2.取款查詢 3:后退nn);printf(n);printf(-按相應的數(shù)字以選擇您的需要-n);scanf(%d,&m);switch(m)case 1: printf( n); printf( 1:存款查詢 n); printf( n);printf( 請輸入您要查詢的客戶的姓名:n);scanf(%s,v); cunq211(w,v,&t);cunq212(w,v,&t); break; /*注意*/case 2: printf( n); printf( 2

30、:取款查詢 n); printf( n);printf( 請輸入您要查詢的客戶的姓名:n);scanf(%s,v);cunq221(w,v,&t);cunq222(w,v,&t);break;case 3:break; default: fprintf(stderr,輸入有誤!); 整理為word格式void cunq211(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( 客戶 【 %s 】存款明細n,re); printf(); printf( 客戶卡號 ); printf(%ldn,*h); printf(); printf( 存款流水號 ); printf(%ldn,p*h.bc); printf(); printf( 類別 ); printf(存款n); printf(); printf( 存款數(shù)目 ); printf(%.2fn,p*h.j1); printf(); printf( 賬戶當前總金額

溫馨提示

  • 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

提交評論