C語言課程設(shè)計(jì)報(bào)告銀行存取款管理設(shè)計(jì)_第1頁
C語言課程設(shè)計(jì)報(bào)告銀行存取款管理設(shè)計(jì)_第2頁
C語言課程設(shè)計(jì)報(bào)告銀行存取款管理設(shè)計(jì)_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余8頁可下載查看

下載本文檔

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

文檔簡介

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

2、得起測試,寧可功能少一些,也要能運(yùn)行起來,不能運(yùn)行的程序是沒有價(jià)值的。四:設(shè)計(jì)目的 、通過這次課程設(shè)計(jì),使我們更加深入地理解和掌握C語言基本概念,切身體會(huì)用結(jié)構(gòu)化程序設(shè)計(jì)的工程思想,感受C語言的魅力。 、通過這次課程設(shè)計(jì),培養(yǎng)我們獨(dú)立思考、勇丁探索、積極創(chuàng)新、嚴(yán)謹(jǐn)求實(shí)、有過必改的工作態(tài)度以及較熟的上級(jí)操作能力,同時(shí)加強(qiáng)我們團(tuán)結(jié)友愛,協(xié)作攻關(guān)的團(tuán)隊(duì)合作意識(shí)。voidkehu3(structcou*p,char*re,longh);voidkehu4(structcou*p,charbnS款);voidkehup(structcou*p,char*re,lpnS埋h);voidcunq1();II

3、voidcunq11(structcou*p,char*re,longh);voidcunq12(structcou*p,char*re,longh);voidcunq2();客戶資料修改函數(shù);客戶資料活楚函數(shù);客戶資料打印函數(shù);存取款辦理選擇主菜單;客戶存款資料的鍵入;客戶取款資料的鍵入;存取款選擇查詢主菜單;voidcunq211(structcoup,char*re,long*h);把顧客存款資料從文件讀到緩沖區(qū);voidcunq212(structcou*p,char*re,long*h);打印存款資料;voidcunq221(structcoup,char*re,long*h);把顧

4、客取款資料從文件讀到緩沖區(qū);voidcunq222(structcou*p,char*re,long*h);打印取款資料;voidhelp();使用說明模塊。變量 全局的結(jié)構(gòu)體型數(shù)組w(用來存放200多個(gè)結(jié)構(gòu)體變量):externstructcou(longb;charx20;longm;chara50;longd;floatj;longbc;charjin20;charjin220;chart20;floatj1;floatj2;floatj3; floatj4;w200;局部變量intm;用來在主和其他函數(shù)中進(jìn)行SWITCH選擇判斷;全局變量longt;用丁記錄客戶卡號(hào),而卡號(hào)是在整個(gè)程序

5、中都要用到的,因?yàn)槭侨肿兞浚砸粋€(gè)客戶的卡號(hào)不能變更。charr20,b20,c20;都為記錄客戶姓名的一維數(shù)組,用在生成客戶以及存取款文件和讀取客戶文件以及存取款文件;七:函數(shù)調(diào)用流程圖(客戶資料添加與查詢部分)其他函數(shù)vowh閽n()scanf("%d",&m);m=1>kehu();scanf("%d",&m);1switch(m):m=?scanf("%s",b);kehu1(w,b,&t);八:kehupwb&加與查詢break; 、由丁是銀行存取款官莊上敘具體函婁*勇能爪(&quo

6、t;?",)函數(shù)說明scanf("%ld",&h);kehu2(w,r,h);音8分的設(shè)計(jì)思想骨理設(shè)計(jì),考慮到要有較周今仰eokyMi”之初就對(duì)最終成品的功能進(jìn)行了較為詳細(xì)的布局,最終確定了4個(gè)主功能(見源代碼)。 、采用了結(jié)構(gòu)化程序設(shè)計(jì)思想,在主函數(shù)外定義了voidkehu();(客戶文件操作)、voidcunq1();(存取款辦理)、voidcunq2();(存取款查詢)、voidhelp();(使用幫助)以及他們的嵌套函數(shù),使產(chǎn)品功能更加健全。 、對(duì)丁如何使每次次級(jí)操作后能方便的返回主界面,我們?cè)谥骱瘮?shù)里用到了while(1)這樣函數(shù),再在里面用到幾

7、個(gè)break;就實(shí)現(xiàn)了返回主界面的功能。 、對(duì)丁客戶及存取款記錄的保存我們?cè)谶@里用到了用FILE類型定義文件指針,從而來以文件形式存放數(shù)據(jù),而乂用到fopen函數(shù)打開文件,用fclose關(guān)閉文件,釋放文件緩沖區(qū);乂用到fwrite函數(shù)使數(shù)據(jù)寫入到磁盤保存,用fread函數(shù)把數(shù)據(jù)拉到緩沖區(qū)。 、對(duì)丁如何使客戶文件和客戶存取款記錄很靈活的結(jié)合到一起,我們?cè)谥骱瘮?shù)前面構(gòu)造了一個(gè)具有多個(gè)成員的結(jié)構(gòu)體,從客戶文件記錄的客戶地址、客戶電話、當(dāng)前金額等到客戶存取款記錄的辦理時(shí)間、辦理人、存取金額等全部囊括在同一個(gè)名為cou結(jié)構(gòu)體類型中。、程序在主函數(shù)之前定義了全局的結(jié)構(gòu)體型數(shù)組w,為相關(guān)文件提供了較為靈活的

