C語(yǔ)言課程設(shè)計(jì)報(bào)告銀行賬戶信息管理系統(tǒng)更正版_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告銀行賬戶信息管理系統(tǒng)更正版_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告銀行賬戶信息管理系統(tǒng)更正版_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告銀行賬戶信息管理系統(tǒng)更正版_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告銀行賬戶信息管理系統(tǒng)更正版_第5頁(yè)
已閱讀5頁(yè),還剩38頁(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、HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYc語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告課設(shè)題目:銀行賬戶信息管理專 業(yè): 電子信息工程(汽車電子)班級(jí):T1223T4姓名:朱鵬成績(jī):完成日期:20成年18周一20年年19周指導(dǎo)教師:張吳波田漫柳目錄1.課程設(shè)計(jì)目的1)2)3)通過(guò)課程設(shè)計(jì),加深對(duì)結(jié)構(gòu)化程序設(shè)計(jì)思想的理解,能對(duì)系統(tǒng)功能進(jìn)行分 析,并設(shè)計(jì)合理的模塊化結(jié)構(gòu)。通過(guò)課程設(shè)計(jì),進(jìn)一步掌握c語(yǔ)言中重要的數(shù)據(jù)結(jié)構(gòu)。掌握并 熟練運(yùn)用 指針' 鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。通過(guò)課程設(shè)計(jì),提高程序開(kāi)發(fā)能力,能運(yùn)用合理的控制流編寫清晰高效的 程序。4)通過(guò)課程設(shè)計(jì),培養(yǎng)C

2、語(yǔ)言知識(shí)運(yùn)用和自學(xué)能力,正的把課堂上獲得的知識(shí)運(yùn)用起來(lái),培養(yǎng)自己對(duì)程序編寫的興趣,并能獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)一個(gè) 小型系統(tǒng)。5)通過(guò)課程設(shè)計(jì),加強(qiáng)了自己的程序分析能力。2.需求分析要求1)遵循軟件開(kāi)發(fā)過(guò)程的基本規(guī)范;能靈活應(yīng)用,初步具備運(yùn)用C程序解決實(shí)2)際問(wèn)題的能力。運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)方法,按照課程設(shè)計(jì)題目要求,完成包括 需求分析' 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)' 編寫代碼、調(diào)試和測(cè)試c程序等3)4)5)過(guò)程。學(xué)會(huì)利用數(shù)組' 結(jié)構(gòu)體' 鏈表進(jìn)行相關(guān)信息表示。功能模塊劃分清晰,系統(tǒng)結(jié)構(gòu)圖符合功能操作要求,且有詳盡 各主要功能模塊有詳盡的流程圖及描述,用函數(shù)的形式實(shí)現(xiàn)

3、, 口'功能' 出口等關(guān)系正確。的功能描述 且調(diào)用入6)所設(shè)計(jì)的C程序較好的可讀性和可靠性;程序書寫風(fēng)格規(guī)范,注釋清7)8)晰。界面友好(良好的人機(jī)互交),凡需要輸入信息時(shí),都有較詳盡的提示信 息,并對(duì)輸入信息有較完善的值域分析。程序經(jīng)上機(jī)調(diào)試通過(guò),不應(yīng)出現(xiàn)語(yǔ)法型' 功能型錯(cuò)誤,并獲得滿意的結(jié) 果。9)學(xué)會(huì)通過(guò)各功能性測(cè)試用例測(cè)試程序的能力,盡可能避免原則性錯(cuò)誤的出現(xiàn)。10)掌握編寫、調(diào)試和測(cè)試c語(yǔ)言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè) 計(jì)的基本方法。11)C語(yǔ)言課程設(shè)計(jì)報(bào)告的內(nèi)容反應(yīng)實(shí)際設(shè)計(jì)過(guò)程,且符合格式要求,無(wú)抄 襲現(xiàn)象。任務(wù)描述已知一銀行有5個(gè)客戶(客戶信息為:

