南航图书馆管理系统课设docx.docx
《南航图书馆管理系统课设docx.docx》由会员分享,可在线阅读,更多相关《南航图书馆管理系统课设docx.docx(23页珍藏版)》请在冰豆网上搜索。
![南航图书馆管理系统课设docx.docx](https://file1.bdocx.com/fileroot1/2022-10/8/c9919ae6-26e1-4925-8a91-10773ee7550b/c9919ae6-26e1-4925-8a91-10773ee7550b1.gif)
南航图书馆管理系统课设docx
南京航空航天大学
《C++程序设计》课程设计报告
图书馆管理系统
姓名:
学号:
院系:
信息科学与技术学院
日期:
2009.4.8
目录2
一、需求分析2
二、系统主要功能2
三、系统总框图2
四、定义的函数及说明3
五、特色算法4
六、源程序4
一、需求分析
在信息技术日益普及的今天,很多事物都在信息技术的帮助下成倍的提高了效率,同样,如果一个图书馆能有一套有效的人事管理系统,这对于图书馆的日常管理是大有益处的。
二、系统主要功能
本系统提供了一个图书馆管理的平台可,所提供的功能如下:
1.借书
2还书
3显示书库
4添加书籍
5删除书籍
6编辑书籍
7用户登陆
8用户注册
9显示用户信息
三、系统总框图
四、定义的函数及说明
classbook:
存储了一本书的信息
classstudent:
存储了一个学生的信息
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);
查找一本书(程序内部使用)
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{
private:
charusername[50];
charpassword[50];
intnum;
charisbn[50][50];
friendclasslib_sys;
};
#endif
Lib_sys.h
#ifndefLIB_SYS_H
#defineLIB_SYS_H
#include"book.h"
#include"student.h"
classlib_sys{
private:
intbook_tot;
intstudent_tot;
booklbook[100];
studentlstudent[100];
charusername[50];
charpassword[50];
intuser_state;//0isnouser,1islogin
public:
lib_sys(){
username[0]='\0';
password[0]='\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();
};
#endif
Lib_sys.cpp
#include"lib_sys.h"
#include
#include
#include
#include
#include
intlib_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;
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();
for(i=1;i<=student_tot;i++){
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;
}
intlib_sys:
:
output_data(){
inti,j;
fstreamfbook,fstudent;
fbook.open("book.dat",ios:
:
out);
fstudent.open("student.dat",ios:
:
out);
if(!
fbook)return0;
if(!
fstudent)return0;
fbook<for(i=1;i<=book_tot;i++){
fbook<fbook<fbook<fbook<fbook<fbook<}
fbook.close();
fstudent<for(i=1;i<=student_tot;i++){
fstudent<fstudent<fstudent<for(j=1;j<=lstudent[i].num;j++)
fstudent<}
fstudent.close();
return1;
}
intlib_sys:
:
user_login(){
charua[50],pw[50];
inti;
cout<<"username:
";
cin.getline(ua,50);
cout<<"password:
";
cin.getline(pw,50);
for(i=1;i<=student_tot;i++){
//cout<if(strcmp(lstudent[i].username,ua)==0&&strcmp(lstudent[i].password,pw)==0){
user_state=1;
strcpy(username,ua);
strcpy(password,pw);
//cout<//cout<break;