




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精品資料推薦學(xué)生學(xué)號(hào)0120710340502實(shí)驗(yàn)課成績武漢理工大學(xué)實(shí)驗(yàn)課程名稱 開課學(xué)院 指導(dǎo)老師姓名 學(xué)生姓名 學(xué)生專業(yè)班級(jí)學(xué)生實(shí)驗(yàn)報(bào)告書軟件工程計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院顧志華穆忙濤計(jì)算機(jī)070520092010學(xué)年第二學(xué)期i精品資料推薦簡易銀行卡管理系統(tǒng)的開發(fā)1題目簡易銀行卡管理系統(tǒng)2功能描述分析、設(shè)計(jì)并實(shí)現(xiàn)一個(gè)銀行卡管理系統(tǒng),系統(tǒng)中有兩類用戶,普通用戶和管理員用戶,普通用戶可以對(duì)自己的信息管理,而管理員用戶則對(duì)所有的用戶都可以進(jìn)行管理。對(duì)于普通用戶,需要實(shí)現(xiàn)以下功能:( 1) 開戶( 2) 存款( 3) 取款( 4) 掛失( 5) 消戶( 6) 轉(zhuǎn)帳( 7) 查詢操作歷史對(duì)于管理員賬戶,需
2、要實(shí)現(xiàn)的功能是:( 1) 創(chuàng)建用戶( 2) 刪除用戶( 3) 查看用戶信息( 4) 更改用戶信息要實(shí)現(xiàn)對(duì)用戶賬戶的管理,就要用數(shù)據(jù)庫保存用戶的信息,登錄時(shí)通過對(duì)用戶賬戶和用戶密碼的驗(yàn)證,使用戶獲得相應(yīng)的權(quán)限。登陸后,用戶可以根據(jù)提示選擇相應(yīng)的操作,以實(shí)現(xiàn)對(duì)賬戶的管理操作。對(duì)賬戶的管理實(shí)際上是對(duì)用戶信息數(shù)據(jù)的操作,數(shù)據(jù)的信息保存在數(shù)據(jù)庫中,所以用戶的操作實(shí)際上是對(duì)數(shù)據(jù)庫的操作??梢詫⒂脩舻牟僮饔成涑梢韵碌臄?shù)據(jù)庫操作普通用戶操作:開戶:向數(shù)據(jù)庫中添加一條新紀(jì)錄存款、取款、掛失:修改數(shù)據(jù)庫中的某些字段值銷戶:刪除一條記錄查詢操作歷史:對(duì)數(shù)據(jù)庫的查詢管理員操作:創(chuàng)建用戶:添加一條記錄刪除用戶:刪除一條
3、記錄查詢用戶信息:查詢數(shù)據(jù)庫更改用戶信息:修改記錄字段值3數(shù)據(jù)定義系統(tǒng)有兩種用戶,并且要保存用戶的賬戶信息以及操作記錄,所以用四個(gè)表來存儲(chǔ)所有的信息,分別為guest,guest_log,admin,admin_logguest用來存儲(chǔ)普通客戶的賬戶信息guest_log:用來保存用戶的操作記錄,以便于查詢操作歷史admin:是管理員表,記錄管理員的賬戶信息admin_log:用來記錄管理員操作的歷史,以防管理員的錯(cuò)誤操作普通用戶的操作僅能涉及guest,guest_log兩個(gè)表,而管理員可是管理所有的表。各個(gè)表的定義如下:guest字段名數(shù)據(jù)類型作用guest_idint客戶的唯一標(biāo)識(shí)符,逐
4、漸guest_numchar(5)用戶登錄的銀行卡號(hào),務(wù)-使用5位passwordvarchar(10)登錄密碼,不大于10包,可義長g_namevarchar(10)客戶相關(guān)信息,客戶姓名,g_sexchar(1)客戶性別,x表示男,y表小女reg_datedatatime賬戶注冊(cè)時(shí)間moneyInt當(dāng)前用戶金額Debtchar(1)用戶賬戶狀態(tài),0正常,1掛失,2注銷guest_log:字段名數(shù)據(jù)類型作用log_idint操作記錄id,唯,標(biāo)識(shí)一個(gè)操作事件logtimedatetime事件發(fā)生的時(shí)間g_idInt發(fā)生操作事件的用戶id'motionvarchar(20)所執(zhí)行的操作
5、類型entityint操作涉及的金額remarktext對(duì)操作的備注管理員賬戶表和普通客戶表的內(nèi)容很類似,所以簡化了一些,并且管理員賬戶沒有賬戶金額等字段,所以相對(duì)較小。admin:字段名數(shù)據(jù)類型作用admin_idInt管理員唯一的標(biāo)志符admin_logNamevarchar(10)管理員登錄用戶名passwordvarchar(10)登錄密碼sexchar(1)性別,x為男,y為女reg_datadatatime注冊(cè)日期admin_log:字段名數(shù)據(jù)類型作用log_idint操作記錄id,唯,標(biāo)識(shí)一個(gè)操作事件log_timedatetime事件發(fā)生的時(shí)間admin_loginNameVa
6、rchar(10)執(zhí)行操作的管理員賬戶名motionvarchar(20)所執(zhí)行的操作類型guest_numChar(10)操作涉及到的用戶entityint操作涉及的金額remarktext對(duì)操作的備注以上是四個(gè)表的數(shù)據(jù)定義,在此基礎(chǔ)上,通過對(duì)數(shù)據(jù)庫的操作,實(shí)現(xiàn)對(duì)用戶信息的操作。4總體設(shè)計(jì)和各模塊接口說明系統(tǒng)總體可以分為三個(gè)模塊:I.Main主調(diào)用模塊2 .Guest管理模塊3 .Admin管理模塊這單個(gè)模塊的簡單關(guān)系為:Main模塊是程序的入口,用戶通過Main的操作,引導(dǎo)用戶進(jìn)入Guest模塊或Admin模塊,直到用戶退出。(1) Main模塊Main模塊是程序的入口,程序的初始化都在此
7、模塊,包括數(shù)據(jù)庫的連接,數(shù)據(jù)庫的初始化,全局變量的初始化等。該模塊定義了兩個(gè)出口,即Guest和Admin,用戶在該模塊選擇入口,已決定想要進(jìn)行的操作,直到退出。Main模塊的數(shù)據(jù)庫連接,將應(yīng)用程序同DBM族接起來,以使應(yīng)用程序能夠?qū)?shù)據(jù)庫進(jìn)行操作。Main模塊的數(shù)據(jù)庫初始化,包括創(chuàng)建表,對(duì)表中數(shù)據(jù)的初始操作。使應(yīng)用程序在執(zhí)行時(shí)可以獲得必要的信息。全局變量的初始化,包括登錄狀態(tài)、當(dāng)前用戶名等信息,使應(yīng)用程序可以在操作時(shí)可以得到相應(yīng)的環(huán)境變量。Main模塊提供了兩個(gè)出口,分別指向Guest和Admin。(2) Guest模塊Guest模塊包含了對(duì)普通用戶的所有操作,開戶、存款、取款、掛失、消戶、
8、轉(zhuǎn)帳和查詢操作歷史。根據(jù)選擇,執(zhí)行不同的操作,每一個(gè)操作都是對(duì)數(shù)據(jù)庫的操作。Guest盒形圖(包括對(duì)數(shù)據(jù)庫的操作)(3) Admin模塊Admin模塊的內(nèi)容同Guest模塊的內(nèi)容類似,不過Admin模塊的操作涉及到更多的數(shù)據(jù)表,admin和admin_log。5程序設(shè)計(jì)的說明程序設(shè)計(jì)包括兩個(gè)部分的設(shè)計(jì):數(shù)據(jù)庫設(shè)計(jì)和功能設(shè)計(jì)。(1)數(shù)據(jù)庫設(shè)計(jì)本程序采用MySQL數(shù)據(jù)庫,為實(shí)現(xiàn)以上數(shù)據(jù)庫設(shè)計(jì),使用如下語句創(chuàng)建數(shù)據(jù)庫:/創(chuàng)建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)"創(chuàng)建guest_logScharguest_log="createtableguest_log(log_idINT,log_timeDATETIME,g_idINT,motionVARCHAR(20),entrySMALLINT,remarkTEXT,PRIMARYKEY(log_id)"創(chuàng)建admin表charadmin="createtableadmin(adm
10、in_idINT,admin_loginNameVARCHAR(10),passwordVARCHAR(10),sexCHAR(1),reg_dateDATETIME,PRIMARYKEY(admin_id)";/創(chuàng)建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)為了給每一個(gè)新注冊(cè)的用戶分配號(hào)碼,并且給每一條新的記錄分配唯一的id值,因此需要一個(gè)計(jì)數(shù)的變量用來存儲(chǔ),表中記錄的總量,所以在創(chuàng)建表的時(shí)候,初始添加一條記錄,用來充當(dāng)計(jì)數(shù)器的作用,添加記錄的語句如下。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")"各個(gè)表在添加了初始記錄后的內(nèi)容如下: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)代碼設(shè)計(jì)總共代碼有10個(gè)文件,頭文件有admin.h、common.h、globa
19、l.h、guest.hstdafx.h.c文件有admin.c、common.cglobal.c、guest.cmain.cStdafx.h,文件包含著整個(gè)工程所需要的資源文件global.hglobal.c中聲明并定義了全局變量common.h,common.c中定義了常用的函數(shù)admin.hadmin.c實(shí)現(xiàn)了所有Admin模塊的操作guest.hguest.c實(shí)現(xiàn)了所有Guest模塊的操作main.c實(shí)現(xiàn)了Main模塊的內(nèi)容Global.h#ifndef_GLOBAL_H/*pleaseinsure_GLOBAL_Hunique*/#define_GLOBAL_H/*avoidquota
20、tioniterativly*/externintLOGIN;/LOGIN為表示登陸,為表示未登陸externintUSER;/USER表示用戶類型,表示ADMIN,表示GUEST#endif聲明了兩個(gè)環(huán)境變量,LOGIN和USER。Guest.h/注冊(cè)用戶intRegister_guest(MYSQL*lpmysql,char*cardnum);/登陸系統(tǒng)intLogin_guest(MYSQL*lpmysql,char*cardnum);/計(jì)數(shù)器加一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);/轉(zhuǎn)賬intTranfer(MYSQL*lpmysql,char*cardnum);/獲得當(dāng)前的記錄總數(shù)intGetCurrentNum(MYSQL*lpmysql,intguest_table);聲明了guest.c的函數(shù),這些函數(shù)都是通過用的輸入操作數(shù)據(jù)庫。Mian.cmysql_init(&mysql);if(!m
22、ysql_real_connect(&mysql,"localhost","root","123456","bank",3306,NULL,0)/bank為你所創(chuàng)建的數(shù)據(jù)庫,為端口號(hào),可自行設(shè)定printf("數(shù)據(jù)庫連接失敗n");returnFALSE;elseprintf("數(shù)據(jù)庫連接成功n");用來連接數(shù)據(jù)庫的語句。6測試和結(jié)果說明1.初始化數(shù)據(jù)庫數(shù)據(jù)先連接型1r倉!建袤est成功以建表yuest_lo0r.成曳以晚表adlmin成I力創(chuàng)建袤dmin_logj肉
23、身gnest添加記錄成功gilRst_lnEf泰加記錄成功ttdmin添加己錄典功Admln_lng卷加記錄成功請(qǐng)遺舉魁類型,2理甲3.層出2.注冊(cè)用戶3.用戶登錄操作懺成力 請(qǐng)選擇您的操作IW”來新那一個(gè)客戶賬戶2 .用戶,3,退出Z請(qǐng)輸入您的財(cái)與i弟吊你還沒有賬號(hào),請(qǐng)輸入請(qǐng)輸入用戶帶科:1234S&堂I在成功I 著選停憋的操作:2 -鄴眩二:瓢請(qǐng)輸入要存的金額:1 664.數(shù)據(jù)庫變化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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 奮斗吧主播培訓(xùn)
- 護(hù)理繼續(xù)教育培訓(xùn)班課件
- 小學(xué)語文《黃繼光》課件
- 安徽省亳州市部分學(xué)校2024-2025學(xué)年高一下學(xué)期期末考試語文試題(含答案)
- 慢病診療培訓(xùn)
- 績效管理培訓(xùn)方案
- 雙法蘭液位計(jì)培訓(xùn)
- 肝腫瘤射頻消融治療技術(shù)
- 流程密碼安全管理與共享規(guī)范
- 物業(yè)安全培訓(xùn)課件
- 《資治通鑒》與為將之道知到課后答案智慧樹章節(jié)測試答案2025年春武警指揮學(xué)院
- YY 0731-2009大型蒸汽滅菌器手動(dòng)控制型
- 2020重大疾病保險(xiǎn)的疾病定義使用規(guī)范修訂解讀及影響課件
- 《建筑工程消防施工質(zhì)量驗(yàn)收規(guī)范》
- 電能質(zhì)量概念課件
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)小型公司網(wǎng)絡(luò)
- 中考考前注意事項(xiàng)講稿
- 朗讀技巧之重音、停連、語速、語調(diào)、語氣、節(jié)奏要領(lǐng)方法指導(dǎo)
- 2022-2023學(xué)年安徽省合肥市七年級(jí)下冊(cè)期末語文模擬試卷(含答案)
- 2022年《國民經(jīng)濟(jì)行業(yè)分類》
- 集中控制中心建設(shè)(指揮中心建設(shè))
評(píng)論
0/150
提交評(píng)論