




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精品資料推薦學生學號0120710340502實驗課成績武漢理工大學實驗課程名稱 開課學院 指導老師姓名 學生姓名 學生專業班級學生實驗報告書軟件工程計算機科學與技術學院顧志華穆忙濤計算機070520092010學年第二學期i精品資料推薦簡易銀行卡管理系統的開發1題目簡易銀行卡管理系統2功能描述分析、設計并實現一個銀行卡管理系統,系統中有兩類用戶,普通用戶和管理員用戶,普通用戶可以對自己的信息管理,而管理員用戶則對所有的用戶都可以進行管理。對于普通用戶,需要實現以下功能:( 1) 開戶( 2) 存款( 3) 取款( 4) 掛失( 5) 消戶( 6) 轉帳( 7) 查詢操作歷史對于管理員賬戶,需
2、要實現的功能是:( 1) 創建用戶( 2) 刪除用戶( 3) 查看用戶信息( 4) 更改用戶信息要實現對用戶賬戶的管理,就要用數據庫保存用戶的信息,登錄時通過對用戶賬戶和用戶密碼的驗證,使用戶獲得相應的權限。登陸后,用戶可以根據提示選擇相應的操作,以實現對賬戶的管理操作。對賬戶的管理實際上是對用戶信息數據的操作,數據的信息保存在數據庫中,所以用戶的操作實際上是對數據庫的操作。可以將用戶的操作映射成以下的數據庫操作普通用戶操作:開戶:向數據庫中添加一條新紀錄存款、取款、掛失:修改數據庫中的某些字段值銷戶:刪除一條記錄查詢操作歷史:對數據庫的查詢管理員操作:創建用戶:添加一條記錄刪除用戶:刪除一條
3、記錄查詢用戶信息:查詢數據庫更改用戶信息:修改記錄字段值3數據定義系統有兩種用戶,并且要保存用戶的賬戶信息以及操作記錄,所以用四個表來存儲所有的信息,分別為guest,guest_log,admin,admin_logguest用來存儲普通客戶的賬戶信息guest_log:用來保存用戶的操作記錄,以便于查詢操作歷史admin:是管理員表,記錄管理員的賬戶信息admin_log:用來記錄管理員操作的歷史,以防管理員的錯誤操作普通用戶的操作僅能涉及guest,guest_log兩個表,而管理員可是管理所有的表。各個表的定義如下:guest字段名數據類型作用guest_idint客戶的唯一標識符,逐
4、漸guest_numchar(5)用戶登錄的銀行卡號,務-使用5位passwordvarchar(10)登錄密碼,不大于10包,可義長g_namevarchar(10)客戶相關信息,客戶姓名,g_sexchar(1)客戶性別,x表示男,y表小女reg_datedatatime賬戶注冊時間moneyInt當前用戶金額Debtchar(1)用戶賬戶狀態,0正常,1掛失,2注銷guest_log:字段名數據類型作用log_idint操作記錄id,唯,標識一個操作事件logtimedatetime事件發生的時間g_idInt發生操作事件的用戶id'motionvarchar(20)所執行的操作
5、類型entityint操作涉及的金額remarktext對操作的備注管理員賬戶表和普通客戶表的內容很類似,所以簡化了一些,并且管理員賬戶沒有賬戶金額等字段,所以相對較小。admin:字段名數據類型作用admin_idInt管理員唯一的標志符admin_logNamevarchar(10)管理員登錄用戶名passwordvarchar(10)登錄密碼sexchar(1)性別,x為男,y為女reg_datadatatime注冊日期admin_log:字段名數據類型作用log_idint操作記錄id,唯,標識一個操作事件log_timedatetime事件發生的時間admin_loginNameVa
6、rchar(10)執行操作的管理員賬戶名motionvarchar(20)所執行的操作類型guest_numChar(10)操作涉及到的用戶entityint操作涉及的金額remarktext對操作的備注以上是四個表的數據定義,在此基礎上,通過對數據庫的操作,實現對用戶信息的操作。4總體設計和各模塊接口說明系統總體可以分為三個模塊:I.Main主調用模塊2 .Guest管理模塊3 .Admin管理模塊這單個模塊的簡單關系為:Main模塊是程序的入口,用戶通過Main的操作,引導用戶進入Guest模塊或Admin模塊,直到用戶退出。(1) Main模塊Main模塊是程序的入口,程序的初始化都在此
7、模塊,包括數據庫的連接,數據庫的初始化,全局變量的初始化等。該模塊定義了兩個出口,即Guest和Admin,用戶在該模塊選擇入口,已決定想要進行的操作,直到退出。Main模塊的數據庫連接,將應用程序同DBM族接起來,以使應用程序能夠對數據庫進行操作。Main模塊的數據庫初始化,包括創建表,對表中數據的初始操作。使應用程序在執行時可以獲得必要的信息。全局變量的初始化,包括登錄狀態、當前用戶名等信息,使應用程序可以在操作時可以得到相應的環境變量。Main模塊提供了兩個出口,分別指向Guest和Admin。(2) Guest模塊Guest模塊包含了對普通用戶的所有操作,開戶、存款、取款、掛失、消戶、
8、轉帳和查詢操作歷史。根據選擇,執行不同的操作,每一個操作都是對數據庫的操作。Guest盒形圖(包括對數據庫的操作)(3) Admin模塊Admin模塊的內容同Guest模塊的內容類似,不過Admin模塊的操作涉及到更多的數據表,admin和admin_log。5程序設計的說明程序設計包括兩個部分的設計:數據庫設計和功能設計。(1)數據庫設計本程序采用MySQL數據庫,為實現以上數據庫設計,使用如下語句創建數據庫:/創建guest表charguest="createtableguest(g_idINT,guest_numCHAR(5),passwordVARCHAR(10),g_nam
9、eVARCHAR(10),g_sexCHAR(1),reg_dateDATETIME,moneySMALLINT,debtCHAR(1),PRIMARYKEY(g_id,guest_num)"創建guest_logScharguest_log="createtableguest_log(log_idINT,log_timeDATETIME,g_idINT,motionVARCHAR(20),entrySMALLINT,remarkTEXT,PRIMARYKEY(log_id)"創建admin表charadmin="createtableadmin(adm
10、in_idINT,admin_loginNameVARCHAR(10),passwordVARCHAR(10),sexCHAR(1),reg_dateDATETIME,PRIMARYKEY(admin_id)";/創建admin_log表charadmin_log口="createtableadmin_log(log_idINT,admin_loginNameVARCHAR(10),log_timeDATETIME,motionVARCHAR(20),user_numCHAR(5),entrySMALLINT,remarkTEXT,PRIMARYKEY(log_id)&qu
11、ot;在MySQL查看新建表,用describetablename果如下:表guest:Xysqldescribeguest;!Field11Type!Null11Me!Default1!Extra!-11-縣44-441!NOPRI:0guestchar<5>!NOFBI:NULLpassviorduai-char<19>!VES:NULLSfjianevarchar<19>!YES:NULLff-sexchar<i>:YEH:NULLreg_datedatetine1YES!NULLsiidlllnt<6>:YEStNULLdeb
12、tchar<l>i¥ES!NULL|8rowsinset<0,09sec>表guest_log:describeguest_log(;-i-4h-+-41-4+-iFiela!Ty隧iHull11KepIDefault11Extt,aflanrrnn:NOFBI:0losr_timeclavetime!YES!NULLg-idinc<ll>:¥ES:NULLmo七IonVES!NULLentrysnailint<6>!VEG!NULLrenarktextiYESiNULL一41*k-+brovisinset<0.03se
13、c>表admin:hysql>describeadmin;FieIdliFpe!Null!Key!Default!Extraadmin.id:11NO1Ifui:n!11adnir>_loginNaneiva.rchAi*<10>11YES11;NULL11passi/ord!1VES1!NULL!11sexchai<l>11VEG11:NULL;11rej_datedatetime11VES1k««.一»d:NULL:-fl111一一».一Browsinset<0.02sec>表admin_log:
14、MysqLAdesrci*ilpead.n±n_lo!grT-il-ji=Type11NullAi-i=Ke_yijDefaulth1Extr*-X_T1a1A_FieldT-11-r-11intendii1NO-iPR118T11*11ddinin.loyinName1uarcgm目)ii¥E£1NULL11I11l_tiae11datetinei1YES1NULL1111notion1vai*c1VEEINULL|1111Ufi6p-_nnm11chai*(S5I1VESII1NULL11111entpy11EmAllintC631iVESI1I1NULL1|
15、11411_-is._tet11YESI11NULL111_二Y=TTT?vowsinset<0.03sec)為了給每一個新注冊的用戶分配號碼,并且給每一條新的記錄分配唯一的id值,因此需要一個計數的變量用來存儲,表中記錄的總量,所以在創建表的時候,初始添加一條記錄,用來充當計數器的作用,添加記錄的語句如下。charfirst_record_guest口="insertintoguest(g_id,guest_num)value(0,"00000")"charfirst_record_guest_log口="insertintoguest
16、_log(log_id,g_id)value(0,0)"charfirst_record_admin口="insertintoadmin(admin_id,admin_loginName)value(0,"admin")"charfirst_record_admin_log口="insertintoadmin_log(log_id,admin_loginName)value(0,"admin")"各個表在添加了初始記錄后的內容如下:Guestnysql>se.一ilerct*fromgue葬.”;:
17、L9uefipassword1._L_g-sex:vegjateIRoneydabt11TT-":0:L1NULL-T-11guestI1NULL1NULLiPNULL¥1i_Ju.-NULL-T1.-L1rowinset(0.OQsec>rTT'TGuest_log:T-_JL_lo.time;S-id"+=ll«notion1I_L._."一entryirenark0一T-1NULL110I1HULLT1INULL:NULLJr»,HH,.hysql>select菱fromgueist.lof;*tLrowin
18、set<0.00sec>Admin:12Admin_log:nysql> select * fron adrtin_loi * * -1i log_id ; adnin_lc>sf>nNane ; logr_tine 1La Jiqi mot ion 11 uier_pum 1 entry ; remark1K:0 : aav *Admin1*! NULL1! NULL 1 卜1 NULL:NULL 11 NULL t-L eow in set <0.03 sec>(2)代碼設計總共代碼有10個文件,頭文件有admin.h、common.h、globa
19、l.h、guest.hstdafx.h.c文件有admin.c、common.cglobal.c、guest.cmain.cStdafx.h,文件包含著整個工程所需要的資源文件global.hglobal.c中聲明并定義了全局變量common.h,common.c中定義了常用的函數admin.hadmin.c實現了所有Admin模塊的操作guest.hguest.c實現了所有Guest模塊的操作main.c實現了Main模塊的內容Global.h#ifndef_GLOBAL_H/*pleaseinsure_GLOBAL_Hunique*/#define_GLOBAL_H/*avoidquota
20、tioniterativly*/externintLOGIN;/LOGIN為表示登陸,為表示未登陸externintUSER;/USER表示用戶類型,表示ADMIN,表示GUEST#endif聲明了兩個環境變量,LOGIN和USER。Guest.h/注冊用戶intRegister_guest(MYSQL*lpmysql,char*cardnum);/登陸系統intLogin_guest(MYSQL*lpmysql,char*cardnum);/計數器加一intIncrease_guest(MYSQL*lpmysql,intguest_table);/存款intDeposit(MYSQL*lpm
21、ysql,char*cardnum);/取款intDraw(MYSQL*lpmsql,char*cardnum);/掛失intLoss(MYSQL*lpmysql,char*cardnum);/注銷intClose(MYSQL*lpmsql,char*cardnum);/轉賬intTranfer(MYSQL*lpmysql,char*cardnum);/獲得當前的記錄總數intGetCurrentNum(MYSQL*lpmysql,intguest_table);聲明了guest.c的函數,這些函數都是通過用的輸入操作數據庫。Mian.cmysql_init(&mysql);if(!m
22、ysql_real_connect(&mysql,"localhost","root","123456","bank",3306,NULL,0)/bank為你所創建的數據庫,為端口號,可自行設定printf("數據庫連接失敗n");returnFALSE;elseprintf("數據庫連接成功n");用來連接數據庫的語句。6測試和結果說明1.初始化數據庫數據先連接型1r倉!建袤est成功以建表yuest_lo0r.成曳以晚表adlmin成I力創建袤dmin_logj肉
23、身gnest添加記錄成功gilRst_lnEf泰加記錄成功ttdmin添加己錄典功Admln_lng卷加記錄成功請遺舉魁類型,2理甲3.層出2.注冊用戶3.用戶登錄操作懺成力 請選擇您的操作IW”來新那一個客戶賬戶2 .用戶,3,退出Z請輸入您的財與i弟吊你還沒有賬號,請輸入請輸入用戶帶科:1234S&堂I在成功I 著選停憋的操作:2 -鄴眩二:瓢請輸入要存的金額:1 664.數據庫變化Guest表select*fromsuest;.-+Ig_id-r-iSfuoo!pAoawoi*dr-11g_njliho-+-1g_oox1T-1-dlato-T-If-1-dcbt!1-+-*+-+-J1AULL:111!AMHR!00001!NULL13345fiii1gnetmobto1NULLX1111NULL2B1O-85-0508:42:4flI41101111:1!21!的闌02!245611i1ning1y11201G-0S-05BS:44口7I0111!31:0033!123151andij1X112B10-0S-3508:45:00Il0111:411JL:00B94;sun11lllong11X11.A一2010-05-35B8:45:22II011_0TT5rowsi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校音樂班管理制度
- 學生接送點管理制度
- 安全確認制管理制度
- 安服部安全管理制度
- 安置點日常管理制度
- 宗教活動所管理制度
- 實訓室各種管理制度
- 實驗室采購管理制度
- 客房服務間管理制度
- 室內潛水館管理制度
- 移液器自校準SOP
- Python入門基礎教程全套課件
- 接觸網工程施工方法及技術措施
- 朗讀技巧之重音、停連、語速、語調、語氣、節奏要領方法指導
- 天津大學年《儀器分析》期末試題B及答案
- 2022-2023學年安徽省合肥市七年級下冊期末語文模擬試卷(含答案)
- 工業紙板(瓦楞紙箱企業)全套管理規章制度匯編(組織架構、崗位職責說明、企業制度)
- 中考揚州歷史復習資料
- 氣候類型及自然帶知識歸納表
- 餐飲銷售技巧八步驟精講PPT課件
- 利川市城市規劃區集體土地上房屋征收補償辦法
評論
0/150
提交評論