8、存取空,從而在資料讀取時(shí)直接用姓名讀取非常方便。問,而程序中在fwrite函數(shù)之前輸入了客戶姓名和卡號(hào),這實(shí)際上就創(chuàng)建了一個(gè)名為所輸入客戶姓名的文件,實(shí)驗(yàn)總結(jié)報(bào)告九:測試方案方案、可以直接打開所給的名為“銀行存取款及客戶資料管理系統(tǒng).exe”應(yīng)用程序進(jìn)行操作,而操作是純鍵盤式的,建議先添加客戶文件,或者先查看“關(guān)丁”中的幫助。方案、如果是對(duì)源代碼進(jìn)行操作,可以雙擊名為“銀行存取款及客戶資料管理系統(tǒng).c”的.c文件,進(jìn)入C+運(yùn)行環(huán)境,按“重新組建”,然后點(diǎn)擊運(yùn)行按鈕“!”,運(yùn)行成功,便可進(jìn)入主界面,相關(guān)操作見上。而這同時(shí)C+乂在后臺(tái)生成了.exe文件,這就是我們所需要的應(yīng)用程序。十:調(diào)試中問題及

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

10、樣的函數(shù)語句,雖然h已經(jīng)被我們定義為long型變量,然為什么上限為245至今尚未得到很好的解決。但這并不影響我們程序的運(yùn)行,只要稍微注意一下卡號(hào),程序還是很理想的。卜一:心得與體會(huì)這次的C語言課程設(shè)計(jì)我們付出不少,一次一次的編寫,一次次的修改,花了不少時(shí)間,甚至有時(shí)也用上了休息時(shí)間。但我們的收獲是那些付出比量不了的。在一次次的調(diào)試與失敗中,我們更加堅(jiān)強(qiáng),更加專注。在團(tuán)隊(duì)合作過程中也發(fā)生過小小的矛盾,但這些終被我們克服,從而轉(zhuǎn)化為難得的友誼,而乂使我們對(duì)團(tuán)隊(duì)這個(gè)概念的認(rèn)識(shí)乂上升到一個(gè)新的高度。其實(shí)一切的一切,都沒有知識(shí)來的重要,在這次課程設(shè)計(jì)過程中我們查閱了大量的資料,而有些是書本上都較少提到的

11、,而這些給我們的便是知識(shí),無形的寶貴財(cái)富。最后,老師提供給我們這次難得的課程實(shí)習(xí)機(jī)會(huì),我們是受益匪淺的,當(dāng)看到一個(gè)完整的應(yīng)用程序出現(xiàn)在我們面前,作為一個(gè)初涉軟件的學(xué)徒來說,乂何嘗不是感慨萬千呢?我們深懷感恩,一路前行,軟件工程,我們來了!十二:附源程序活單#include<>#include<>voidkehu();/*(把顧客資料)從文件讀到緩沖區(qū)*/*客戶資料輸入*/*新客戶資料輸入*/*資料清除*/*打印顧客資料*/*客戶存款資料的鍵入*/*客戶取款資料的鍵入*/*(把顧客存款資料)從文件讀到緩沖區(qū)*/*(把顧客取款資料)從文件讀到緩沖區(qū)*/voidkehu1(s

12、tructcoup,char*re,long*h);voidkehu2(structcou*p,char*re,longh);voidkehu3(structcou*p,char*re,longh);voidkehu4(structcou*p,char*re,longh);voidkehup(structcou*p,char*re,long*h);voidcunq1();voidcunq11(structcou*p,char*re,longh);voidcunq12(structcou*p,char*re,longh);voidcunq2();voidcunq211(structcoup,ch

13、ar*re,long*h);voidcunq212(structcou*p,char*re,long*h);voidcunq221(structcoup,char*re,long*h);voidcunq222(structcou*p,char*re,long*h);voidhelp();longt;externstructcoulongb;charx20;longm;chara50;longd;floatj;longbc;charjin20;charjin220;chart20;floatj1;floatj2;floatj3;floatj4;);structcouw200;voidmain()

