九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

《圖書館管理系統(tǒng)》word版.doc

  • 資源ID:7885439       資源大小:799.50KB        全文頁數(shù):56頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

《圖書館管理系統(tǒng)》word版.doc

需求說明大功能模塊及其小功能模塊說明 1.圖書查找模塊。依據(jù)書名,作者,出版社,類別,編號中的一個,查詢這本書的其它信息。每一種查詢方式為一個小模塊;2.圖書借閱。實(shí)現(xiàn)圖書借還,預(yù)約功能。包括兩個小模塊:借書(預(yù)約功能包括在了借書模塊中),還書。3.信息查詢管理。包括以下幾三個小模塊:查詢管理自身或其他用戶的信息(不同的帳號類型能查詢?nèi)巳翰煌?,查詢所得的信息有用戶基本信息,用戶歷史借閱記錄,用戶是否被封號。管理用戶信息僅管理員有該權(quán)限,管理員可手動封號),更改個人賬戶密碼,查看圖書借閱率;4.圖書購入。僅有一個模塊。 還有部分功能的實(shí)現(xiàn)未劃分在這四大模塊中,單獨(dú)用函數(shù)實(shí)現(xiàn)。如:用戶登錄,新用戶注冊,系統(tǒng)根據(jù)用戶是否有借書逾期未還封號(有則封號,若用戶還了逾期未還的書則系統(tǒng)會解封)詳細(xì)請見各模塊設(shè)計(jì)說明。開發(fā)環(huán)境:DevC+,windows 7(32位)若一直在登錄界面未登錄,時間向前推進(jìn)選擇是否登錄錄界面總體結(jié)構(gòu):若選擇登錄,輸入帳號,密碼 登錄失敗(密碼錯誤),重新登錄(登錄成功),選擇要進(jìn)行的操作退出登錄信息查詢管理圖書購入借書還書圖書查詢數(shù)據(jù)文件說明: “information.txt”:存儲圖書基本信息,程序運(yùn)行時將文件中的信息導(dǎo)入到鏈表head中,以便使用。每一行的格式相同,否則在將文件中信息導(dǎo)入到鏈表時會出錯。每一行保存一本書的信息,按照順序分別為:圖書編號,書名,作者,出版社,類別,時間,價格。在執(zhí)行了添加圖書這一操作后,更新這個文件。 “users.txt”:存儲用戶基本信息,登錄信息.程序運(yùn)行時將文件中的信息導(dǎo)入到鏈表“head2”中,以便使用。每一行保存一個用戶的信息,分別為帳號,密碼。若用戶更改了密碼,則該文件會相應(yīng)的更新。 “Completereord.txt”:存儲已完成的借閱記錄,程序運(yùn)行時將文件中的信息導(dǎo)入到“headcomplete”這個鏈表中,以便使用。每一行為一本書的記錄,依次表示書的編號,借書的人的帳號,借書時間,還書時間。在還書時,會生成一條新紀(jì)錄,并更新到文件中?!癠ncompletereord.txt”:存儲未完的借書記錄。程序運(yùn)行時將文件中的信息導(dǎo)入到“headUncomplete”這個鏈表中,以便使用。每一行為一條未完成的借閱記錄,一次表示借出去的書的編號,借書人帳號,借書時間,是否有人預(yù)約,預(yù)約者帳號(即預(yù)約者編號)。每借出一本書,會生成包括借書人帳號,書的編號,日期的借書記錄,并更新到文件中。每還一本書,會依據(jù)書的編號找到對應(yīng)的“未完成記錄”,刪除。對應(yīng)的文件作處理(將文件中第一行全賦值為0),避免要刪除的記錄恰好在頭節(jié)點(diǎn)上. “Userstate.txt”:存儲用戶狀態(tài)。程序運(yùn)行時將文件中的信息導(dǎo)入到“headuserstate”這個鏈表中,以便使用。每一行為一個用戶的狀態(tài),依次為這個帳號是否被封,帳號,現(xiàn)在借了幾本書,是否預(yù)約書,預(yù)約書的編號。若用戶借的書逾期不還,則會被封號,封號后不能再借書。若預(yù)約的書被還,則用戶在登錄時會收到提醒,但這本被預(yù)約的書可以被其他人借走“rate.txt”:存儲每本書的歷史借閱次數(shù)。程序運(yùn)行時將文件中的信息導(dǎo)入到“headrate”這個鏈表中,以便使用。每一行為一本書的借閱次數(shù),依次表示書的編號,這本書的借閱次數(shù)。每借出一本書,變會讓這本書的借閱次數(shù)加一。在查看借閱率時會將借閱次數(shù)最多的前五本書輸出。若是新購入的圖書,在第一次借出時會添加到鏈表中。 各模塊設(shè)計(jì)說明 先說明用戶登錄功能的實(shí)現(xiàn),登錄的實(shí)現(xiàn)是圖書查找模塊,圖書添加模塊,圖書購入,圖書借閱模塊實(shí)現(xiàn)的前提。分為三類用戶:管理員,教師,學(xué)生。帳號(即學(xué)生學(xué)號,教師管理員的工號)的長度為10位,第一位用以區(qū)分用戶類別,1:管理員,2:教師,3:學(xué)生。第二到五位為入學(xué)年份(或參加工作年份),第六到七位為所屬學(xué)院,最后三位為院內(nèi)編號。 登陸過程:在main函數(shù)中定義兩個變量int accounts,char passwords10,要登陸時先提示用戶輸入帳號及密碼,經(jīng)登錄函數(shù)int login處理,若返回1,則登陸成功,再進(jìn)行下一步動作;若返回0,說明登陸失敗,此時會提示登陸失敗的原因:密碼錯誤,并提示用戶重新輸入帳號密碼。 參考學(xué)校圖書館系統(tǒng)新用戶注冊機(jī)制,本系統(tǒng)注冊機(jī)制為:輸入學(xué)生學(xué)號(或工號),若是第一次登陸,則密碼默認(rèn)為學(xué)號(或工號的后六位),登錄成功后會提示用戶是第一次登錄并建議用戶更改帳號密碼。第一次登陸后該用戶信息會添加到對應(yīng)的文件中,下次登錄時身份為已注冊用戶。 1. 圖書查找模塊將圖書的基本信息保存在一個名為information的文本文件中,程序運(yùn)行時,先將文件中圖書的信息導(dǎo)入到鏈表head中。查詢圖書信息時,用戶先選擇按哪種方式查詢,每種查詢的完成通過遍歷鏈表head完成,并輸出其他信息。下面說明具體查找算法。判斷搜索的類型,然后轉(zhuǎn)到相應(yīng)的條件處。若是按書名搜索,先將要搜索的內(nèi)容存放到數(shù)組里面;然后從存放書本信息的文件里讀取書名,采用BF算法,即樸素模式匹配算法,在書名里查找輸入的子串。若是按作者、出版社、類別、圖書編號來查找的話,則用全匹配的方法,只有輸入的信息與文件內(nèi)容的完全相同,才會輸出所要搜索的圖書信息,否則顯示為無所要查找的圖書信息。圖書編碼說明:圖書的編碼為六位,前兩位代表圖書類別,01:educate,02:novels,03:history,04:musics(當(dāng)前就只有這么幾種圖書類別,之后會添加),最多可以有99中類型的書。中間兩位為同一類型中的不同書,同一類別下的圖書最多可以有99本不同的書。最后兩位表示同一本書的不同編號,圖書館中同樣的一本書有許多本,編上不同的編號,同一本書最大數(shù)量為99本。2.圖書購入購入添加新的圖書時,編碼方式:前兩位代表圖書類別,01:educate,02:novels,03:history,04:musics,中間兩位按照這類圖書中已有多少本編碼,若已有20本,則中間兩位為21.最后兩位依據(jù)圖書的數(shù)量編碼,若有10本,則最后兩位從01到10.添加時提示用戶先選擇添加的圖書是庫中已有的還是庫中沒有的。若是庫中已有的書,則輸入庫中這本書最大的編號max,添加的數(shù)量。添加的第一本書的ID為max+1,第二本為max+2,以此類推,書的其它信息不用輸入,直接賦值就行。若添加的書庫中沒有,則需輸入書名,類別,作者出版社等基本信息。書的編號的生成方式為:前兩位為書的類別;中間兩位,若這類書已有3本,則中間兩位為04,若這類書有5本,則為06;最后兩位從01開始,有多少本書就編碼到幾。添加完后書的信息保存在鏈表中,并更新到文件中。每添加一本書,會在鏈表head中添加一個節(jié)點(diǎn)(若是已有的書,在鏈表中部添加這這節(jié)點(diǎn),且上一個節(jié)點(diǎn)保存的書的ID比這本書恰好小1;若是庫中沒有的書,則在鏈表尾部添加節(jié)點(diǎn))以保存它的信息。在添加完畢后會將鏈表中的信息重新寫進(jìn)Information.Txt。3. 信息查詢管理。執(zhí)行此功能之前已登錄,按照用戶帳號的編碼方式可自動區(qū)分用戶是學(xué)生還是教師或者是管理員。對于學(xué)生,只能查詢自己的信息,如:學(xué)院,年級,借閱了幾本書,;對于老師,則可查詢自身和學(xué)生的信息;管理員則可以查詢所有老師學(xué)生的信息。查詢其它用戶信息時先輸入要查詢的人的帳號,遍歷鏈表head2及headUserstate以找到對應(yīng)的用戶,找到后輸出相關(guān)信息。特別的,管理員具有封號的權(quán)限,若一個帳號被封,則該賬戶無法再借書,直至被解封。封號的實(shí)現(xiàn),通過修改headUserstate中節(jié)點(diǎn)的信息實(shí)現(xiàn)。鏈表headUserstate中的信息會更新到文件Userstate.txt中。改密碼,改密碼需兩次輸入新密碼,若兩次的輸入有不同,會提示用戶兩次輸入的密碼不一樣,要求用戶重新輸入新密碼。改密碼會改變鏈表head2中對應(yīng)的節(jié)點(diǎn)中的password10。鏈表head2中的信息會及時更新到文件Users中。三種類型用戶都可以查看借閱率。通過遍歷鏈表headrate實(shí)現(xiàn)。4.圖書借閱借書預(yù)約:進(jìn)入系統(tǒng)時已登錄,借書時用戶需輸入借幾本書。若借完這些書后未超過借書上限,則進(jìn)入下一步,否則會讓用戶超過個人借書上限,需重新輸入要借書的數(shù)量。若未超過上限,則輸入每本書的ID。對每一本書進(jìn)行判斷,判斷是否能借。判斷一本書是否能借的方法為遍歷未完成的借書記錄(即鏈表headUncomplete),若在記錄中沒有這本書說明這本書可以借(沒被借出,或借出但已經(jīng)歸還)。每借一本書會生成一條未完成的借閱記錄,依據(jù)書的編號創(chuàng)建,包括借書人編號,借閱時間,是否有人預(yù)約,(若預(yù)約)預(yù)約者編號。若記錄中有這本書則說明這邊書已經(jīng)借出,用戶可選擇是否預(yù)約。選擇預(yù)約,會修改未完成記錄中這本書對應(yīng)的記錄。將是否有人預(yù)約該成有(當(dāng)一條未完成記錄生成時默認(rèn)沒有人預(yù)約),并修改預(yù)約者編號(默認(rèn)狀態(tài)下為00000000).當(dāng)預(yù)約的書被還,預(yù)約者登錄時,用戶會收到提示。還書:還書時輸入還書的數(shù)量及每本書的編號。每還一本書,會刪除未完成記錄中這本書對應(yīng)的記錄(若這本書被預(yù)約,刪除之前會修改用戶狀態(tài)中表示已預(yù)約的書的狀態(tài)的變量,從而在用戶登錄時能收到提醒)。在已完成記錄(即鏈表headComplete)中添加一條,包括書的編號,借閱者編號,借閱日期,還書日期。鏈表中的信息會及時更新到對應(yīng)的文件中。系統(tǒng)自動封號功能說明:遍歷未完成的借書記錄,若有逾期未還的書,則系統(tǒng)會自動封了這本書的借書人的帳號,這本書被還時會解封對應(yīng)的帳號 Main函數(shù)中變量及數(shù)據(jù)結(jié)構(gòu)體說明:int choice,choice2,exist;/作用:功能選擇int account;/存儲用戶帳號int i=0,ss=0,de=0;/計(jì)數(shù)變量int Time;/系統(tǒng)時間char password10;/存儲用戶登錄時輸入的密碼FILE *timefile;/保存系統(tǒng)時間的文件指針下面的指針都是指向?qū)?yīng)鏈表的頭節(jié)點(diǎn)。struct Information *head=NULL;/保存圖書信息struct Users *head2=NULL;/保存用戶帳號,密碼struct UncompleteRecords *headUncomplete=NULL;/保存未完成的借閱記錄struct Userstate *headUserstate=NULL;/保存用戶帳號信息struct CompleteRecords *headComplete=NULL;/保存已完成借閱記錄struct rate *headrate=NULL;/保存每本書的借閱次數(shù)。1.struct Information/圖書基本信息 int number;/圖書編號 char name30;/書名 char writer30;/作者 char press30;/出版社 char kinds20;/類別 int time;/出版時間 float price;/圖書價格 int amount;/備注:這個變量沒用 struct Information *next; ; 2.struct Users用戶基本信息 int account;/用戶帳號,也就是用戶ID char password10; /登錄密碼 struct Users *next2; ;/ 3.struct CompleteRecords/已完成的借閱記錄 int booknumber;/已經(jīng)完成的借還,包括書的編號 int userID;/借閱人ID int borrowtime;/借閱時間 int returntime;/還書時間 struct CompleteRecords *Completenext; ;/每還一本書,在鏈表尾添加一個節(jié)點(diǎn)。 4.struct UncompleteRecords/ 未完成的借閱記錄 / int bookID;/于借出狀態(tài)的圖書的編號 int user;/ 借書人 int time;/ 借閱日期 int reserve;/reserve=1 有人預(yù)約,0 無人預(yù)約.有 int reserveID;/ struct UncompleteRecords *Uncompletenext; ;/借一本,在鏈表尾添加一個節(jié)點(diǎn),還一本,刪除對應(yīng)的節(jié)點(diǎn) 設(shè)置reserve及reserveID以實(shí)現(xiàn)圖書預(yù)約。有人預(yù)約書時修改reserve的值,并將預(yù)約人的帳號保存在reserveID中。在這本書被還,這條“未完成的借書記錄”被刪除之,修改用戶狀態(tài)信息,在用戶登錄時會提示預(yù)約的書可以借了。5.struct Userstate/用戶狀態(tài) int ban;/用來判斷帳號是否被封,被封則無法借書,0 表示此號被封,1 表示此號未被封,正常使用中 int ID;/用戶ID int numbers;/用戶已經(jīng)借閱的圖書的數(shù)量(上限:學(xué)生5本,老師10本,管理員10本) int reserve;/值為0 表示沒有預(yù)約,值為1表示預(yù)約了,值2表示預(yù)約的書可以借 int reserveID;/預(yù)約書的編號 struct Userstate *Userstatenext; ; 6.struct rate/每本書的歷史借閱次數(shù) int bookID; int times; struct rate *ratenext; ; 范例執(zhí)行過程及結(jié)果運(yùn)行后的選擇登錄界面,若不登錄時間則推進(jìn)。進(jìn)入登錄界面,輸入帳號,按回車,再輸入密碼輸入的帳號為第一次登錄,即新用戶,密碼為帳號的后六位,若密碼輸入錯誤,則給出提示并重新輸入登錄成功,選擇要進(jìn)行的操作。由于是第一次操作,對用戶給出提示。輸入1,選擇了圖書查詢,再選擇查詢方式。選擇了按書名查詢,輸入的是Gone,由于Gone_With_The_Wind這個書名和輸入最相似,因此輸出這本書的信息。若按照其它依據(jù)查詢,用的是完全匹配算法,輸入字符串的一部分只會打印出庫中沒有。圖書查詢操作執(zhí)行完畢后,轉(zhuǎn)回功能選擇界面。選擇借書,回車,輸入要借書的數(shù)量,回車,會提示輸入要借的書的編號。010103這本書已經(jīng)被借出,選擇預(yù)約,另一本書借閱成功。 借書操作執(zhí)行完畢后,返回上一級,再進(jìn)入信息查詢管理界面查看個人信息,查看借閱率,修改個人帳號密碼 該用戶是學(xué)生,若該用戶選擇了自己沒有權(quán)限執(zhí)行的操作,系統(tǒng)會提示。退出登錄,帳號120001001(管理員)登錄,還010103這本書。該管理員進(jìn)入信息查詢管理界面,先查詢自己的信息 管理員查詢其它用戶信息管理員封號,封號后再次查詢所封號的信息 管理員執(zhí)行圖書添加操作 管理員退出登錄,帳號320133003登錄(即本文檔開頭登錄的那個帳號),預(yù)約的書被還,系統(tǒng)提示用戶。在未完成的借書記錄中有一本書是5月16號借的(期限30天),此時是6月18號,以超越期限.系統(tǒng)自動封號。說明:圖書編號,用戶信息均存于txt文件中,若txt文件被更改或損壞,則范例無法正常執(zhí)行。#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>#include <conio.h>#include<time.h>char de=1;struct Information int number; char name30; char writer30; char press30; char kinds20; int time; float price; /int amount;/掘蛁蠶衾骯珨掛抎衄嗣跺晤瘍眕極珋杅講涴跺曹講羶蚚 struct Information *next; ;struct Users int account; char password10; struct Users *next2; ;/蜆賦凳腔曹講剒猁孺喃崝樓悵湔蚚誧俷靡俶梗脹價掛陓洘腔曹講struct CompleteRecords int booknumber;/眒冪俇傖腔質(zhì)遜婦嬤抎腔晤瘍 int userID;/質(zhì)堐ID int borrowtime;/質(zhì)堐奀潔 int returntime;/遜抎奀潔 struct CompleteRecords *Completenext; ;/藩遜珨掛抎婓蟈桶帣氝樓珨跺誹萸struct UncompleteRecords/勤茼腔恅璃釬揭燴旌轎猁刉壺腔暮翹疑婓芛誹萸奻,偌抎腔晤瘍齬疑佼唗 /質(zhì)抎奀硐猁猁質(zhì)腔抎帤婓眒質(zhì)堤腔摩磁囀寀褫眕質(zhì)瘁寀褫眕啎埮蚚媼峎杅郪湔揣 int bookID;/衾質(zhì)堤袨怓腔芞抎腔晤瘍 int user;/ 質(zhì)抎 int time;/ 質(zhì)堐 int reserve;/reserve=1 衄啎埮0 拸啎埮 int reserveID;/ struct UncompleteRecords *Uncompletenext; ;/質(zhì)珨掛婓蟈桶帣氝樓珨跺誹萸遜珨掛刉壺勤茼腔誹萸struct Userstate/偌蚚誧ID齬疑佼唗 int ban;/蚚懂瓚剿梛瘍岆瘁掩猾掩猾寀拸楊質(zhì)抎,0 桶尨森瘍秪質(zhì)腔抎貣帤遜掩猾1 桶尨森瘍帤掩猾淏都妏蚚笢 ,2桶尨森梛瘍秪坳埻秪掩奪燴埜猾 int ID;/蚚誧ID int numbers;/蚚誧眒冪質(zhì)堐腔芞抎腔杅講奻癹悝汜5掛橾呇10掛奪燴埜15掛 int reserve;/啎埮腔抎腔杅醴 int reserveID;/郔嗣褫啎埮珨掛 struct Userstate *Userstatenext; ;struct rate/悵湔質(zhì)堐薹 int bookID;/抎腔晤瘍 int times;/盪妢質(zhì)堐棒杅 struct rate *ratenext; ;struct Information *read();/植恅璃笢絳芞抎陓洘struct Users *read2();/植恅璃笢絳蚚誧陓洘struct CompleteRecords *readcomplete();struct UncompleteRecords *readuncomplete();struct Userstate *readstate();struct rate *readrate();void prompt(int choice);/髡夔恁寁滲杅void search(struct Information *head);/籵抎靡麼釬氪麼堤唳扦麼濬梗脤戙芞抎陓洘int login(struct Users *head2,struct Userstate *headUserstate,int account,char password10);void changepassword(struct Users *head2,int account,char password10);void borrowbook(struct UncompleteRecords *headUncomplete, struct Userstate *Userstatehead,struct rate *ratehead,int account,int Time);/黨蜊蟈桶帤俇傖腔質(zhì)抎暮翹袨怓笢腔陓洘void returnbook(struct Userstate *headUserstate,struct UncompleteRecords *headUncomplete,struct CompleteRecords *headComplete,int account,int Time);/黨蜊涴跺蟈桶void lookusers(struct Userstate *headUserstate,struct UncompleteRecords *headUncomplete,struct CompleteRecords *headComplete,int account);/脤艘蚚誧價掛陓洘蚚誧袨怓void Borrowingrate(struct rate *ratehead);/質(zhì)堐薹脤戙void borrowrecords(struct UncompleteRecords *headUncomplete,struct CompleteRecords *headComplete,int account);/脤戙甜湖荂堤蚚誧腔質(zhì)堐暮翹void addbook(struct Information *head,struct rate *headrate,int time);void check(struct UncompleteRecords *headUncomplete,struct Userstate *headstate,int Time);/潰脤岆瘁衄猁善腔抎猁遜,貣祥遜寀猾瘍 ;甜賤猾梛瘍void updateInformation(struct Information *head);void updatefiles(struct CompleteRecords *headComplete,struct UncompleteRecords *headUncomplete,struct Userstate *Userstatehead,struct rate *ratehead);DWORD WINAPI ThreadProc1(LPVOID lpParam)de=getch();main() int choice,choice2,exist; int account; int i=0,ss=0; int Time,timego=0; int year,month,day; char password10; struct Information *head=NULL; struct Users *head2=NULL; struct UncompleteRecords *headUncomplete=NULL; struct Userstate *headUserstate=NULL; struct CompleteRecords *headComplete=NULL; struct rate *headrate=NULL; FILE *timefile; timefile=fopen("time.txt","r"); if(timefile=NULL) printf("恅璃湖羲囮啖n"); else fscanf(timefile,"%dn",&Time); fclose(timefile); head=read(); head2=read2(); headUncomplete=readuncomplete(); headUserstate=readstate(); headComplete=readcomplete(); headrate=readrate(); while(de!=0)/奀潔腔芢輛 ,恅璃載陔筍蠶衾帤芢堤最唗祥蚚婬笭陔絳跪恅璃腔陓洘善蟈桶笢 i=0; / printf(" *紱釬2 腎翹,0 豖堤炵苀* %d爛%d堎%d",Time/10000,(Time/100)%10,Time%100); CreateThread(NULL,0,ThreadProc1,NULL,0,NULL); while(de=1) printf(" >>辣茩懂善芞抎奪燴炵苀<<n"); printf(" *紱釬2 腎翹,0 豖堤炵苀* %d爛%d堎%d",Time/10000,(Time/100)%10,Time%100); Sleep(3000);/匐鏃囀拸懷寀奀潔砃芢輛珨毞 system("cls"); if(Time%100=30&&(Time/100)%10=12) Time=Time+8871; else if(Time%100=30) Time=Time+100-29; else Time=Time+1; if(month=13) month=1; if(de=2) printf(" <<<<<<炵苀奀潔%d>>>>>>n",Time); printf(" 梛瘍");/蚚誧岆菴珨棒腎翻躇鎢峈梛瘍腔綴鞠弇斛剕載蜊躇鎢 fflush(stdin); scanf("%d",&account); printf(" 躇鎢"); fflush(stdin); scanf("%c",&passwordi); while(passwordi!=n) i+; scanf("%c",&passwordi); while(login(head2,headUserstate,account,password)=0) i=0; printf(" 梛瘍"); scanf("%d",&account); printf(" 躇鎢"); fflush(stdin); scanf("%c",&passwordi); while(passwordi!=n) i+; scanf("%c",&passwordi); printf("*n"); printf(" 紱釬 1:脤戙芞抎陓洘;n 2:芞抎質(zhì)堐;n 3:陓洘脤戙奪燴;n 4:芞抎劃躺奪燴埜繭衄蜆癹);n 0:豖堤腎翹n"); printf("*n"); scanf("%d",&choice); prompt(choice); while(choice!=0) switch(choice) case 1: search(head); break; case 2: printf(" 1 質(zhì)抎 2 遜抎0 殿隙奻珨撰"); scanf("%d",&choice2); while(choice2!=0) if(choice2=1) borrowbook(headUncomplete,headUserstate,headrate,account,Time); else if(choice2=2) returnbook(headUserstate,headUncomplete,headComplete,account,Time); else if(choice2!=0) printf("準(zhǔn)楊懷笭陔恁寁紱釬"); printf(" 1 質(zhì)抎 2 遜抎0 殿隙奻珨撰"); scanf("%d",&choice2); break; case 3: printf("紱釬 1脤戙蚚誧陓洘2黨蜊梛瘍腔躇鎢,3:脤艘質(zhì)堐薹 0:殿隙奻珨撰"); scanf("%d",&choice2); while(choice2!=0) if(choice2=1) printf("n *脤戙蚚誧陓洘*n"); lookusers(headUserstate,headUncomplete,headComplete,account); else if(choice2=2) printf("n *黨蜊躇鎢*n"); changepassword(head2,account,password); else if(choice=3) printf("n *脤艘質(zhì)堐薹*n"); Borrowingrate(headrate); printf("紱釬 1脤戙蚚誧陓洘2黨蜊梛瘍腔躇鎢,3:脤艘質(zhì)堐薹,0:殿隙奻珨撰"); scanf("%d",&choice2); break; case 4: if(account/100000000=1) addbook(head,headrate,Time); updateInformation(head); else printf(" !蠟羶衄蜆癹!n"); break; printf("n 紱釬:1:脤戙芞抎陓洘;n 2:芞抎質(zhì)堐;n 3:陓洘脤戙奪燴;n 4:芞抎劃躺奪燴埜繭衄蜆癹);n 0:豖堤腎翹"); scanf("%d",&choice); prompt(choice); check(headUncomplete,headUserstate,Time); updatefiles(headComplete,headUncomplete,headUserstate,headrate); de=1; system("pause"); system("cls"); timefile=fopen("time.txt","w"); if(timefile=NULL) printf("恅璃湖羲囮啖n"); else fprintf(timefile,"%d",Time); fclose(timefile); struct Information *read() FILE *fileptr; struct Information *head,*crruent,*temp; head=crruent=NULL; fileptr=fopen("information.txt","r"); if(fileptr=NULL) printf("恅璃湖羲囮啖n"); else while(!feof(fileptr) temp=(struct Information *)malloc(sizeof(struct Information); fscanf(fileptr,"%d%s%s%s%s%d%fn",&(temp->number),temp->name,temp->writer,temp->press,temp->kinds,&(temp->time),&(temp->price); if(head=NULL) head=temp; else crruent->next=temp; crruent=temp; crruent->next=NULL; fclose(fileptr); return head; struct Users *read2() FILE *fileptr; struct Users *head,*crruent,*temp; head=crruent=NULL; fileptr=fopen("Users.txt","r"); if(fileptr=NULL) printf("恅璃湖羲囮啖n"); else while(!feof(fileptr) temp=(struct Users *)malloc(sizeof(struct Users); fscanf(fileptr,"%d%sn",&(temp->account),temp->password); if(head=NULL) head=temp; else crruent->next2=temp; crruent=temp; crruent->next2=NULL; fclose(fileptr); return head; struct CompleteRecords *readcomplete() FILE *fileptr; struct CompleteRecords *head,*crruent,*temp; head=crruent=NULL; fileptr=fopen("CompleteRecord.txt","r"); if(fileptr=NULL) printf("恅璃湖羲囮啖n"); else while(!feof(fileptr) temp=(struct CompleteRecords *)malloc(sizeof(struct CompleteRecords); fscanf(fileptr,"%d%d%d%dn",&(temp->booknumber),&(temp->userID),&(temp->borrowtime),&(temp->returntime); if(head=NULL) head=temp; else crruent->Completenext=temp; crruent=temp; crruent->Completenext=NULL; fclose(fileptr); return head; struct UncompleteRecords *readuncomplete() FILE *fileptr; struct UncompleteRecords *head,*crruent,*temp; head=crruent=NULL; fileptr=fopen("UncompleteRecord.txt","r"); if(fileptr=NULL) printf("恅璃湖羲囮啖n"); else while(!feof(fileptr) temp=(struct UncompleteRecords *)malloc(sizeof(struct UncompleteRecords); fscanf(fileptr,"%d%d%d%d%dn",&(temp->bookID),&(temp->user),&(temp->time),&(temp->reserve),&

注意事項(xiàng)

本文(《圖書館管理系統(tǒng)》word版.doc)為本站會員(wux****ua)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!