4、編號(hào)、客戶姓名、客戶 地址、客戶電話、賬戶總金額(最開(kāi)始為0)o設(shè)計(jì)一程序,完成以下功能。存、取款時(shí)間必須通過(guò)調(diào)用系統(tǒng)時(shí)間獲得。1)存款:輸入客戶編號(hào)、存款金額、存款日期,完成存款功能,需要判斷客戶編號(hào)是否存在,存款金額是否大于0,存款日期格式是否合法(格式為:丫 丫 丫 丫 -MM-D 如2009-01-02)o2)取款:輸入客戶編號(hào)、存款金額、取款日期,完成取款功能,需要判斷客戶編號(hào)是否存在,取款金額是否大于0,取款金額是否小于客戶的賬戶總金額取款日期格式是否合法(格式為:丫Y Y Y-MM-DD 如 2009-01 -02 )。3)查詢指定客戶的余額4)查詢指定客戶的存款記錄5)查詢指定

5、客戶的取款記錄6)所有數(shù)據(jù)符合實(shí)際應(yīng)用要求運(yùn)行環(huán)境1) Windows 7 系統(tǒng)2) VC+編譯環(huán)境開(kāi)發(fā)工具C語(yǔ)言3) 總體設(shè)計(jì)系統(tǒng)流設(shè)計(jì)程序整體功能結(jié)構(gòu)如圖一所示:開(kāi)始初始化并顯示歡迎信息顯示主菜單,輸入選擇1JL J存取余存取款款額款款查記記詢錄錄TTT顯示輸入菜單,輸入并顯示用存取款系統(tǒng)模塊設(shè)計(jì)輸入存取金額函數(shù)void startvalueO ;實(shí)現(xiàn)初始化歡迎信息,并實(shí)現(xiàn)漳纏雅鼠爆塊_2)菜單模塊函數(shù)int menu();和int menu2();分別實(shí)現(xiàn)一級(jí)二級(jí) 菜單顯示,一級(jí)菜單是主菜單,二級(jí)菜單是輸入菜單,并返回相應(yīng)的選項(xiàng)值。3)存取款模塊函數(shù)voidDeposit.Withdra

6、wO;實(shí)現(xiàn)存取款的功能,其中會(huì)使用相關(guān)其他函數(shù)共同實(shí)現(xiàn)。4)信息查詢模塊函數(shù)int InfoFindO;實(shí)現(xiàn)信息的查詢功能,包括賬戶余額 查 詢,存取款歷史記錄查詢。5)日期審查模塊函數(shù)intisDataRight();實(shí)現(xiàn)對(duì)日期的審查,其中同樣會(huì)調(diào)用其他函數(shù)輔助實(shí)現(xiàn)。4 ,詳細(xì)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)要求,用戶信息包括:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度備注客戶編號(hào)P1->id整型8客戶姓名P1- >n ame字符串10客戶地址P1->address字符串1024客戶電話P1->te In um整型8賬戶余額P1->account雙精度16賬戶密碼P1-&

7、gt;password整型8根據(jù)系統(tǒng)要求,日期信息包括數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度備注年P(guān)1->year整型8月P1->mo nth整型8日P1->day整型8時(shí)P1->hour整型8系統(tǒng)自動(dòng)添加分P1->min整型8系統(tǒng)自動(dòng)添加秒P1->sec整型8系統(tǒng)自動(dòng)添加根據(jù)系統(tǒng)要求,存取款記錄包括數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度備注客戶編號(hào)P1->id整型8日期信息P1-> In OutData結(jié)構(gòu)體48存取款類型P1->Acti on Class整型8存取款金額P1-> Actio nNum雙精度16為了能實(shí)現(xiàn)系統(tǒng)的優(yōu)

8、越性和C語(yǔ)言的精華采用鏈表的建立取款記錄表,示意圖如下。存取款記一存取款記存取款記士_ 存取款記模塊接口設(shè)計(jì)1)所有函數(shù)聲明顯示歡迎信息顯示主菜單顯示次菜單拉上相應(yīng)功能.顯示存取款人的信息否I新增記錄.修改賬戶w.行結(jié)果歡迎界面主菜單提取字符串中的數(shù)長(zhǎng)度為10第5位和第8根據(jù)年,月,日判斷正確次菜單-信息輸入界面信息查詢界面記錄查詢界面退出界面6.程序調(diào)試與測(cè)試測(cè)試數(shù)據(jù):客戶編號(hào)客戶姓名客戶地址客戶電話賬戶余額賬戶密碼1唐僧東土大唐100000088888882孫悟空花果山10000088888883豬八戒高老莊1000088888884沙和尚流沙河100088888885佛祖西天888888

