南航 图书馆管理系统课设Word文档格式.docx
- 文档编号:697377
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:25
- 大小:28.86KB
南航 图书馆管理系统课设Word文档格式.docx
《南航 图书馆管理系统课设Word文档格式.docx》由会员分享,可在线阅读,更多相关《南航 图书馆管理系统课设Word文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
intcheck_admin_right();
检查管理员权限
bookedit_book_inner(bookk);
编辑一本书(程序内部使用)
bookadd_book_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();
返回当前用户的用户名
intshow_user_detail();
显示用户信息
classManager:
界面实现部分
intwork();
显示和实现界面
五、特色算法
本程序把借书和用户关联在一起,而且出现的权限的概念,普通游客只能观看书籍列表,普通用户只能借书和还书,只有管理员才有权限对书籍信息和数量进行修改。
注:
当前默认管理员的帐户和密码都是admin
六、源程序
(见后页)
Main.cpp
#include"
Manager.h"
main(){
Managerk;
k.work();
return0;
}
Book.h
#ifndefBOOK_H
#defineBOOK_H
classbook{
private:
charisbn[50];
charbookTitle[50];
charauthor[50];
charpublisher[50];
chardatepublished[50];
intleft;
friendclasslib_sys;
};
#endif
Student.h
#ifndefSTUDENT_H
#defineSTUDENT_H
classstudent{
charusername[50];
charpassword[50];
intnum;
charisbn[50][50];
Lib_sys.h
#ifndefLIB_SYS_H
#defineLIB_SYS_H
book.h"
student.h"
classlib_sys{
intbook_tot;
intstudent_tot;
booklbook[100];
studentlstudent[100];
intuser_state;
//0isnouser,1islogin
public:
lib_sys(){
username[0]='
\0'
;
password[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_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();
Lib_sys.cpp
lib_sys.h"
#include<
iostream.h>
fstream.h>
string.h>
windows.h>
conio.h>
intlib_sys:
:
input_data(){
inti,j;
fstreamfbook,fstudent;
fbook.open("
book.dat"
ios:
in);
fstudent.open("
student.dat"
if(!
fbook)return0;
fstudent)return0;
fbook>
>
book_tot;
fbook.ignore();
for(i=1;
i<
=book_tot;
i++){
fbook.getline(lbook[i].isbn,50);
fbook.getline(lbook[i].bookTitle,50);
fbook.getline(lbook[i].author,50);
fbook.getline(lbook[i].publisher,50);
fbook.getline(lbook[i].datepublished,50);
fbook>
lbook[i].left;
fbook.ignore();
fbook.close();
fstudent>
student_tot;
fstudent.ignore();
=student_tot;
fstudent.getline(lstudent[i].username,50);
fstudent.getline(lstudent[i].password,50);
fstudent>
lstudent[i].num;
fstudent.ignore();
for(j=1;
j<
=lstudent[i].num;
j++)
fstudent.getline(lstudent[i].isbn[j],50);
fstudent.close();
return1;
output_data(){
out);
fbook<
<
book_tot<
endl;
fbook<
lbook[i].isbn<
lbook[i].bookTitle<
lbook[i].author<
lbook[i].publisher<
lbook[i].datepublished<
lbook[i].left<
fstudent<
student_tot<
fstudent<
lstudent[i].username<
lstudent[i].password<
lstudent[i].num<
fstudent<
lstudent[i].isbn[j]<
user_login(){
charua[50],pw[50];
inti;
cout<
"
username:
"
cin.getline(ua,50);
password:
cin.getline(pw,50);
//cout<
endl<
if(strcmp(lstudent[i].username,ua)==0&
&
strcmp(lstudent[i].password,pw)==0){
user_state=1;
strcpy(username,ua);
strcpy(password,pw);
//cout<
username<
password<
break;
}
if(user_state)cout<
Loginsuccessfully.\n"
elsecout<
Usernotexistorwrongpassword.\n"
returnuser_state;
check_user_right(){
check_admin_right(){
user_state)return0;
if(strcmp(username,"
admin"
)==0&
strcmp(password,"
)==0)return1;
booklib_sys:
edit_book_inner(bookk){
charch;
charst[50];
check_admin_right())returnk;
ch='
0'
while(!
(ch=='
6'
)){
system("
cls"
);
cout<
请输入要修改的项目,在新数据输入状态下直接回车表示取消修改\n"
1.isbn\n"
2.书名\n"
3.作者\n"
4.出版社\n"
5.出版时间\n"
6.确定\n"
cout.flush();
ch=getch();
switch(ch){
case'
1'
cout<
当前的isbn是:
<
k.isbn<
请输入新数据:
;
cin.getline(st,50);
if(!
strlen(st)==0)strcpy(k.isbn,st);
break;
2'
当前的书名是:
k.bookTitle<
strlen(st)==0)strcpy(k.bookTitle,st);
3'
当前的作者是:
k.author<
strlen(st)==0)strcpy(k.author,st);
4'
当前的出版社是:
k.publisher<
strlen(st)==0)strcpy(k.publisher,st);
5'
当前的出版时间是:
k.datepublished<
strlen(st)==0)strcpy(k.datepublished,st);
returnk;
default:
输入错误\n"
returnk;
add_book_inner(){
bookk;
intw;
请输入书籍信息,isbn为必填项\n"
请输入isbn:
cin.getline(st,50);
strcpy(k.isbn,st);
请输入书名:
strcpy(k.bookTitle,st);
请输入作者:
strcpy(k.author,st);
请输入出版社:
strcpy(k.publisher,st);
请输入出版时间:
strcpy(k.datepublished,st);
请输入数的数量:
cin>
w;
k.left=w;
show_book_inner(bookk){
isbn:
书名:
作者:
出版社:
出版时间:
数量:
k.left<
find_book_inner(char*isbn){
i++)
if(strcmp(lbook[i].isbn,isbn)==0)break;
if(i<
=book_tot&
strcmp(lbook[i].isbn,isbn)==0)returni;
elsereturn0;
find_student_inner(char*username){
if(strcmp(lstudent[i].username,username)==0)break;
=student_tot&
strcmp(lstudent[i].username,username)==0)returni;
add_book(){
check_admin_right())return0;
k=add_book_inner();
if(strcmp(lbook[i].isbn,k.isbn)==0)break;
strcmp(lbook[i].isbn,k.isbn)==0)
lbook[i].left+=k.left;
elseif(strlen(k.isbn)==0)return0;
else{
book_tot++;
lbook[book_tot]=k;
edit_book(char*isbn){
strcmp(lbook[i].isbn,isbn)==0){
k=lbook[i];
k=edit_book_inner(k);
lbook[i]=k;
return1;
del_book(char*isbn,intmuch){
if(lbook[i].left>
much)lbook[i].left-=much;
else{
for(j=i;
=book_tot-1;
lbook[j]=lbook[j+1];
show_book(){
总数:
show_book_inner(lbook[i]);
borrow_book(){
intp,s,much,i;
check_user_right())return0;
请输入数的isbn:
cin.getline(isbn,50);
(p=find_book_inner(isbn)))return0;
(s=find_student_inner(username)))return0;
请输入借书的数量:
much;
if(lbook[p].left<
much){
剩余量不足\n"
return0;
}elseif(10-lstudent[s].num<
您目前不能借这么多书\n"
}else{
lbook[p].left-=much;
for(i=1;
=much;
strcpy(lstudent[s].isbn[i+lstudent[s].num],isbn);
lstudent[s].num+=much;
return_book(){
intp,s,much,r,w,i,j;
(s=find_student_inner(userna
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南航 图书馆管理系统课设 图书馆 管理 系统