版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.:.;學(xué)生學(xué)號(hào)0120710340502實(shí)驗(yàn)課成果武漢理工大學(xué)學(xué) 生 實(shí) 驗(yàn) 報(bào) 告 書(shū)實(shí)驗(yàn)課程稱號(hào) 軟件工程 開(kāi) 課 學(xué) 院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 指點(diǎn)教師姓名 顧志華 學(xué) 生 姓 名 穆忙濤 學(xué)生專業(yè)班級(jí) 計(jì)算機(jī)0705 2021 2021 學(xué)年 第 二 學(xué)期簡(jiǎn)易銀行卡管理系統(tǒng)的開(kāi)發(fā)1標(biāo)題簡(jiǎn)易銀行卡管理系統(tǒng)2功能描畫(huà)分析、設(shè)計(jì)并實(shí)現(xiàn)一個(gè)銀行卡管理系統(tǒng),系統(tǒng)中有兩類用戶,普通用戶和管理員用戶,普通用戶可以對(duì)本人的信息管理,而管理員用戶那么對(duì)一切的用戶都可以進(jìn)展管理。對(duì)于普通用戶,需求實(shí)現(xiàn)以下功能:開(kāi)戶存款取款掛失消戶 6 轉(zhuǎn)帳 7 查詢操作歷史對(duì)于管理員賬戶,需求實(shí)現(xiàn)的功能是: 1 創(chuàng)建用
2、戶 2 刪除用戶 3 查看用戶信息 4更改用戶信息要實(shí)現(xiàn)對(duì)用戶賬戶的管理,就要用數(shù)據(jù)庫(kù)保管用戶的信息,登錄時(shí)經(jīng)過(guò)對(duì)用戶賬戶和用戶密碼的驗(yàn)證,運(yùn)用戶獲得相應(yīng)的權(quán)限。登陸后,用戶可以根據(jù)提示選擇相應(yīng)的操作,以實(shí)現(xiàn)對(duì)賬戶的管理操作。對(duì)賬戶的管理實(shí)踐上是對(duì)用戶信息數(shù)據(jù)的操作,數(shù)據(jù)的信息保管在數(shù)據(jù)庫(kù)中,所以用戶的操作實(shí)踐上是對(duì)數(shù)據(jù)庫(kù)的操作??梢詫⒂脩舻牟僮饔成涑梢韵碌臄?shù)據(jù)庫(kù)操作普通用戶操作:開(kāi)戶:向數(shù)據(jù)庫(kù)中添加一條新紀(jì)錄存款、取款、掛失:修正數(shù)據(jù)庫(kù)中的某些字段值銷戶:刪除一條記錄查詢操作歷史:對(duì)數(shù)據(jù)庫(kù)的查詢管理員操作:創(chuàng)建用戶:添加一條記錄刪除用戶:刪除一條記錄查詢用戶信息:查詢數(shù)據(jù)庫(kù)更改用戶信息:修正
3、記錄字段值3數(shù)據(jù)定義系統(tǒng)有兩種用戶,并且要保管用戶的賬戶信息以及操作記錄,所以用四個(gè)表來(lái)存儲(chǔ)一切的信息,分別為guest,guest_log,admin,admin_log。guest:用來(lái)存儲(chǔ)普通客戶的賬戶信息guest_log:用來(lái)保管用戶的操作記錄,以便于查詢操作歷史admin:是管理員表,記錄管理員的賬戶信息admin_log:用來(lái)記錄管理員操作的歷史,以防管理員的錯(cuò)誤操作普通用戶的操作僅能涉及guest,guest_log兩個(gè)表,而管理員可是管理一切的表。各個(gè)表的定義如下:guest:字段名數(shù)據(jù)類型作用guest_idint客戶的獨(dú)一標(biāo)識(shí)符,逐漸guest_numchar(5)用戶登
4、錄的銀行卡號(hào),一致運(yùn)用5位passwordvarchar(10)登錄密碼,不大于10位,可變長(zhǎng)g_namevarchar(10)客戶相關(guān)信息,客戶姓名,g_sexchar(1)客戶性別,x表示男,y表示女reg_datedatatime賬戶注冊(cè)時(shí)間moneyInt當(dāng)前用戶金額Debtchar(1)用戶賬戶形狀,0正常,1掛失,2注銷guest_log:字段名數(shù)據(jù)類型作用log_idint操作記錄id,獨(dú)一標(biāo)識(shí)一個(gè)操作事件log_timedatetime事件發(fā)生的時(shí)間g_idInt發(fā)生操作事件的用戶idmotionvarchar(20)所執(zhí)行的操作類型entityint操作涉及的金額remark
5、text對(duì)操作的備注管理員賬戶表和普通客戶表的內(nèi)容很類似,所以簡(jiǎn)化了一些,并且管理員賬戶沒(méi)有賬戶金額等字段,所以相對(duì)較小。admin:字段名數(shù)據(jù)類型作用admin_idInt管理員獨(dú)一的標(biāo)志符admin_logNamevarchar(10)管理員登錄用戶名passwordvarchar(10)登錄密碼sexchar(1)性別,x為男,y為女reg_datadatatime注冊(cè)日期admin_log:字段名數(shù)據(jù)類型作用log_idint操作記錄id,獨(dú)一標(biāo)識(shí)一個(gè)操作事件log_timedatetime事件發(fā)生的時(shí)間admin_loginNameVarchar(10)執(zhí)行操作的管理員賬戶名moti
6、onvarchar(20)所執(zhí)行的操作類型guest_numChar(10)操作涉及到的用戶entityint操作涉及的金額remarktext對(duì)操作的備注以上是四個(gè)表的數(shù)據(jù)定義,在此根底上,經(jīng)過(guò)對(duì)數(shù)據(jù)庫(kù)的操作,實(shí)現(xiàn)對(duì)用戶信息的操作。4總體設(shè)計(jì)和各模塊接口闡明系統(tǒng)總體可以分為三個(gè)模塊:Main主調(diào)用模塊Guest管理模塊Admin管理模塊這單個(gè)模塊的簡(jiǎn)單關(guān)系為:MainMainAdminGuestAdminGuestMain模塊是程序的入口,用戶經(jīng)過(guò)Main的操作,引導(dǎo)用戶進(jìn)入Guest模塊或Admin模塊,直到用戶退出。Main模塊Main模塊是程序的入口,程序的初始化都在此模塊,包括數(shù)據(jù)庫(kù)
7、的銜接,數(shù)據(jù)庫(kù)的初始化,全局變量的初始化等。該模塊定義了兩個(gè)出口,即 Guest 和Admin,用戶在該模塊選擇入口,已決議想要進(jìn)展的操作,直到退出。Main模塊的數(shù)據(jù)庫(kù)銜接,將運(yùn)用程序同DBMS銜接起來(lái),以使運(yùn)用程序可以對(duì)數(shù)據(jù)庫(kù)進(jìn)展操作。Main模塊的數(shù)據(jù)庫(kù)初始化,包括創(chuàng)建表,對(duì)表中數(shù)據(jù)的初始操作。使運(yùn)用程序在執(zhí)行時(shí)可以獲得必要的信息。全局變量的初始化,包括登錄形狀、當(dāng)前用戶名等信息,使運(yùn)用程序可以在操作時(shí)可以得到相應(yīng)的環(huán)境變量。Main模塊提供了兩個(gè)出口,分別指向Guest和Admin。數(shù)據(jù)庫(kù)鏈接數(shù)據(jù)庫(kù)鏈接數(shù)據(jù)庫(kù)初始化數(shù)據(jù)庫(kù)初始化全局變量初始化全局變量初始化輸入用戶類型輸入用戶類型Admi
8、n模塊Guest模塊Admin模塊Guest模塊Main的盒形圖Guest模塊Guest模塊包含了對(duì)普通用戶的一切操作,開(kāi)戶、存款、取款、掛失、消戶、轉(zhuǎn)帳和查詢操作歷史。根據(jù)選擇,執(zhí)行不同的操作,每一個(gè)操作都是對(duì)數(shù)據(jù)庫(kù)的操作。選擇操作選擇操作 7 5 4 1 7 5 4 1 6 3 2 6 3 2查詢歷史轉(zhuǎn)賬銷戶掛失取款存款開(kāi)戶查詢歷史轉(zhuǎn)賬銷戶掛失取款存款開(kāi)戶guestguest_logguestguest_logGuest盒形圖(包括對(duì)數(shù)據(jù)庫(kù)的操作)Admin模塊Admin模塊的內(nèi)容同Guest模塊的內(nèi)容類似,不過(guò)Admin模塊的操作涉及到更多的數(shù)據(jù)表,admin和admin_log。5程序
9、設(shè)計(jì)的闡明程序設(shè)計(jì)包括兩個(gè)部分的設(shè)計(jì):數(shù)據(jù)庫(kù)設(shè)計(jì)和功能設(shè)計(jì)。數(shù)據(jù)庫(kù)設(shè)計(jì)本程序采用MySQL數(shù)據(jù)庫(kù),為實(shí)現(xiàn)以上數(shù)據(jù)庫(kù)設(shè)計(jì),運(yùn)用如下語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù):/創(chuàng)建guest表char guest = create table guest (g_id INT, guest_num CHAR(5), password VARCHAR(10), g_name VARCHAR(10), g_sex CHAR(1), reg_date DATETIME, money SMALLINT, debt CHAR(1), PRIMARY KEY(g_id,guest_num) );/創(chuàng)建guest_log表char gue
10、st_log = create table guest_log (log_id INT, log_time DATETIME, g_id INT, motion VARCHAR(20), entry SMALLINT, remark TEXT, PRIMARY KEY(log_id) );/創(chuàng)建admin表char admin = create table admin (admin_id INT, admin_loginName VARCHAR(10), password VARCHAR(10), sex CHAR(1), reg_date DATETIME, PRIMARY KEY(admi
11、n_id) );/創(chuàng)建admin_log表char admin_log = create table admin_log (log_id INT, admin_loginName VARCHAR(10), log_time DATETIME, motion VARCHAR(20), user_num CHAR(5), entry SMALLINT, remark TEXT, PRIMARY KEY(log_id);在MySQL查看新建表,用 describe tablename;結(jié)果如下:表guest:表guest_log:表admin:表admin_log:為了給每一個(gè)新注冊(cè)的用戶分配號(hào)碼,
12、并且給每一條新的記錄分配獨(dú)一的id值,因此需求一個(gè)計(jì)數(shù)的變量用來(lái)存儲(chǔ),表中記錄的總量,所以在創(chuàng)建表的時(shí)候,初始添加一條記錄,用來(lái)充任計(jì)數(shù)器的作用,添加記錄的語(yǔ)句如下。char first_record_guest = insert into guest(g_id,guest_num) value(0,00000);char first_record_guest_log = insert into guest_log(log_id,g_id) value(0,0);char first_record_admin = insert into admin(admin_id,admin_loginNa
13、me) value(0,admin);char first_record_admin_log = insert intoadmin_log(log_id,admin_loginName)value(0,admin);各個(gè)表在添加了初始記錄后的內(nèi)容如下:Guest:Guest_log:Admin:Admin_log:代碼設(shè)計(jì)總共代碼有10個(gè)文件,頭文件有admin.h、common.h、global.h、guest.h、stdafx.h.c文件有admin.c、common.c、global.c、guest.c、main.cStdafx.h,文件包含著整個(gè)工程所需求的資源文件global.h g
14、lobal.c 中聲明并定義了全局變量common.h,common.c中定義了常用的函數(shù)admin.h admin.c實(shí)現(xiàn)了一切Admin模塊的操作guest.h guest.c 實(shí)現(xiàn)了一切Guest模塊的操作main.c實(shí)現(xiàn)了Main模塊的內(nèi)容Global.h#ifndef _GLOBAL_H /* please insure _GLOBAL_H unique */#define _GLOBAL_H /* avoid quotation iterativly */extern int LOGIN ;/LOGIN 為表示登陸,為表示未登陸extern int USER;/USER 表示用戶類
15、型,表示ADMIN,表示GUEST#endif聲明了兩個(gè)環(huán)境變量,LOGIN 和USER。Guest.h/注冊(cè)用戶int Register_guest(MYSQL *lpmysql,char *cardnum);/登陸系統(tǒng)int Login_guest(MYSQL *lpmysql,char *cardnum);/計(jì)數(shù)器加一int Increase_guest(MYSQL *lpmysql,int guest_table);/存款int Deposit(MYSQL *lpmysql,char *cardnum);/取款int Draw(MYSQL *lpmsql,char *cardnum);
16、/掛失int Loss(MYSQL *lpmysql,char *cardnum);/注銷int Close(MYSQL *lpmsql,char *cardnum);/轉(zhuǎn)賬int Tranfer(MYSQL *lpmysql,char *cardnum);/獲得當(dāng)前的記錄總數(shù)int GetCurrentNum(MYSQL *lpmysql,int guest_table);聲明了guest.c的函數(shù),這些函數(shù)都是經(jīng)過(guò)用的輸入操作數(shù)據(jù)庫(kù)。Mian.cmysql_init (&mysql);if(!mysql_real_connect(&mysql,localhost,root,123456,bank,3306,NULL,0)/bank為他所創(chuàng)建的數(shù)據(jù)庫(kù),為端口號(hào),可自行設(shè)定printf(數(shù)據(jù)庫(kù)銜接失敗n); re
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高考語(yǔ)文復(fù)習(xí)知識(shí)清單第2章文學(xué)類文本閱讀(一)小說(shuō)專題07寫(xiě)小說(shuō)文學(xué)短評(píng)(學(xué)生版+解析)
- 各種培訓(xùn)課件教學(xué)課件
- 二年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)1000題匯編集錦
- 肉鴨采購(gòu)合同(2篇)
- 望廬山課件教學(xué)課件
- 南京工業(yè)大學(xué)浦江學(xué)院《實(shí)驗(yàn)藝術(shù)》2021-2022學(xué)年第一學(xué)期期末試卷
- 鋼結(jié)構(gòu)施工組織設(shè)計(jì)【超完美版】
- 多細(xì)胞生物體說(shuō)課稿
- 《長(zhǎng)方形的面積》說(shuō)課稿
- 《小數(shù)的加減法》說(shuō)課稿
- 第九套廣播體操動(dòng)作要領(lǐng)及圖解
- 看圖寫(xiě)話二年級(jí)公開(kāi)課已修改版
- 安徽省淮北市地方婚禮流程資料
- 附件3-4歐曼金融服務(wù)經(jīng)銷商融資業(yè)務(wù)介紹
- 中醫(yī)骨傷科學(xué)9肩周炎上肢傷筋
- 五年級(jí)分?jǐn)?shù)乘法口算練習(xí)
- 客戶服務(wù)管理七大原則
- 斜井常閉式防跑車裝置設(shè)計(jì)說(shuō)明書(shū)
- 購(gòu)買(mǎi)文件登記表.doc
- [山東]建筑工程施工技術(shù)資料管理規(guī)程表格
- 《葫蘆絲演奏的入門(mén)練習(xí)》教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論