9、8主菜單選擇測(cè)試若用戶輸入錯(cuò)誤選項(xiàng),則如圖顯示次菜單選擇測(cè)試若用戶輸入錯(cuò)誤選項(xiàng),則如圖顯示客戶信息的輸入測(cè)試1)若輸入了不存在的客戶編號(hào):2)若輸入了不存在的客戶姓名:3)若輸入了不存在的客戶地址: 4)若輸入了不存在的客戶電話:客戶密碼測(cè)試1)密碼輸入錯(cuò)誤:2)密碼錯(cuò)誤三次:存取款金額測(cè)試1)金額為負(fù)值:2)取款金額大于賬戶余額:存取款日期測(cè)試1)若輸入錯(cuò)誤格式的日期:2)若輸入正確格式的日期,但是日期不符合實(shí)際:7 .問(wèn)題與不足1、需求分析中存在的為題題目中說(shuō)只有5個(gè)用戶,而且沒(méi)有對(duì)賬戶信息進(jìn)行修改等操作,如果對(duì)賬戶信息的增刪改三個(gè)功能,程序會(huì)更加完美。2、程序設(shè)計(jì)中的缺陷存取款的時(shí)候,給

10、系統(tǒng)添加記錄的時(shí)候,會(huì)同時(shí)進(jìn)行排序,排序方法用的是 排序,排序方法比較簡(jiǎn)陋,數(shù)據(jù)量較大的時(shí)候會(huì)比較耗時(shí)間。8 .建議課程設(shè)計(jì)的題目涉及范圍應(yīng)該更廣。對(duì)于課設(shè)的時(shí)間按排,可以提前把題目 給學(xué)生,這樣可以提前做課設(shè)以及復(fù)習(xí)考試。程序設(shè)計(jì)的功能應(yīng)相對(duì)更加復(fù)雜 一點(diǎn),這樣有利培養(yǎng)同學(xué)們的分析問(wèn)題,解決問(wèn)題的能力,同時(shí)也能提高同學(xué) 們對(duì)代碼的掌握能力。再者,就是題目,盡量少給一些提示,這樣同學(xué)們可以更大程度的自己動(dòng)腦子考慮怎解決問(wèn)題。9 .編程體會(huì)經(jīng)歷了編c語(yǔ)言課程設(shè)計(jì)后,我弄懂了在前幾周課堂上沒(méi)搞明白的東西,例 如,鏈表的建立,排序,遍歷等等。也提高了自己對(duì)指針的熟練度。以前就聽(tīng)說(shuō) 對(duì)指針的掌握程度決

11、定了一個(gè)人的編程水平。所以,雖然寫程序的過(guò)程中,遇到 各種問(wèn)題,調(diào)試的時(shí)候也是遇到各種令人頭大的問(wèn)題,但能借助課程設(shè)計(jì)提高自 己對(duì)指針的熟練度,提高自己對(duì)c語(yǔ)言編程的熟練度,我還是覺(jué)得很開(kāi)心的,也 希望學(xué)??梢远嚅_(kāi)設(shè)一些這樣的課程,既是讓我們對(duì)自己所學(xué)知識(shí)的一個(gè)綜合理 解與使用,也可以提高我們的動(dòng)手實(shí)踐能力' 對(duì)知 識(shí)的運(yùn)用能力。10 .程序源代碼/* 簡(jiǎn)易銀行信息管理系統(tǒng)* 作者:朱鵬* 指導(dǎo)老師:張吳波田漫柳*7/*頭文件*#include<> #include<>#include<> #include<>#include<&g

