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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)之圖書管理系統(tǒng)(已修改)

2025-02-22 01:55 本頁面
 

【正文】 ##大學(xué) 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告 題目: 圖書管理系統(tǒng) 院(系): 計(jì)算機(jī)工程學(xué)院 學(xué)生姓名 : 班級: 學(xué)號 : 起迄日期 : 指導(dǎo)教師 : 2021— 2021年度 第 2 學(xué)期 指導(dǎo)教師評語: 成績: 簽名: 年 月 日 一、需求分析 : 設(shè)計(jì)一個(gè)計(jì)算機(jī)管理系統(tǒng)完成圖書管理 基本業(yè)務(wù) . 該系統(tǒng)包括 ; ; ; ; 。通過該系統(tǒng)可以很好的實(shí)現(xiàn)對圖書的管理。 主函數(shù) main(): 主函數(shù)通過創(chuàng)建 ,從而達(dá)到對圖書信息 和讀者信息的保存,方便用戶下一次的操作。通過 if語句判斷讀者是否是第一次登陸,若是首次登陸,則要進(jìn)行初始化,否則直接進(jìn)入主菜單進(jìn)行功能選擇。 初始化讀者信息函數(shù) Init_reader(): 若讀者是第一次進(jìn)入此系 統(tǒng),則首先對讀者的信息進(jìn)行初始化,通過p0=(RD*)malloc(sizeof(RD))為讀者申請讀者鏈表節(jié)點(diǎn)空間,并初始化讀者鏈表,包括讀者的圖書證號,姓名。并把所接圖書量置為零。 初始化圖書信息函數(shù) Init_book(): 若讀者是第一次進(jìn)入此系統(tǒng),則首先對讀者的圖書信息進(jìn)行初始化,通過 p0=(BK*)malloc(sizeof(BK))為圖書申請圖書鏈表節(jié)點(diǎn)空間,并對圖書鏈表中的圖書編號、圖書名稱、圖書作者、圖書數(shù)量進(jìn)行初始化,開始時(shí),圖書的現(xiàn)存量等于庫存量。 主菜單選擇函數(shù) Menu_select(): 此函數(shù)包括退出系統(tǒng),新書入庫,查詢信息,借書登記和還書管理五個(gè)函數(shù),通過調(diào)用主菜單函數(shù)判斷用戶做出的選擇,從而進(jìn)行相應(yīng)的操作。 新書入庫函 Insert_New_Book(): 此函數(shù)通過的創(chuàng)建一個(gè)圖書鏈表,達(dá)到對新進(jìn)書判斷,若在現(xiàn)有的圖書中找到該書,則直接進(jìn)行入庫,并記錄下圖書的數(shù)量,若找完整個(gè)圖書量表也沒找到該書,則要記錄下新進(jìn)圖書的名稱,作者,數(shù)量,并把該書插入到已有數(shù)中,方便下次對新書的判斷。 查找菜單選擇函數(shù) Find_Select(): 此函數(shù)包 括查找圖書,查找讀者,顯示圖書和顯示讀者以及返回上級五個(gè)功能,通過調(diào)用 find()函數(shù),判斷用戶的選擇,從而進(jìn)行相關(guān)功能的操作。 查找讀者函數(shù) Find_Reader() 此函數(shù)通過讀者的圖書證號對讀者鏈表從頭至尾進(jìn)行查找,若找到讀者,則顯示讀者圖書證號以及姓名,然后利用 for循環(huán)和指針,對讀者所借圖書進(jìn)行查找并顯示。若找不到讀者,顯示讀者標(biāo)號不存在,按任意鍵回到查找菜單選擇函數(shù)界面。 查找圖書函數(shù) Find_Book(): 此函數(shù)根據(jù)用戶輸入的圖書編號,利用while(strcmp(pbook_num,find_book)!=0amp。amp。pnext)。 p=pnext。語句,對現(xiàn)有圖書進(jìn)行查找,若找到,則顯示圖書的編號、名稱、作者、現(xiàn)有量以及庫存量。否則顯示此圖書編號不存在,按任意鍵回到查找菜單選擇函數(shù)界面。 顯示讀者函數(shù) Print_reader() : 此函數(shù)利用定義指針 RD *p。p=h_reader。 利用 while(p!=NULL)循環(huán),以及利用 p=pnext 語句對讀者的圖書信息鏈表進(jìn)行遍歷,然后顯示讀者的借書編號和還書時(shí)間。 顯示圖書信息 Print_book(): 此函數(shù)利用定義指針 BK *p。 p=h_book。利用 while(p!=NULL)循環(huán),以及利用 p=pnext 語句對現(xiàn)存圖書的鏈表進(jìn)行遍歷,顯示所有現(xiàn)存圖書的編號、名稱、作者、現(xiàn)有量以及庫存量信息。 借書函數(shù) Borrow_Book(): 此函數(shù)利用圖書鏈表和讀者鏈表對讀者的借書進(jìn)行操作,根據(jù)讀者輸入的圖書證號,利用 while 循環(huán)對讀者鏈表進(jìn)行遍歷,查找是否存在該讀者,若讀者不存在,則提示該讀者的圖書證號不存在,若讀者存在,根據(jù)讀者輸入的要借的圖書編號,再利用 while 循環(huán)遍歷是否存在該書,若該書不存在,則顯示此書不存在,若該書存在,再利用 if 判斷是否還有現(xiàn)存,若無現(xiàn)存,在提示此書已借完,若還有現(xiàn)存,再利用 if語句判斷該讀者是否已達(dá)到最大借書量,若已達(dá)最大量,則提示讀者,借書已滿,若還未達(dá)到最大量,再利用 if 語句判斷該讀者是否已借書,若從未借過書,則直接借書,若已借書,然后利用 for 循環(huán)和if語句判斷此次借書是否和以前借書有重復(fù),若重復(fù),則提示讀者不能借兩本相同的書,若不重復(fù),則讓讀者輸入還書的日期,并把讀者的所借圖書量加一,并把圖書的現(xiàn)存量減一。 還書函數(shù) Return_Book(): 此函數(shù)也是以用圖書鏈表和讀者鏈表對讀者還書進(jìn)行操作,根據(jù)讀者輸入的圖書證號,利用 while 循環(huán)對讀者鏈表進(jìn)行遍歷,查找是否存在該讀者,若讀者不存在,則提示該讀者的圖書證號不存在,若讀者存在,根據(jù)讀者輸入的要還的圖書編號,再利用 while 循環(huán)遍歷是否存在該書,若該書不存在,則顯示此書編號不存在,若該書存在,則利用 for循環(huán)把讀者的圖書鏈表中要還書后面的書向前移一個(gè)單位,覆蓋掉鏈表中該書的信息,并把讀者的借書量減一,把圖書的現(xiàn)存量加一。 保存圖書函數(shù) Save_Book(): 此函數(shù)首先創(chuàng)建文件指針 FILE *fp_book,然后創(chuàng)建文件,把圖書鏈表中的圖書信息寫進(jìn)文件,寫入成功,則對圖書信息進(jìn)行保存,若寫入失敗,則釋放所有節(jié)點(diǎn)。 加載圖書信息 Load_Book(): 若讀者是再次登錄圖書系統(tǒng),則進(jìn)行對讀者的圖書信息進(jìn)行加載。通過fp=fopen(,rb)打開圖書文件,讀出讀者的信息,重新鏈入鏈表,從而達(dá)到對讀者圖書信息的加載。 保存讀者函數(shù) Save_Reader(): 此函數(shù)首先創(chuàng)建文件指針 FILE *fp_reader,然后創(chuàng)建文件,把 讀者鏈表中的讀者信息寫進(jìn)文件,寫入成功,則對讀者信息進(jìn)行保存,若寫入失敗,則釋放所有節(jié)點(diǎn)。 加載讀者函數(shù) Load_Reader(): 若讀者是再次登錄圖書系統(tǒng),則進(jìn)行對讀者的信息進(jìn)行加載。通過fp=fopen(,rb)打開讀者文件,讀出讀者的信息,重新鏈入鏈表,從而達(dá)到對讀者圖書信息的加載。 二、 概要設(shè)計(jì) 定義讀者鏈表和圖書鏈表 typedef struct book { char book_num[10]。 //定義圖書數(shù)量 char book_name[20]。 //定義圖書名稱 char book_writer[10]。 //定義圖書作者 int book_kc。 //定義圖書庫存量 int book_xy。 //定義圖書現(xiàn)有量 struct book *next。 //定義指向圖書的指針 }BK。 typedef struct borrow { char borrow_book_num[10]。 //定義讀者借書的圖書編號 char huanshu_date[8]。 //定義讀者的還書日期 }BW。 typedef struct reader { char reader_num[10]。 //定義讀者編號 char reader_name[10]。 //定義姓名 int zuida。 BW borrow[Max]。 //讀者最大借書量 struct reader *next。 //定義指向讀者指針 }RD。 BK *h_book。 //定義圖書鏈表 RD *h_reader。 //定義讀者鏈表 基本操作: void main() 操作結(jié)果:通過調(diào)用 Menu_select()函數(shù)來完成顯示主菜單。 int Find() 操作結(jié)果:顯示“查找功能菜單”。 void Find_Book() //查找圖書信息 操作結(jié)果:按照學(xué)號進(jìn)行查找,若找到則顯示該書的信息。找不到就 返回“此編號圖書不存在,請核對!”。 void Find_Reader() //查找讀者信息 操作結(jié)果:按照讀者的讀書證號進(jìn)行查找,找到了就顯示該讀者的信 息,若找不到則顯示“該讀書證號不存在,請核對!”。 void Init() { Init_reader()。 Init_book()。} 操作結(jié)果:實(shí)現(xiàn)讀者和圖書的初始化。 void Insert_New_Book() 操作結(jié)果:實(shí)現(xiàn)圖書 的存儲。分兩種情況: ; 在。 void Load() {Load_Reader()。 Load_Book()。} 操作結(jié)果:實(shí)現(xiàn)對讀者和圖書信息的加載。 void Save() {Save_Reader()。 Save_Book()。} 操作結(jié)果:實(shí)現(xiàn)對圖書和讀者信息的保存。 各功能模塊之間的關(guān)系圖如圖所示: 三、 詳細(xì)設(shè)計(jì) 主函數(shù)和其他函數(shù)的偽碼算法; : void Insert_New_Book() if含有該書,則將該書的庫存量和新加的數(shù)量相加得圖書的數(shù)量; else則 void Init_book()。 新書入庫Insert_bok()圖書管是否含該?初始化圖書Init_bok()將該圖書加入到庫NoYes : void Find_Book() if(strcmp(pbook_num,find_book)==0)顯示該書信息; else
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1