14、intm;while(1)system("cls");printf("n銅彳”取款管理系統(tǒng)n");printf("【功能選擇】n");printf("一:客戶添加與操作二:存取款辦理三:存取款查詢四:關(guān)于n");printf("nn");printf("請(qǐng)按相應(yīng)的數(shù)字選擇您的需要n");scanf("%d",&m);switch(m)case1:kehu();break;case2:cunq1();break;case3:cunq2();break

15、;case4:help();break;)getchar();printf("nnnnn按回車鍵返回主界面.”);getchar();)voidkehu()intm;charr20,b20,c20;longh,k;system("cls");printf("nprintf("n客戶義件:1:客戶資料查詢");");printf("n2:客戶資料添加");printf("n3:客戶資料修改");printf("n4:客戶資料刪除");printf("n5:后

16、退nn");printf("n");printf("按相應(yīng)的數(shù)字以選擇您的需要-n");scanf("%d",&m);switch(m)case1:printf("n");printf("1:客戶資料查詢In");n");printf("printf(-丁丁請(qǐng)輸入您要查詢的客戶的姓名:n");scanf("%s",b);/*從文件讀到緩沖區(qū)*/*打印*/1n");2:客戶資料添加In");1n");

17、kehu1(w,b,&t);kehup(w,b,&t);break;case2:printf("printf("printf("printf(-請(qǐng)輸入新客戶的姓名和卡號(hào)(1-245):n");printf(-請(qǐng)輸入姓名:n");scanf("%s",r);printf("請(qǐng)輸入卡號(hào):n");scanf("%ld",&h);kehu2(w,r,h);/*把數(shù)據(jù)從緩沖區(qū)輸入到文件*/break;case3:printf("|1n");printf

18、(-I3:客戶資料修改In");printf("11n");printf(-n請(qǐng)輸入您要修改的客戶的姓名和卡號(hào):n");printf(-請(qǐng)輸入姓名:n");scanf("%s",c);printf("請(qǐng)輸入卡號(hào):n");scanf("%ld",&k);kehu3(w,c,k);/*把新數(shù)據(jù)從緩沖區(qū)輸入到文件*/break;case4:printf("|1n");printf(-I4:客戶資料刪除In");printf("11n"

19、);printf(-n.請(qǐng)輸入您要?jiǎng)h除的客戶姓名和卡號(hào):n");printf(-請(qǐng)輸入姓名:n");scanf("%s",c);printf("請(qǐng)輸入卡號(hào):n");scanf("%ld",&k);kehu4(w,c,k);/*把0數(shù)據(jù)從緩沖區(qū)輸入到文件*/break;case5:break;default:fprintf(stderr,"輸入有誤!");)voidkehu1(structcoup,char*re,long*h)(FILE*fp;system("cls"

20、);fp=fopen(re,"rb");fread(h,4,1,fp);fread(&p*h,sizeof(structcou),1,fp);fclose(fp);)voidkehup(structcou*p,char*re,long*h)(printf("printf("printf("客戶卡號(hào)");printf("%ldn",*h);printf("printf("客戶密碼");printf("%ldn”,p*h.m);printf("printf(&q

21、uot;客戶電話");printf("%ldn",p*h.d);printf("printf("客戶地址");printf("%sn”,p*h.a);printf("printf("賬戶當(dāng)前金額");printf("%.2fn",p*h.j);客戶【s】詳細(xì)資料n",re);"););););););printf(")voidkehu2(structcou*p,char*re,longh)(FILE*fp;system("cls&quo

22、t;);fp=fopen(re,"wb");fwrite(&h,4,1,fp);printf("請(qǐng)鍵入顧客【s】(卡號(hào)【%ld】)的客戶資料:n",re,h)ph.b=h;printf("nli客戶密碼:n");scanf("%ld",&ph.m);printf("nli客戶地址:n");scanf("%s",ph.a);printf("nli客戶電話:(只接受10位以下的號(hào)碼)n");scanf("%ld",&

23、ph.d);printf("nli客戶當(dāng)前金額:(建議不要使賬戶滿100萬)n");scanf("%f",&ph.j);fwrite(&ph,sizeof(structcou),1,fp);fclose(fp);)voidkehu3(structcou*p,char*re,longh)(FILE*fp;system("cls");fp=fopen(re,"wb");fwrite(&h,4,1,fp);printf("n請(qǐng)鍵入顧客【s】(卡號(hào)【%ld】)的新的客戶資料ph.b=h;p

24、rintf("nli修改后客戶密碼:n");scanf("%ld",&ph.m);printf("nli修改后客戶地址:n");scanf("%s",ph.a);printf("nli修改后客戶電話:n");scanf("%ld",&ph.d);fwrite(&ph,sizeof(structcou),1,fp);fclose(fp);)voidkehu4(structcou*p,char*re,longh)(FILE*fp;system("

25、cls");fp=fopen(re,"wb");fwrite(&h,4,1,fp);printf("nnnniii丁請(qǐng)輸入0鍵以清除"i1丁:n");scanf("%s",ph.a);ph.m=0;ph.d=0;ph.j=0;ph.bc=0;fwrite(&ph,sizeof(structcou),1,fp);fclose(fp);)/*/voidcunq1()(intm;charg20;longm1;system("cls");printf("printf("

26、;n1.存款辦理2.取款辦理3:printf("nprintf("nn按相應(yīng)的數(shù)字以選擇您的需要n",re,h);n");n");");n");scanf("%d",&m);switch(m)(case1:printf("i1n");printf("|1.存款辦理In");printf("11n");printf(-請(qǐng)輸入辦理存款業(yè)務(wù)的客戶的姓名和卡號(hào)(1-245)丁printf(-輸入客戶姓名:n");scanf("

27、%s",g);printf(-輸入客戶卡號(hào):n");scanf("%ld",&m1);cunq11(w,g,m1);break;case2:printf("printf("printf("/*存款數(shù)據(jù)輸入*/1n");2:取款辦理In");1n");printf(-請(qǐng)輸入辦理取款業(yè)務(wù)的客戶的姓名和卡號(hào)(1-245)printf(-輸入客戶姓名:n");scanf("%s",g);printf("輸入客戶卡號(hào):n");scanf("

28、;%ld",&m1);cunq12(w,g,m1);break;case3:break;default:fprintf(stderr,"輸入有誤!");voidcunq11(structcou*p,char*re,longh)(FILE*fp;system("cls");fp=fopen(re,"wb");fwrite(&h,4,1,fp);printf("printf("存款辦理nn");printf("printf("請(qǐng)鍵入顧客【s】(卡號(hào)%ld)的存款明

29、細(xì):printf(-請(qǐng)輸入存款流水號(hào):n");scanf("%ld",&ph.bc);printf("請(qǐng)輸入存款數(shù)目(建議不要一次存超過百萬):n");scanf("%f",&ph.j1);ph.j2=ph.j+ph.j1;ph.j=ph.j2;printf("經(jīng)辦人:n");nn");nn");nn");n");n",re,h);scanf("%s",ph.jin);printf("辦理時(shí)間(形如2012年0

30、6月2日):n");scanf("%s",ph.t);fwrite(&ph,sizeof(structcou),1,fp);fclose(fp);voidcunq12(structcou*p,char*re,longh)FILE*fp;system("cls");fp=fopen(re,"wb");fwrite(&h,4,1,fp);printf("printf("取款辦理nn");printf("printf("請(qǐng)鍵入顧客【%s】(卡號(hào)%ld)的取款明細(xì):p

31、rintf(-請(qǐng)輸入取款流水號(hào):n");scanf("%ld",&ph.bc);printf(-請(qǐng)輸入取款數(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("辦理時(shí)間(形如2012年06月2日):n");canf("%s",ph.t);fwrite(&ph,size

32、of(structcou),1,fp);fclose(fp);/*/voidcunq2()intm;charv20;system("cls");printf("printf("1.存款查詢2.取款查詢3printf("printf("按相應(yīng)的數(shù)字以選擇您的需要nn");nn");nn",re,h);nn");:后退nn");n");n");scanf("%d",&m);switch(m)case1:printf("|1n&quo

33、t;);printf("|1:存款查詢In");printf("11n");printf(-lii請(qǐng)輸入您要查詢的客戶的姓名:n");scanf("%s",v);cunq211(w,v,&t);cunq212(w,v,&t);break;/*注意*/case2:printf("i1n");printf("|2:取款查詢|n");printf("11n");printf(-lii請(qǐng)輸入您要查詢的客戶的姓名:n");scanf("%s

34、",v);cunq221(w,v,&t);cunq222(w,v,&t);break;case3:break;default:fprintf(stderr,"輸入有誤!");voidcunq211(structcoup,char*re,long*h)FILE*fp;system("cls");fp=fopen(re,"rb");fread(h,4,1,fp);fread(&p*h,sizeof(structcou),1,fp);fclose(fp);voidcunq212(structcou*p,ch

35、ar*re,long*h)printf("printf("printf("客戶卡號(hào)printf("%ldn",*h);printf("printf(-存款流水號(hào)printf("%ldn",p*h.bc);printf("printf("類別printf("存款n");printf("printf("存款數(shù)目printf("%.2fn",p*h.j1);printf("printf("賬戶當(dāng)前總金額printf(&qu

36、ot;%.2fn",p*h.j2);printf("客戶【s】存款明細(xì)n",re);"););");");");");");printf("經(jīng)辦人printf("printf("客戶地址printf("%sn",p*h.a);printf("printf("辦理時(shí)間printf("%sn",p*h.t);););););printf(")voidcunq221(structcoup,char*re,long*h)(FILE*fp;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論