图书管理部分课程设计Word格式.docx

上传人:b****8 文档编号:22365637 上传时间:2023-02-03 格式:DOCX 页数:17 大小:17.50KB
下载 相关 举报
图书管理部分课程设计Word格式.docx_第1页
第1页 / 共17页
图书管理部分课程设计Word格式.docx_第2页
第2页 / 共17页
图书管理部分课程设计Word格式.docx_第3页
第3页 / 共17页
图书管理部分课程设计Word格式.docx_第4页
第4页 / 共17页
图书管理部分课程设计Word格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

图书管理部分课程设计Word格式.docx

《图书管理部分课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《图书管理部分课程设计Word格式.docx(17页珍藏版)》请在冰豆网上搜索。

图书管理部分课程设计Word格式.docx

voidsave(Book*head);

//储存书本信息

voidAddBook();

//添加书本信息

voidDelBook();

//删除书本信息

Book*read();

//读取书本信息

voidmanager();

//管理员操作

voidBookconsult();

//图书查询

intBorrow();

//借书

intReturn();

//还书

Book*sort(Book*head);

//书本信息按书号排序

voidimformation();

//系统信息

Book*head=NULL,*p1=NULL,*p2=NULL;

//创建新的书本信息

voidcreatlist()

inti,n;

printf("

要创建的书本数目"

);

scanf("

%d"

&

n);

p2=head=(Book*)malloc(LEN);

//创建带有头结点的链表

p2->

a=(reader*)malloc(LEN3);

a->

next2=NULL;

next=NULL;

请输入书的信息:

\n"

for(i=1;

i<

=n;

i++)

p1=(Book*)malloc(LEN);

printf("

书号:

"

scanf("

%s"

p1->

num);

书名:

name);

出版社:

concern);

出版日期:

date);

作者:

author);

书本页数:

p1->

page);

书本价格(元):

price);

p1->

imformation=10;

p2->

next=p1;

p2=p1;

if(i<

n)printf("

下一本:

}

head=sort(head);

save(head);

print(head);

//打印书本信息

voidprint(Book*head)

Book*p=NULL;

reader*p0=NULL;

p=head->

next;

*******************************************************************************\n"

while(p!

=NULL)

%s\n书名:

%s\n出版社:

%s\n出版日期:

%s\n作者:

%s\n书本页数(页):

%d\n书本价格(元):

%d\n剩余数量:

%d\n"

p->

num,p->

name,p->

concern,p->

date,p->

author,p->

page,p->

price,p->

imformation);

借阅图书的人:

"

