freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言設(shè)計(jì)的圖書管理系統(tǒng)設(shè)計(jì)實(shí)踐報(bào)告(已修改)

2025-05-25 18:24 本頁面
 

【正文】 C語言設(shè)計(jì)的圖書管理系統(tǒng)設(shè)計(jì)實(shí)踐報(bào)告1 問題描述圖書管理系統(tǒng)作為一個(gè)應(yīng)用軟件將為學(xué)校的老師和學(xué)生提供一個(gè)與學(xué)校圖書館圖書以及個(gè)人信息進(jìn)行交互的平臺。根據(jù)系統(tǒng)界面的提示信息,操作者就可以對圖書信息進(jìn)行查詢,借閱,還書,登陸個(gè)人賬戶則可以個(gè)人賬戶信息,管理員通過登陸管理員賬戶可以整理和修改書籍和學(xué)生信息。2 開發(fā)環(huán)境visual C++ 3 功能分析角色1: 管理員序號功能描述備注1書籍借閱——2書籍歸還賬戶狀態(tài)有提示3查詢書籍信息能按書名、作者、編號查找4修改賬戶密碼——5修改學(xué)生數(shù)據(jù)僅管理員有此權(quán)限6修改圖書數(shù)據(jù)僅管理員有此權(quán)限7查詢賬戶狀態(tài)會提示還書角色2: 學(xué)生序號功能描述備注1書籍借閱——2書籍歸還賬戶狀態(tài)有提示3查詢書籍信息能按書名、作者、編號查找4修改賬戶密碼——7查詢賬戶狀態(tài)會提示還書4 項(xiàng)目設(shè)計(jì) 程序結(jié)構(gòu)設(shè)計(jì)借書基本信息借閱狀態(tài)還書 查詢賬戶 普通賬戶 進(jìn)入 退出 系 統(tǒng) 管理員作者編號全部顯示書名 查詢書籍修改密碼 修改賬戶圖書信息學(xué)生信息 修改數(shù)據(jù)庫 借還書 管理權(quán)限 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)程序中用到的特殊數(shù)據(jù)結(jié)構(gòu)(非標(biāo)準(zhǔn)C的基本數(shù)據(jù)類型)。存儲學(xué)生數(shù)據(jù)的結(jié)構(gòu)體:typedef struct information{ char bookNum[10]。 char bookNam[50]。 char bookAut[20]。 float bookPri。 int status。 struct information *next。}info。存儲圖書數(shù)據(jù)的結(jié)構(gòu)體: typedef struct student{ char stuNam[20]。 char number[10]。 char passKey[20]。 int borrowSta。 char key。 struct student *next。}studentDat。 主要算法(1) 查詢書籍函數(shù):findBo 按編號choise開始choise?顯示所有按書名按作者返回結(jié)束 1 2 3 4 0(2)登錄函數(shù): checkAcc登錄結(jié)束輸入數(shù)據(jù)檢查賬戶有無數(shù)據(jù)賬號密碼帳號、密碼開始存入文件 Y N(3) 更改書籍函數(shù): changeBo增添書籍choise開始choise?更改編號更改狀態(tài)刪除書籍返回結(jié)束 1 2 3 4 0 (4)刪除書籍函數(shù): delBook結(jié)束繼續(xù)?編號刪除開始 存入文件 Y N (5) 添加書籍信息函數(shù): addBook開始結(jié)束繼續(xù)?輸入書信息 排序插入鏈表存入文件 Y N5 程序運(yùn)行及調(diào)試(1)進(jìn)入系統(tǒng)(2) 創(chuàng)建數(shù)據(jù) (3)主菜單(4)實(shí)現(xiàn)的主要功能6 總結(jié)首先說說系統(tǒng)運(yùn)用的原理,主要是是圖書數(shù)據(jù)和學(xué)生數(shù)據(jù)的 動態(tài)存儲與調(diào)用,通過函數(shù)之間的相互調(diào)用實(shí)現(xiàn)系統(tǒng)各級菜單的 層次遞進(jìn)。操作者運(yùn)行系統(tǒng)時(shí)需要先檢查是否存在相應(yīng)的 數(shù)據(jù)文件,如果沒有則說明系統(tǒng)首次運(yùn)行,待初始化數(shù)據(jù)后,需要建立針對圖書數(shù)據(jù)和學(xué)生數(shù)據(jù)的兩個(gè)不同的 獨(dú)立鏈表,并且將鏈表數(shù)據(jù)存儲到文件中,隨后向各個(gè)函數(shù)傳入 鏈表首地址(首地址固定),根據(jù)各個(gè)函數(shù)功能的不同,如果需要更改學(xué)生或者圖書數(shù)據(jù),則直接通過 對鏈表的刪除、增加和查詢實(shí)現(xiàn)對學(xué)生信息以及圖書信息的訪問、修改和調(diào)用操作。隨后系統(tǒng)將修改后的鏈表數(shù)據(jù)再次存入 固定文件中,操作者每次運(yùn)行系統(tǒng)時(shí),重復(fù)以上對鏈表和文件的操作,以此實(shí)現(xiàn)外界和系統(tǒng)存儲數(shù)據(jù)的 動態(tài)交互,提高系統(tǒng)運(yùn)行效率。另外圖書數(shù)據(jù)和學(xué)生數(shù)據(jù)都以 結(jié)構(gòu)體數(shù)據(jù)塊的形式存儲,以便于操作。這個(gè)圖書管理系統(tǒng)幾乎里面所有的東西都是C語言課程所講的,比如說鏈表的創(chuàng)建、刪除、排序、添加,結(jié)構(gòu)體的正確使用,文件的創(chuàng)建、存儲、讀取,指針的操作,函數(shù)之間參數(shù)的傳遞等等。在開始著手完成整個(gè)系統(tǒng)之前,我先寫出了所有會用到的函數(shù)聲明,同時(shí)根據(jù)系統(tǒng)的各級之間嵌套關(guān)系和調(diào)用關(guān)系確定了所有必須用到的和需要傳遞的參數(shù),甚至預(yù)先還畫出了流程圖,我覺得這樣的話思路會比較清晰,而不是寫一點(diǎn)代碼,再想想會用到的東西。雖然這樣,最后我還是發(fā)現(xiàn)了代碼存在一些問題,因?yàn)閷懨總€(gè)函數(shù)時(shí)沒有單獨(dú)調(diào)試,到最后還是稍顯麻煩,同時(shí)也是因?yàn)閷訉忧短椎脑?,?dǎo)致一個(gè)地方改動的話,很多地方都要稍加改動,這些以后都可以稍加注意,可以提高自己的工作速率。對于自己著手的這個(gè)圖書管理系統(tǒng),我覺得功能實(shí)現(xiàn)的還是比較完善的,本參照一個(gè)真正的系統(tǒng)的使用情況,我對多方面都進(jìn)行了考慮,也從用戶自身的角度來對代碼進(jìn)行了相應(yīng)的優(yōu)化,比如每個(gè)一些函數(shù)結(jié)束之后會自動彈出功能菜單來提示操作者接下來可能要執(zhí)行的各種操作,還有就是如果用戶某一項(xiàng)操作沒有成功之后,會清楚地提示讓用戶做出正確的選擇,而不是程序死在一個(gè)地方或是毫無提示信息。不過仍然有一些東西我覺得還有點(diǎn)欠缺,函數(shù)之間的嵌套關(guān)系導(dǎo)致了很多函數(shù)需要傳入更多的參數(shù)、系統(tǒng)從鏈表讀取數(shù)據(jù)之后是以二進(jìn)制的形式來存入文件中的,這樣雖然在數(shù)據(jù)量大的情況下能夠提高程序的運(yùn)行效率,但是操作者卻不能像修改TXT文件那樣直接在文件中修改數(shù)據(jù),管理員要想更改數(shù)據(jù)還必須在運(yùn)行系統(tǒng)之后調(diào)用相應(yīng)的系統(tǒng)功能函數(shù)來實(shí)現(xiàn)更改操作,這樣的話在數(shù)據(jù)量巨大的情況下略顯繁瑣。7 主要源代碼include include include include define STU sizeof(studentDat)define BOK sizeof(info)define stuNUM 10define boNUM 10typedef struct information{ char bookNum[10]。 char bookNam[50]。 char bookAut[20]。 float bookPri。 int status。 struct information *next。}info。typedef struct student{ char stuNam[20]。 char number[10]。 char passKey[20]。 int borrowSta。 char key。 struct student *next。}studentDat。void sysMenu ()。 //系統(tǒng)初級主菜單 void choMenu ()。 //登錄賬號界面studentDat *loadStu()。 //載入學(xué)生數(shù)據(jù)Info *loadBo()。 //載入圖書數(shù)據(jù)void menuFir (char stuNumber[], studentDat *Shead, info *Bhead, char manaLimit)。 //主要功能界面void borRet (info *Bhead, char stuNumber[], studentDat *Shead, char manaLimit)。 //借還書界面 void findBo (info *Bhead, char stuNumber[], studentDat *Shead, char manaLimit)。 //查詢書籍studentDat *creatStu ()。 //創(chuàng)建學(xué)生數(shù)據(jù)Info *creatInfo()。 //創(chuàng)建圖書數(shù)據(jù)void stuDat(studentDat *Shead, char stuNumber[])。 //學(xué)生狀態(tài)信息void checkAcc (char stuNumber[], studentDat *Shead, info *Bhead, char manaLimit)。 //登錄賬戶檢查void bottowBo (char number[], info *Bhead, studentDat *Shead, char manaLimit)。 //借書系統(tǒng)void returnBo (char number[], info *Bhead, studentDat *Shead, char manaLimit)。 //還書系統(tǒng) void print (info *Bhead)。 //全部顯示void changeDat (info *Bhead, studentDat *Shead, char manaLimit, char stuNumber[])。 //更改系統(tǒng)數(shù)據(jù)void delStu (info *Bhead, studentDat *Shead, char manaLimit, char stuNumber[])。 //刪除學(xué)生void addStu (info *Bhead, studentDat *Shead, char manaLimit, char stuNumber[])。 //增添學(xué)生void delBook (info *Bhead, studentDat *Shead, char manaLimit, char stuNumber[])。 //刪除書籍void addBook (info *Bhead, studentDat *Shead, char manaLimit, char stuNumber[])。 //增添書籍void changeBo (info *Bhead, studentDat *Shead, char manaLimit, char s
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1