图书馆管理系统C++课程设计文档格式.docx

上传人:b****4 文档编号:7176054 上传时间:2023-05-08 格式:DOCX 页数:38 大小:93.15KB
下载 相关 举报
图书馆管理系统C++课程设计文档格式.docx_第1页
第1页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第2页
第2页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第3页
第3页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第4页
第4页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第5页
第5页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第6页
第6页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第7页
第7页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第8页
第8页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第9页
第9页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第10页
第10页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第11页
第11页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第12页
第12页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第13页
第13页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第14页
第14页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第15页
第15页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第16页
第16页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第17页
第17页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第18页
第18页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第19页
第19页 / 共38页
图书馆管理系统C++课程设计文档格式.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书馆管理系统C++课程设计文档格式.docx

《图书馆管理系统C++课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统C++课程设计文档格式.docx(38页珍藏版)》请在冰点文库上搜索。

图书馆管理系统C++课程设计文档格式.docx

本课题主要的目的是………

建立一个图书馆管理系统,可以处理以下对象:

.图书馆基本信息

.图书馆的书籍

.图书馆管理员

.读者信息

2.程序的主要功能

1.查询图书馆的总信息

2.查询图书馆管理员的信息

3.查询图书馆藏书信息

4.存入新书

5.存入新的管理员的信息

6.修改管理员的信息(增加工龄,加薪)

7.根据书名检索书刊信息

8.查询读者的借阅信息

9.查询读者信息

10.图书和管理员等信息应存放在不同的文件中,便于查询。

2.1添加功能

添加一个读者的基本信息,包括姓名、编号;

添加一本书的基本信息,书名、编号;

添加一个图书管理员的基本信息,姓名、员工号、工资、工龄。

2.2删除功能

能够对一个读者、图书管理员、一本书的信息进行删除按姓名进行删除。

2.3删除全部成员信息

能够对于全部读者和员工的信息进行删除!

2.4显示功能

显示所有读者、图书、员工的主要信息包括姓名或书名,编号等。

2.5查找功能

根据你键入的编号,显示其详细信息!

2.6修改功能

对读者、图书、员工的信息进行修改。

2.7借书、还书

输入读者编号和要借或要还的书处理并把信息存在读者信息内。

3程序运行平台

VC++6.0。

具体操作如下:

新建……文件,创建C++sourcefile……,写入程序再编译,链接,执行等。

4总体设计

图4.1系统总体框架图

5程序类的说明

管理员信息输出类的声明

classLibrarian