if(p->

next2==NULL)printf("

------------暂无借阅人!

else

for(p0=p->

next2;

p0!

=NULL;

p0=p0->

next2)

{

%s"

p0->

}

p=p->

/*p后移一个结点*/

Book*sort(Book*head)

Book*p1=NULL,*p2=NULL,*p3=NULL,*min=NULL,*min2=NULL,*head2=head->

p1=head2;

while(p1->

next!

=NULL)

min=p2=p1;

/*把首结点作为最小值*/

while(p2->

if(strcmp(min->

num,p2->

next->

num)>

0)/*首结点与下一结点比较*/

min2=p2;

min=p2->

p2=p2->

if(min!

=p1)

min2->

next=min->

/*删除最小结点*/

min->

/*插入最小结点*/

if(p1==head2)head2=min;

elsep3->

next=min;

/*p3为min前的结点指针*/

p3=min;

else

p3=p1;

p1=p1->

head->

next=head2;

return(head);

voidsave(Book*head)

FILE*fp,*fp2;

reader*q=NULL;

fp=fopen("

书本信息.txt"

"

wb"

//printf("

不能打开文件!

fp2=fopen("

借阅信息.txt"

p=head;

fwrite(p,LEN,1,fp);

/*逐个结点写文件*/

for(q=p->

a;

q!

q=q->

{fwrite(q,LEN3,1,fp2);

fclose(fp);

fclose(fp2);

voidAddBook()

FILE*fp,*fp2;

Book*addbook=NULL;

reader*p0=NULL;

fp=fopen("

ab"

//追加方式打开文件

fp2=fopen("

addbook=(Book*)malloc(LEN);

输入书本信息:

addbook->

addbook->

p0=(reader*)malloc(LEN3);

p0->

addbook->

a=p0;

fwrite(addbook,LEN,1,fp);

/*块写*/

fwrite(p0,LEN3,1,fp2);

fclose(fp);

fclose(fp2);

Book*read()

Book*p=NULL,*p1=NULL,*head=NULL;

reader*p0=NULL,*p2=NULL;

if((fp=fopen("

rb"

))==NULL)printf("

不能打开文件或文件不存在!

if((fp2=fopen("

head=(Book*)malloc(LEN);

fread(head,LEN,1,fp);

p1=head;

p0=(reader*)malloc(LEN3);

fread(p0,LEN3,1,fp2);

p0->

p=(Book*)malloc(LEN);

while(fread(p,LEN,1,fp))/*逐个结点读取*/

next=p;

while(fread(p0,LEN3,1,fp2))

{

if(p0->

next2==NULL)

p2=p0;

break;

next2=p0;

free(p0);

p=(Book*)malloc(LEN);

free(p);

if(head!

=NULL)return(head);

else

文件为空!

return0;

voidDelBook()

Book*head=NULL,*p=NULL,*q=NULL;

charbookname[30];

head=read();

输入要删除的书名:

bookname);

p=head;

while(p!

=NULL)/*按名字查找要删除的图书*/

if(strcmp(p->

name,bookname)==0)

if(p==head)

head=head->

q->

next=p->

q=p;

p=p->

save(head);

voidmanager()

intn,i=0,k=1;

while(k==1)

********************************************************************************\n"

请选择你需要的操作\n"

◎1.建立新的书本信息\n"

◎2.插入书本信息\n"

◎3.删除书本信息\n"

◎4.读取所有书本信息\n"

◎5.读取指定书本信息\n"

◎6.返回到上级目录\n"

◎7.保存并退出\n"

请输入:

switch(n)

case1:

creatlist();

break;

case2:

AddBook();

case3:

DelBook();

case4:

system("

CLS"

case5:

system("

Bookconsult();

case6:

k=0;

default:

//图书查询

voidBookconsult()

intn,m=1,sign=0;

Book*p=NULL,*p1=NULL,*p0=NULL,*head=NULL;

reader*p2=NULL;

chara[30],b[20],c[20];

while(m==1)

请选择你查询书本的方式:

1.按书名2.按书的编号3.按书的作者4.退出查询\n"

输入="

switch(n)

请输入书名:

a);

p0=head;

while(p0!

if(strcmp(a,p0->

name)==0)

num,p0->

name,p0->

concern,p0->

date,p0->

author,p0->

page,p0->

price,p0->

for(p2=p0->

(p2=p2->

next2)!

{printf("

p2->

sign=1;

p0=p0->

elsep0=p0->

if(sign==0)printf("

没有这本书的信息.\n"

请输入书的编号:

b);

if(strcmp(b,p0->

num)==0)

if(p0==NULL)printf("

请输入书的作者:

c);

if(strcmp(c,p0->

author)==0)

printf

("

%d\n书本价格(元)%d\n剩余数量:

m=0;

//借书信息

voidimformation()

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"

※欢迎你使用我们的图书管理系统!

以下是本系统的有关说明:

※\n"

※本系统主要功能是进行图书的有关管理,你可以进行图书信息的创建、插入、删除、※\n"

※查询;

在操作中主要是以阿拉伯数字来选择相应的菜单功能,在选择时以'

y'

表示'

是'

※以'

n'

表示'

不是'

在你操作的时候就会有相应的操作提示。

voidmain()

intn,k=1;

\n\n"

欢迎进入我们的图书管理系统!

\n"

请选择你的操作:

1.管理员操作2.系统信息3.退出系统\n"

你的选择是:

manager();

imformation();

+++++++++++++++++++++++++++欢迎你再次使用我们的系统!

++++++++++++++++++++++++++++\n"

k=0;

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

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1