




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、南京航空航天大學C+福序設計課程設計報告圖書館管理系統姓名:學號:院系:信息科學與技術學院日期:2009.4.8謝謝觀賞目錄目錄2一、需求分析2二、系統主要功能2三、系統總框圖2四、定義的函數及說明3五、特色算法4六、源程序4謝謝觀賞一、需求分析在信息技術日益普及的今天,很多事物都在信息技術的幫助下成倍的提高了效率,同樣,如果一個圖書館能有一套有效的人事管理系統,這對于圖書館的日常管理是大有益處的。二、系統主要功能本系統提供了一個圖書館管理的平臺可,所提供的功能如下:1.借書2還書3顯示書庫4添加書籍5刪除書籍6編輯書籍7用戶登陸8用戶注冊9顯示用戶信息三、系統總框圖主控模塊四、定義的函數及說
2、明界面管理classlib_sys:圖書管理的功能部分intinput_data();從文件讀入數據intoutput_data();向文件輸出數據intuser_login();用戶登陸intcheck_user_right();檢查用戶權限intcheck_admin_right();檢查管理員權限bookedit_book_inner(bookk);編輯一本書(程序內部使用)bookadd_book_inner();添加一本書(程序內部使用)intshow_book_inner(bookk);顯示一本書(程序內部使用)intfind_book_inner(char*isbn);查找一本書
3、(程序內部使用)intfind_student_inner(char*username);查找一個學生(程序內部使用)intadd_book();添加書籍intedit_book(char*isbn);編輯書籍intdel_book(char*isbn,intmuch);刪除書籍intshow_book();顯示書籍intborrow_book();借書intreturn_book();還書intregister_user();用戶注冊char*get_username();返回當前用戶的用戶名intshow_user_detail();顯示用戶信息classManager:界面實現部分int
4、work();顯示和實現界面五、特色算法本程序把借書和用戶關聯在一起,而且出現的權限的概念,普通游客只能觀看書籍列表,普通用戶只能借書和還書,只有管理員才有權限對書籍信息和數量進行修改。注:當前默認管理員的帳戶和密碼都是admin六、源程序(見后頁)Main.cpp#includeManager.hmain()Managerk;k.work();return0;Book.h#ifndefBOOK_H#defineBOOK_Hclassbookprivate:charisbn50;charbookTitle50;charauthor50;charpublisher50;chardatepubli
5、shed50;intleft;friendclasslib_sys;#endifStudent.h#ifndefSTUDENT_H#defineSTUDENT_Hclassstudentprivate:charusername50;charpassword50;intnum;charisbn5050;friendclasslib_sys;#endifLib_sys.h#ifndefLIB_SYS_H#defineLIB_SYS_H#includebook.h#includestudent.hclasslib_sysprivate:intbook_tot;intstudent_tot;bookl
6、book100;studentlstudent100;charusername50;charpassword50;intuser_state;0isnouser,1isloginpublic:lib_sys()username0=0;password0=0;user_state=0;book_tot=0;student_tot=0;intinput_data();intoutput_data();intuser_login();intcheck_user_right();intcheck_admin_right();bookedit_book_inner(bookk);bookadd_book
7、_inner();intshow_book_inner(bookk);intfind_book_inner(char*isbn);intfind_student_inner(char*username);intadd_book();intedit_book(char*isbn);intdel_book(char*isbn,intmuch);intshow_book();intborrow_book();intreturn_book();intregister_user();char*get_username()returnusername;intshow_user_detail();;#end
8、ifLib_sys.cpp#includelib_sys.h#include#include#include#include#includeintlib_sys:input_data()inti,j;fstreamfbook,fstudent;fbook.open(book.dat,ios:in);fstudent.open(student.dat,ios:in);if(!fbook)return0;if(!fstudent)return0;fbookbook_tot;fbook.ignore();for(i=1;ilbooki.left;fbook.ignore();fbook.close(
9、);fstudentstudent_tot;fstudent.ignore();for(i=1;ilstudenti.num;fstudent.ignore();for(j=1;j=lstudenti.num;j+)fstudent.getline(lstudenti.isbnj,50);fstudent.close();return1;intlib_sys:output_data()inti,j;fstreamfbook,fstudent;fbook.open(book.dat,ios二out);fstudent.open(student.dat,ios:out);if(!fbook)ret
10、urn0;if(!fstudent)return0;fbookbook_totendl;for(i=1;i=book_tot;i+)fbooklbooki.isbnendl;fbooklbooki.bookTitleendl;fbooklbooki.authorendl;fbooklbooki.publisherendl;fbooklbooki.datepublishedendl;fbooklbooki.leftendl;fbook.close();fstudentstudent_totendl;for(i=1;i=student_tot;i+)fstudentlstudenti.userna
11、meendl;fstudentlstudenti.passwordendl;fstudentlstudenti.numendl;for(j=1;j=lstudenti.num;j+)fstudentlstudenti.isbnjendl;fstudent.close();return1;intlib_sys:user_login()charua50,pw50;inti;coutusername:;cin.getline(ua,50);coutpassword:;cin.getline(pw,50);for(i=1;i=student_tot;i+)/coutlstudenti.username
12、endllstudenti.password&endl;if(strcmp(lstudenti.username,ua)=0strcmp(lstudenti.password,pw)=0)user_state=1;strcpy(username,ua);strcpy(password,pw);/coutusernameendl;/coutpasswordendl;break;if(user_state)coutLoginsuccessfully.n;elsecoutUsernotexistorwrongpassword.n;returnuser_state;intlib_sys:check_u
13、ser_right()returnuser_state;intlib_sys:check_admin_right()if(!user_state)return0;if(strcmp(username,admin)=0&strcmp(password,admin)=0)return1;return0;booklib_sys:edit_book_inner(bookk)charch;charst50;if(!check_admin_right()returnk;ch=0;while(!(ch=6)system(cls);cout請輸入要修改的項目,在新數據輸入狀態下直接回車表示取消彳改n;cout
14、1.isbnn;cout2.書名n;cout3.作者n”;cout4.出版社n;cout5.出版時間n;cout6.確定n”;cout.flush();ch=getch();switch(ch)case1:cout當前的isbn是:k.isbnendl;cout請輸入新數據:;cin.getline(st,50);if(!strlen(st)=0)strcpy(k.isbn,st);break;case2:cout當前的書名是:k.bookTitleendl;cout請輸入新數據:;cin.getline(st,50);if(!strlen(st)=0)strcpy(k.bookTitle,s
15、t);break;case3:cout當前的作者是:k.authorendl;cout請輸入新數據:;cin.getline(st,50);if(!strlen(st)=0)strcpy(k.author,st);break;case4:cout當前的出版社是:k.publisherendl;cout請輸入新數據:;cin.getline(st,50);if(!strlen(st)=0)strcpy(k.publisher,st);break; endl;case5:cout”當前的出版時間是:k.datepublishedcout請輸入新數據:;cin.getline(st,50);if(!
16、strlen(st)=0)strcpy(k.datepublished,st);break;case6:returnk;break;default:cout輸入錯誤n;cout.flush();returnk;booklib_sys:add_book_inner()bookk;charst50;intw;if(!check_admin_right()returnk;cout請輸入書籍信息,isbn為必填項n;cout請輸入isbn:;cin.getline(st,50);strcpy(k.isbn,st);cout請輸入書名:;cin.getline(st,50);strcpy(k.bookT
17、itle,st);cout請輸入作者:;cin.getline(st,50);strcpy(k.author,st);cout請輸入出版社:;cin.getline(st,50);strcpy(k.publisher,st);cout請輸入出版時間:cin.getline(st,50);strcpy(k.datepublished,st);coutw;k.left=w;returnk;intlib_sys:show_book_inner(bookk)coutendl;coutisbn:k.isbnendl;cout書名:k.bookTitleendl;cout作者:k.authorendl;c
18、out出版社:k.publisherendl;cout出版時間:k.datepublishedendl;cout數量:k.leftendl;return1;intlib_sys:find_book_inner(char*isbn)inti;for(i=1;i=book_tot;i+)if(strcmp(lbooki.isbn,isbn)=0)break;if(i=book_tot&strcmp(lbooki.isbn,isbn)=0)returni;elsereturn0;intlib_sys:find_student_inner(char*username)inti;for(i=1;i=st
19、udent_tot;i+)if(strcmp(lstudenti.username,username)=0)break;if(i=student_tot&strcmp(lstudenti.username,username)=0)returni;elsereturn0;intlib_sys:add_book()inti;bookk;if(!check_admin_right()return0;k=add_book_inner();for(i=1;i=book_tot;i+)if(strcmp(lbooki.isbn,k.isbn)=0)break;if(i=book_tot&strcmp(lb
20、ooki.isbn,k.isbn)=0)lbooki.left+=k.left;elseif(strlen(k.isbn)=0)return0;elsebook_tot+;lbookbook_tot=k;return1;intlib_sys:edit_book(char*isbn)inti;bookk;if(!check_admin_right()return0;for(i=1;i=book_tot;i+)if(strcmp(lbooki.isbn,isbn)=0)break;if(i=book_tot&strcmp(lbooki.isbn,isbn)=0)k=lbooki;k=edit_bo
21、ok_inner(k);lbooki=k;return1;return0;intlib_sys:del_book(char*isbn,intmuch)inti,j;if(!check_admin_right()return0;for(i=1;i=book_tot;i+)if(strcmp(lbooki.isbn,isbn)=0)break;if(imuch)lbooki.left-=much;elsefor(j=i;j=book_tot-1;j+)lbookj=lbookj+1;return1;return0;intlib_sys:show_book()inti;cout總數:book_tot
22、endl;for(i=1;i=book_tot;i+)show_book_inner(lbooki);return1;intlib_sys:borrow_book()charisbn50;intp,s,much,i;if(!check_user_right()return0;cout請輸入數的isbn:;cin.getline(isbn,50);if(!(p=find_book_inner(isbn)return0;if(!(s=find_student_inner(username)return0;coutmuch;if(lbookp.leftmuch)cout剩余量不足n”;return0
23、;elseif(10-lstudents.nummuch)cout您目前不能借這么多書n;return0;elselbookp.left-=much;for(i=1;i=much;i+)strcpy(lstudents.isbni+lstudents.num,isbn);lstudents.num+=much;return1;intlib_sys:return_book()charisbn50;intp,s,much,r,w,i,j;if(!check_user_right()return0;cout請輸入數的isbn:;cin.getline(isbn,50);if(!(p=find_boo
24、k_inner(isbn)return0;if(!(s=find_student_inner(username)return0;coutmuch;for(w=1;w=much;w+)r=0;for(i=1;i=lstudents.num;i+)if(strcmp(lstudents.isbni,isbn)=0)for(j=i;j=lstudents.num-1;j+)strcpy(lstudents.isbnj,lstudents.isbnj+1);lstudents.num-;lbookp.left+;r=1;break;if(!r)cout您沒有借這么多書n;if(w=1)return0;
25、break;return1;intlib_sys:register_user()charst50;inti;cout用戶名:;cin.getline(st,50);for(i=1;i=student_tot;i+)if(strcmp(lstudenti.username,st)=0)cout用戶已存在n;return0;student_tot+;strcpy(lstudentstudent_tot.username,st);cout密碼:;cin.getline(st,50);strcpy(lstudentstudent_tot.password,st);lstudentstudent_tot
26、.num=0;return1;intlib_sys:show_user_detail()ints,i;if(!check_user_right()return0;if(!(s=find_student_inner(username)return0;cout當前用戶:usernameendl;cout已借書籍總數:lstudents.num0)cout所借書籍isbn如下:n;for(i=1;i=lstudents.num;i+)coutlstudents.isbniendl;return1;Manager.h#ifndefMANAGER#defineMANAGER#includelib_sys
27、.hclassManagerprivate:lib_sysmsys;public:Manager()msys.input_data();intwork();#endifManager.cpp#includeManager.h#include#include#includeintManager:work()charch;charst50;intw;dosystem(cls);cout圖書館管理系統nn;cout當前用戶:;if(msys.check_user_right()coutmsys.get_username()endl;elsecout游客n;coutendl;cout1.借書n”;cout2.還書n”;cout3.顯示書庫n;if(msys.check_admin_right()cout4.添加書籍n;cout5.刪除書籍n;cout6.編輯書籍n;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校晾衣間管理制度
- 學校精準化管理制度
- 學校近出入管理制度
- 學生奶公司管理制度
- 孵化園公司管理制度
- 安全告知牌管理制度
- 安全附加件管理制度
- 完善實訓室管理制度
- 寶鋼吸煙區管理制度
- 實驗室家具管理制度
- 2025年高考江蘇卷物理真題(解析版)
- 2025年重慶市中考化學試卷真題(含標準答案)
- 醫院檢驗科實驗室生物安全程序文件SOP
- 埋針治療評分標準
- 2022 年湖南省長沙市雨花區金海中學小升初數學試卷
- 行業標準:GB∕T 9254.2-2021 信息技術設備、多媒體設備和接收機 電磁兼容 第2部分:抗擾度要求
- 合伙公司管理制度規定辦法
- 混凝土護欄技術交底
- 發動機裝調工:高級發動機裝調工試題及答案
- 藥物臨床試驗的倫理審查課件
- EHS目標與指標管理一覽表
評論
0/150
提交評論