{

private:

inttag;

intno;

//编号

charname[10];

intworkage;

//工龄

intsalary;

public:

Librarian(){}

char*getname(){returnname;

}

intgettag(){returntag;

intgetno(){returnno;

voidsetname(charna[])

{

strcpy(name,na);

}

voiddelworker(){tag=1;

voidaddlibrarian(intn,char*na)//增加管理员

{

tag=0;

no=n;

strcpy(name,na);

workage=0;

salary=2000;

}

voiddisp()//读出管理员信息

cout<

<

setw(5)<

no<

name<

"

工龄:

setw(3)<

workage<

工资:

salary<

endl;

};

∙读者信息输出类的声明

classReader

{

private:

//删除标记1:

已删0:

未删

//读者编号

//读者姓名

intborbook[Maxbor];

//所借图书

public:

Reader(){}

char*getname(){returnname;

}//获取姓名

intgettag(){returntag;

}//获取删除标记

intgetno(){returnno;

}//获取读者编号

voidsetname(charna[])//设置姓名

voiddelbook(){tag=1;

}//设置删除标记1:

voidaddreader(intn,char*na)//增加读者

for(inti=0;

i<

Maxbor;

i++)

borbook[i]=0;

voidborrowbook(intbookid)//借书操作

if(borbook[i]==0)

borbook[i]=bookid;

return;

intretbook(intbookid)//还书操作

if(borbook[i]==bookid)

return1;

return0;

voiddisp()//读出读者信息

cout<

setw(5)<

no<

setw(10)<

name<

借书编号:

["

;

if(borbook[i]!

=0)

borbook[i]<

"

|"

]"

6模块分析

6.1添加模块

在各个成员维护中都有添加操作

如新增管理员:

switch(choice)

case'

1'

:

输入管理员编号:

cin>

>

workerid;

输入管理员姓名:

wname;

addlibrarian(workerid,wname);

break;

intaddlibrarian(intn,char*na)//添加管理员时先查找是否存在

Librarian*p=query(n);

if(p==NULL)

top++;

work[top].addlibrarian(n,na);

6.2显示模块

显示模块将输出所有成员的信息。

如现实管理员的信息:

Switch(choice)

{case'

5'

disp();

voiddisp()//输出所有管理员信息

for(inti=0;

=top;

work[i].disp();

6.3修改模块

首先由用户输入要修改的成员的姓名,然后系统用修改函数查找,显示该名成员的资料,然后系统提示用户输入需要修改的项目和新的资料。

如修改管理员的信息:

Switch(chioce)

2'

w=query(workerid);

if(w==NULL)

该管理员不存在"

输入新的姓名:

w->

setname(wname);

6.4查找模块

首先由用户输入要查找的成员姓名,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的成员资料。

如管理员:

case'

4'

读入管理员编号:

该管理员不存在"

endl;

disp();

6.5删除模块

首先由用户输入要删除的单个成员员姓名,然后调用删除函数,删除该名职员的资料。

如管理员的删除:

3'

输入管理员编号:

该管理员不存在"

<

delworker();

……

6.6清空模块

系统将会把所有成员的资料全部删除,将链表清空。

6'

clear();

voidclear()//删除所有管理员信息

top=-1;

}……

7系统测试

首先进入VC++6.0,打开文件:

图书馆管理系统.cpp,然后进入源程序,接着构建运行。

1.第一步出现如图7.1主界面供选择操作

图7.1

2.接着可以选择主界面上的3进行图书维护如图7.2,下一步可以选择新增图书等;

图7.2

3.选择0返回到主界面如图7.1可选择4进行读者维护然后进行新增、删除、修改等操作如图7.3最后返回主界面进行下一步操作

图7.3

4.选择5进行管理员维护同上面相同如图7.4

图7.4

5.选1借书操作如图7.5然后可以查看读者的借书情况如图7.6

图7.5

图7.6

8结论

我的这个图书馆管理系统做的不是很好,有些基本功能能够实现,虽然有借书、还书以及对读者、管理员、图书的维护,但是有很多细节操作没有体现出来,所以需要进一步改正,如可以对读者增加派生类实现对学生、研究所、老师等的区别,还有文件的保存也需要改进。

通过本次课程设计,让我对C++有了进一步的了解和使用,能把学了的东西用于实践还是让我非常有成就感,但是不足的是对类、派生类还有指针以及文件的运用掌握的不是很好,所以我会在假期内通过多看书反复操作提高自己的编程能力。

在这里还要感谢诸位老师的支持和信赖。

附录(可选)

附录1源代码清单

#include<

iostream.h>

#include<

iomanip.h>

string.h>

fstream.h>

constintMaxr=100;

//最多的读者

constintMaxb=100;

//最多的图书

constintMaxbor=5;

//每位读者最多借五本书

//管理员类

voiddisp()//读出管理员信息

//管理员类库,实现建立管理员的个人资料

classLDatabase

inttop;

//管理员记录指针

Librarianwork[20];

//管理员记录

LDatabase()//构造函数,将worker.txt读到work[]中

Librarianx;

fstreamfile("

worker.txt"

ios:

in);

//打开一个输入文件

while

(1)

file.read((char*)&

x,sizeof(x));

if(!

file)break;

work[top]=x;

file.close();

//关闭worker.txt

voidclear()//删除所有管理员信息

intaddlibrarian(intn,char*na)//添加管理员时先查找是否存在

Librarian*query(intworkerid)//按编号查找

if(work[i].getno()==workerid&

&

work[i].gettag()==0)

return&

work[i];

returnNULL;

voiddisp()//输出所有管理员信息

voidworkerdata();

//管理员库维护

~LDatabase()//析构函数,将work[]写到worker.txt文件中

out);

if(work[i].gettag()==0)

file.write((char*)&

work[i],sizeof(work[i]));

voidLDatabase:

workerdata()

charchoice;

charwname[20];

intworkerid;

Librarian*w;

while(choice!

='

0'

\n\n\t\t\t管理员维护\n\n\n\t\t1新增\n\n\t\t2更改\n\n\t\t3删除\n\n\t\t4查找\n\n\t\t5显示\n\n\t\t6全删\n\n\t\t0退出"

cin>

choice;

switch(choice)

default:

cout<

输入错误,请从新输入:

break;

//读者类,实现对读者的信息的描述

//读者类库,实现建立读者的个人资料

classRDatabase

//读者记录指针

Readerread[Maxr];

//读者记录

RDatabase()//构造函数,将reader.txt读到read[]中

Readers;

reader.txt"

s,sizeof(s));

read[top]=s;

//关闭reader.txt

voidclear()//删除所有读者信息

intaddreader(intn,char*na)//添加读者时先查找是否存在

Reader*p=query(n);

read[top].addreader(n,na);

Reader*query(intreaderid)//按编号查找

if(read[i].getno()==readerid&

read[i].gettag()==0)

read[i];

voiddisp()//输出所有读者信息

read[i].disp();

voidreaderdata();

//读者库维护

~RDatabase()//析构函数,将read[]写到reader.txt文件中

if(read[i].gettag()==0)

read[i],sizeof(read[i]));

voidRDatabase:

readerdata()

charrname[20];

intreaderid;

Reader*r;

\n\n\t\t\t读者维护\n\n\n\t\t1新增\n\n\t\t2更改\n\n\t\t3删除\n\n\t\t4查找\n\n\t\t5显示\n\n\t\t6全删\n\n\t\t0退出"

输入读者编号:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2