12、t;#include<> #include<> #define LEN sizeof(struct records)/*記錄修改標(biāo)記* jntRecorsChanged = 0;FILE *fp;日期結(jié)構(gòu)體/*/typedef*struct data(int year;int month;int day;int hour;int min;int sec;JUSEDATA;USEDATA RightData;客戶信息結(jié)構(gòu)體存取款記錄鏈表*/typedef struct customint id;char name10;char address1024;int telnum

13、;double account;int password;CUSTOM;CUSTOM customer5;/* *if* Itypedef struct recordsint id;USEDATA InOutData;int ActionClass;double ActionNum;struct records * next;RECORDS;system("clsn);goto start;)printf(nttt親恭喜哦!初始化成功了哦n“);printf(Httt按任意鍵進(jìn)入系統(tǒng)了哦getch();fflush(stdin);return;/*頭部信息7*/*功能:顯示程序頭部信

14、息輸入:無(wú)返回:無(wú)7void SysTitle()system(竿tie簡(jiǎn)易銀行信息管理系統(tǒng)By朱鵬”);printf(HnnH);printf("ttn”);pri ntf("tt海歡迎使用八n");pri ntf(ntt海簡(jiǎn)易銀行信息管理系統(tǒng)X八nn);printf("tt -nn);/*級(jí)菜單/*功能:顯示主菜單,并完成菜單的選擇輸入:無(wú)返回:選擇的菜單序號(hào)整型*/ int menu()int x;system('cls');SysTitle();printf(Mtt-S.n“);printf(ntt 主菜單 nn);printf(

15、Htt nH);printf(Mtt nH);、存款printf('fttprintf(ntt printf(Mtt printf('ftt printf("tt printf(Httprintf(Mtt do2、取款n”3、查詢余額 nn);4、查詢存款記錄 n");5、查詢?nèi)】钣涗?nn);6、退出 nn);n");親輸入數(shù)字16就能使用對(duì)應(yīng)的功能了哦:”)Jfflush(stdin); scanf("%dn,&x);if(x<1 |x>6)printf("tt 親您的輸入有誤喲請(qǐng)重新輸入:”);whil

16、e(x<1 |x>6);fflush(stdin);return x;菜單*/功能:顯示二級(jí)菜單,并完成菜單的選擇輸入:操作類型整型 返回:選擇的菜單序號(hào)整型*/ int menu2( int InfoClass )int x;char lnfoName20=0;switch (InfoClass)case 1:strcpy( lnfoName,H 存款 " );break;case -1:strcpy( InfoName;'取款 " );break;case 3:strcpy( lnfoName,H 余額");break;case 4:str

17、cpy( InfoName;1 存款記錄 ” );break;case 5:strcpy( InfoName;'取款記錄 " );break;)SysTitle();pri ntf(nttpri ntf(Mtt%s-system(,cls,'); n”);用戶信息查詢t n'lnfoName);nH);printf(Htt nH);printf(Mtt1 輸入客戶編號(hào)查詢(15) nH);printf("tt2、輸入客戶姓名查詢 nH);printf(Htt3、輸入客戶地址查詢 nH);printf(ntt4、輸入客戶電話查詢 nn);printf(

18、"tt0、返回 nH);printf("ttnH);printf(Htt 親輸入數(shù)字04就能使用對(duì)應(yīng)的功能了哦:“)Jdofflush(stdin);scanf(,%d,'J&x);if(x<0|x>4)printf("tt 親您的輸入有誤喲請(qǐng)重新輸入:");while(x<0|x>4);fflush(stdin);return x;/*/輸入函數(shù)*/功能:顯示需要輸入的內(nèi)容,并在給定的地址中賦值輸入對(duì)應(yīng)功能輸入內(nèi)容double * moneychar *boxname金額存放雙精度數(shù)據(jù)金額輸入信息的名字返回:無(wú)v

19、oid lnPut(char*cbox,int *ibox,double * money,intlnPutClass,char*boxname)fflush(stdin);printf(*'tt 請(qǐng)輸入 s:”,boxname);if(lnPutClass=1)d)return 1 ;d;if( IDNum = -1 && islDexist(curlD) = 0 ) printf("tt 親你輸入的用戶不存在哦nn);printfCW按任意鍵繼續(xù)");getch();while(IDNum = -1 && islDexist(cur

20、lD) = 0 );assword)printf("tt密碼錯(cuò)誤了哦親7ri)if(count>=2)(printf("tt密碼錯(cuò)誤了三次了哦親n”);printf(ntt按任意鍵返回系統(tǒng)吧getch();return -1;)count+;while(curPassword != customer IDNum .password);FindOutPut( curlD, curName, curAddress , curTel, ActClass);return curlD;)/* 功能:尋找插入點(diǎn)* 輸入:無(wú)* 返回:插入點(diǎn)地址7RECORDS * lnPoint(

21、)RECORDS * Point=NULL;if( head=NULL )ccount < 0 ) (free(p1);return 0; )customer IDin .account += ActClass * ActNum;d = IDin)|( Nameln!=NULL && strcmp(Nameln,)=0 )| (Addressln!=NULL&&strcmp(Addressln,customeri.address)=0 )| (TelNumln=customeri.telnum) return i;break;)

22、if( i>=5)return -1;存取款記錄和余額*功能:存取款記錄和余額查詢并輸出*輸入對(duì)應(yīng)功能* int IDin客戶編號(hào)* char * Nameln客戶姓名* char * Addressin客戶地址* int TelNumln客戶電話* int actclass操作類型0余額-1取款記錄1存款記錄返回:查詢失敗0/成功1 整型int FindOutPut( int IDin,char * Nameln, char * Addressin, int TelNumln,int actclass)/*查詢*/lftt %stt %d-%d-%d %d:%d:%dn'存款取

23、款p1 ->id,customerIDN,p1 ->ActionNum,(actclass=1 )nH,p1->,p1 ->,p1 ->,p1->,p1 ->,p1 ->;else if( actclass = 0 )printf(nt客戶編號(hào) 姓名t家庭住址t聯(lián)系號(hào)碼t賬戶printfCt %dt %stt%4s t %dt %.2lfnn'IDin,customerIDN,customerIDNum.address,customerIDN um.t elnum,customerIDNum.account);

24、return 1;)/退出*7/* 功能:釋放鏈表,保存信息,退出* 輸入:無(wú)* 返回:無(wú)* / void exitO()(char x; system(Mclsn); printf(HnnnH); SysTitle();pri ntf("ttn!,);pri ntf(Htt nH);nH);if(RecorsChanged=1)doprintf("tt存取款記錄已經(jīng)修改過(guò),但還沒(méi)有保存!n“);printf(Htt是否先保存(Y/N)”);scanf(”c”,&x);fflush(stdin);if(!(x=,Y|x=,N,|x=y|x=,n,)printf(Mt

25、t輸入有誤!n");while(!(x=Y|x二=N|x=VI|x=h);if(x=y|x=v) (if(fp=fopen(HH,HwH)=NULL)printf(ntt文件打開(kāi)錯(cuò)誤!n“);else(for(p1 =head;p1 ->next!=NULL;p1 =p1 ->next)fpri ntf(fp, "%dt%lft%dt%dt%dt%dt%dt%dt%d nM,p1 ->id,p1 ->ActionNum,p1 ->ActionClass,p1 ->,p1 ->,p1->,p1 ->,p1->,p1 ->考文獻(xiàn)1廖湖聲.C程序設(shè)計(jì)案例教程.人民郵電出版社,2何欽銘.C語(yǔ)言程序設(shè)計(jì).高等教育出版社,.3譚浩強(qiáng).C程序設(shè)計(jì)(第2、3、4版).清華大學(xué)出版社,.4C語(yǔ)言程序設(shè)計(jì)教程,楊路明著,北京郵電大學(xué)出版社12.用戶使用手冊(cè)程序主要用途1、對(duì)已有客戶的賬戶信息,余額,存取款記錄的查詢。2、對(duì)已有客戶的賬戶進(jìn)行存取款操作。使用說(shuō)明1、首先雙擊程序

溫馨提示

  • 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)論