数据结构图书馆图书借阅信息管理系统_第1页
数据结构图书馆图书借阅信息管理系统_第2页
数据结构图书馆图书借阅信息管理系统_第3页
数据结构图书馆图书借阅信息管理系统_第4页
数据结构图书馆图书借阅信息管理系统_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东北大学信息科学与工程学院

数据结构课程设计报告

题目图书馆图书借阅信息管理系统

课题组长王逸飞

课题组成员王嘉琦李聪

专业名称计算机科学与技术

班级计1307

指导教师杨雷

2015年1月

课程设计任务书

题目:

图书馆图书借阅信息管理系统

问题描述:

对图书馆的图书借阅业务管理作一个简单的模拟。

设计要求:

设计图书借阅信息管理的模拟程序。

(1)采用顺序表或结构体链表存储结构。

(2)实现图书的创建、分类、插入、删除、修改、借阅等管理

功能。

(3)实现图书的各种借阅查询和统计功能。

(4)考虑采用优化的查询和排序算法。

(5)其它完善性功能。

指导教师签字:

年月日

目录

1课题概述............................................1

1.1课题任务............................................1

1.2课题原理............................................1

1.3相关知识...........................................3

2需求分析...........................................4

2.1课题调研............................................4

2.2用户需求分析.......................................5

3方案设计...........................................7

3.1总体功能设计........................................7

3.2数据结构设计.......................................8

3.3函数原型设计.......................................10

3.4主算法设计.........................................12

3.5用户界面设计......................................14

4方案实现...........................................15

4.1开发环境与工具.....................................15

4.2程序设计关键技术...................................16

4.3个人设计实现(按组员分工)

4.3.1王逸飞设计实现...............................17

4.3.2王嘉琦设计实现...............................17

4.3.3李聪设计实现.................................17

5测试与调试........................................23

5.1个人测试(按组员分工).............................23

5.1.1王逸飞测试...................................23

5.1.2王嘉琦测试...................................23

5.1.2李聪测试.....................................23

5.2组装与系统测试.....................................33

5.3系统运行..........................................36

6课题总结........................................39

6.1课题评价...........................................39

6.2团队协作...........................................40

6.3团队协作...........................................41

6.4个人设计小结(按组员分工).........................42

6.4.1王逸飞设计小结...............................42

6.4.2王嘉琦设计小结...............................42

6.4.3李聪设计小结.................................42

7附录A课题任务分工..............................50

A-1课题程序设计分工...............................50

A-2课题报告分工...................................51

附录B课题设计文档(光盘).....................52

BT课程设计报告(电子版).........................52

B-2源程序代码(*.H,*.CPP).......................52

B-3工程与可执行文件...............................52

B-4屏幕演示录像文件(可选).......................52

附录C用户操作手册(可选).....................53

C.1运行环境说明...................................53

C.2操作说明.......................................54

1课题概述

1.1课题任务

【问题描述】

对图书馆的图书借阅业务管理作一个简单的模拟。

【设计要求】

设计图书借阅信息管理的模拟程序。

(1)采用顺序表或结构体链表存储结构。

(2)实现图书的创建、分类、插入、删除、修改、借阅等管理功能。

(3)实现图书的各种借阅查询和统计功能。

(4)考虑采用优化的查询和排序算法。

(5)其它完善性功能。

1.2课题原理

以结构体链表为存储结构,则抽象数据类型即为用结构体链表表示的线性表,

所以主要涉及到结构体链表的一些基本操作函数。

1.3相关知识

结构体链表表示的线性表的定义,表示,C语言实现,在对图书信息进行排

序的过程涉及到了结构体链表的排序技术。文件的读入与输出操作。

2需求分析

2.1课题调研

对东北大学图书馆进行考察,并在网络上搜集相关资料。发现图书管理系统

主要面向两类人群,一是图书馆管理员,二是普通用户。而两类人群中,管理员

应该拥有对该系统的最高权限,全面掌握普通用户的借阅信息,全面掌握所有图

书的借阅信息。权限较低的用户只有图书信息一般查询权限,经过注册的用户可

有进一步对图书信息进行操作的权限。

2.2用户需求分析

进过以上课题调研,主要有一下需要:

(1)一般用户:对图书信息进行查询,显示;

(2)注册用户:可以对图书信息进行查询,显示,借书,还书,导出个人

图书信息;

(3)管理员:针对用户,可以进行用户信息增删,用户信息显示,用户信

息的查询;针对图书,可以进行图书信息的查询,图书信息的显示,图书信息的

录入,图书信息的删除,图书信息的排序。

故需要以下主要函数用户登录管理,登录信息确认,查询图书功能,显示图

书信息功能,显示图书信息,借书功能,还书功能,个人图书管理功能,图书信

息录入,图书信息删除,图书信息修改以及一些界面跳转

3方案设计

3.1总体功能设计

(1)实现一般用户对图书信息进行查询,显示功能;

(2)实现注册用户对图书信息进行查询,显示,借书,还书,导出个人图

书信息功能;

(3)实现管理员针对用户,可以进行用户信息增删,用户信息显示,用户

信息的查询;实现针对图书,可以进行图书信息的查询,图书信息的显示,图书

信息的录入,图书信息的删除,图书信息的排序。

3.2数据结构设计

用户和管理员信息的节点:

structuser

(

charusemame[Max_usemame_size];

charpassword[Max_password_size];

}USER

typedefstructuserl*UserPtrl;

图书信息节点:

typedefstructbook

(

charbookname[65];

charauther[65];

charchubanshe[65];

charprofession[65];

intbooknumber;

intprice;

intonof;

structbook*next;

}BOOK;

我们将结构的创建,初始化,插入删除等基本操作都封装在主界面函数,插

入函数,注册函数等之中,后面还有详细的说明,在此不赘述。

3.3函数原型设计

intshow_fUnctionl_window(UserPtrl);显示普通用户界面

intshow_function2_window(UserPtr1);显示管理员用户界面

intshow_guanyue_window();普通用户观阅函数

intshow_zhuce_window(UserPtrl);显示注册界面

intshow_queren_window(UserPtr1);显示确认界面

intjiemian。;通用界面

intJieshu(BookPtr);借书函数

intHuanshu(BookPtr);还书函数

intInsert(BookPtr*);增加图书函数

intShow(BookPtr);显示图书信息函数

intSerch(BookPtra);查找函数

intnumserch(BookPtr);编号查询

intadresserch(BookPtr);出版社查询

intautherserch(BookPtr);作者查询

intnameserch(BookPtr);书名查询

intonofserch(BookPtr);图书状态查询

intpriceserch(BookPtr);价格查询

intDelete(BookPtr);删除图书信息

intSave(BookPtr);保存图书信息

intmainl();主体函数

3.4主算法设计

3.5用户界面设计

由于时间原因,低级版本在没有实现可视化界面,采用DOS来显示得到的

结果。

4方案实现

4.1开发环境与工具

编程环境为visualc++6.0o工具为C语言。

4.2程序设计关键技术

结构体链表的创建,插入,删除,输出,排序;文件的读入读出,对文件进

行重新编辑。

4.3个人设计实现(按组员分小节)

4.3.1王逸飞'王嘉琦、李聪设计实现

1.课题任务

(1)主函数函数界面

(2)管理员界面函数

(3)管理员主要功能实现

(4)登录确认函数

(5)图书信息录入

(6)图书信息删除

(7)图书信息显示

(8)图书信息修改

(9)图书信息排序

(10)图书信息保存

(11)普通用户观阅函数

2.程序源代码

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.h>

#include<windows.h>

#defineMaxusemamesize64+1

#defineMax_password_size64+1

structuserl

{

charusername[65];

charpassword[65];

}USERl,dengl;

〃登陆用账户信息

typedefstructuserl*UserPtrl;

typedefstructuser2

(

charusername[Maxusemamesize];

intsex;

longintstunumber;

}USER2;

〃管理用账户信息

typedefUSER2*UserPtr2;

typedefstructbook

(

charbookname[65];

charauther[65];

charchubanshe[65];

charprofession[65];

intbooknumber;

intprice;

intonof;

structbook*next;

}BOOK;

typedefBOOK*BookPtr;

intshowfunction1_window(UserPtr1);

intshow_fiinction2_window(UserPtrl);

intshow_zhuce_window(UserPtr1);

intshow_queren_window(UserPtr1);

intjiemian();

intJieshu(BookPtr);

intHuanshu(BookPtr);

intHuankuan();

intInsert(BookPtr*);

intShow(BookPtr);

intnumserch(BookPtr);

intadresserch(BookPtr);

intautherserch(BookPtr);

intnameserch(BookPtr);

intadresserch(BookPtr);

intonofserch(BookPtr);

intpriceserch(BookPtr);

intDelete(BookPtr);

intSave(BookPtr);

voidshow_denglu_window(UserPtr1b);

intSerch(BookPtra);

BookPtrbookhead=NULL;

intmain1()

(

intcmdO;

{system(uclsn);

******W”);

printf(u\n\n\n\nu);

printf(n欢迎来到东北大学图书馆

printf(n\n\n\n\nu);

printf(n1:请输入您的学名号

\n");

printfC2:学号注册

\n");

printf(u3:管理员登陆\n\n\n”);

printf("选择0,然后按任意键关闭本程序!"\n\n\n”);

printf("请选择执行命令:");

BookPtrpbl,pb2;

FILE*pbook1;

intflag1=0;

bookhead=(BookPtr)malloc(sizeofi(structbook));〃将文件中的图书信息导

出,并存放在链表中

bookhead->next=NULL;

if((pbookl=fopen(nf:\\book.din";,rb,1))!=NULL)

(

rewind(pbookl);

if(!feof(pbookl))

(

fread(bookhead,sizeof(structbook),1,pbook1);

pb1=(BookPtr)malloc(sizeof(structbook));

bookhead->next=pb1;

fread(pb1,sizeof(structbook),1,pbook1);

}

while(!feof(pbook1))

(

pb2=(BookPtr)malloc(sizeof(structbook));

fread(pb2,sizeofifstructbook),1,pbook1);

if(feof(pbookl))

break;

pbl->next=pb2;

pbl=pb2;

}

pb1->next=NULL;

)

fclose(pbookl);

intcmd,trytime,io=0;

scanf(,,%d,',&cmd);

cmdO=cmd;

while(cmd>3||cmd<1)〃进入主要功能选项

{io++;

if(cmd==O)break;

if(io>2)

(

printR”Sorry,wrongnumbermorethanthreetimes!!!\nn);

printf("系统自动退出!!!\nH);

printf("继续登录请重启程序。)

system(^'pause'^);

return0;

)

printf("无效字符,无法识别!!!\nu);

if(io>l)

printf("最后一次机会!”);

printf(”请重新选择:”);

scanf("%dM,&cmd);

)

FILE*fpl;

if(cmd=l)〃用户入口

{

inttrytime,m=l;

fbr(trytime=1;m!=0&&trytime<4;trytime++)

(

show_denglu_window(&dengl);

m=show_queren_window(&dengl);

ifi(trytime==2&&m!=0)

{

printf("最后一次机会!)

system,pause");

}

)

if(trytime==4&&m!=0)

{

printf("系统自动退出!!!\n");

printff继续登录请重启程序。)

system(npausen);

if(m==O)

showfunctionl_window(&dengl);

}

elseifi(cmd=2)〃注册入口

|

show_denglu_window(&dengl);

ifRSl=fopen(”f:\\zhucezhe.din“Jab"))=NULL)

{

printff'Xncannotopenfile'*);

}

fwrite(&dengl,sizeof{dengl),1,fp1);

fclose(fpl);

printffXn注册成功!!!”);

)

elseif(cmd=3)〃管理员登陆入口

(

show_denglu_window(&dengl);

fbr(trytime=0;trytime<3;trytime++)

if(strcmp(dengl.usemame,nzaq")=0&&strcmp(dengl.password,,,zaq,,)==0)

show_function2_window(&dengl);

break;

else

show_denglu_window(&dengl);

returncmdO;

)

voidshow_denglu_window(UserPtr1b)〃登录函数,从终端获得数据

memset(b->password,0,65);

system(^^cls^^);

printf(n

******\、nn);

printff\n\n\n\n”);

printff欢迎来到东北大学图书馆

\n");

printff\n\n\n\n“);

printf(Hl:请输入您的学号

\n");

scanf(M%sn,b->usemame);

printf(u2:请输入您的三级密码:\n");

inti=0;

charch=O;

chara='y';

while((ch=getch())!=V)

(

putcharf*');

b->password[i]=ch;

i++;

}

printf(”\n是否显示密码:是(Y)/否(N)”);

scaniT%d”,&a);

a=getchar();

if(a=='Y,||a==y)

{printf(u\n您输入的密码是%$”,b->password);

system(,,pausen);)

}

intshow_queren_window(UserPtrlb)//确认是否为已注册用户

(

FILE*fp2;

structuserlu;

UserPtrlv=&u;

intm=l,n=l;

if((fjp2=fbpen(nf:\\zhucezhe.dinn,,,rb,,))=NULL)

(

printf(n\ncannotopenfile");

}

while((m*m+n*n)!=O)

{

fread(v,sizeofi(USERl),1,fp2);

m=strcmp(b->username,v->username);

n=strcmp(b->password,v->password);

if(m=0&&n==0)

{

pr血f(”\n已注册,可借阅图书\n");

system(npausen);

return0;

if(feof(fp2))

break;

)

fclose(fp2);

if(m!=O)

{printf(n\n非法侵入\n”);

system(npausen);

return1;

intInsert(BookPtr*bookhead)〃录入图书信息

(

FILE*pbook2;

system(ncls");

jiemian();

ifi((pbook2=fopen(nf:\\book.din,7,ab,,))==NULL)

{

printf(H\n不能打开文件!!!”);

<

BookPtrpl,p2,r;

p1=p2=*bookhead;

while(pl!=NULL)

{

p2=pl;

pl=pl->next;

)

r=(BookPtr)malloc(sizeofi[structbook));

r->next=NULL;

iRr==NULL)

(

printf("分配空间失败!!!n);

return0;

}

if(p2=NULL)

*bookhead=r;

else(

p2->next=r;

)

printf("请输入图书名称:\n");

scanf("%s",&r->bookname);

printf("请输入图书作者:\nn);

scanf(,,%sH,&r->auther);

printf("请输入出版社:\n");

scanfi(,'%s,,,&r->chubanshe);

printf(”请输入图书编号:\nn);

scanf^u%dn,&r->booknumber);

printf("请输入图书价格:\nn);

scanf(u%dH,&r->price);

printf(”请输入出状态:\nn);

scanfi(,'%dn,&r->onof);

fwrite(r,sizeof(structbook),l,pbook2);

fclose(pbook2);

charm;

printf(u\n是否要继续录入:”);

scanf(u%cM,&m);

iRm=V||m=Y)

Insert(&r);

}

//

intchange(BookPtra)〃修改图书信息

{

system,cis");

jiemian();

FILE*pbook3;

ifi((pbook3=fopen(,,f:\\book.din,7,wb"))==NULL)

{

printf(u\n不能打开文件!!!”);

}

BookPtrpl,p2;

pl=p2=a;

intchangenum;

BOOKlinshi;

printf(n\nl,书名\n2,作者\n3,出版社\n4,编号\n5,单价\n6,状态\n");

printf(”请选择要进行修改的图书信息所对应的序号)

scanf("%d”,&changenum);

switch(changenum)

{

caseLprintf(”请输入要进行修改的书的名字:”);

scanf(,,%s,',linshi.bookname);

while(pl!=NULL)

{

if(strcmp(linshi.bookname,pl->bookname)=0)

(

printf("请输入要修改之后的书名:\nu);

scanf(n%sH,&p1->bookname);

break;

p2=pl;

pl=pl->next;

)

break;

case2:printf(”请输入要进行修改的作者的名字:”);

scanf(H%sH,linshi.auther);

while(pl!=NULL)

{

ifi(strcmp(linshi.auther,p1->auther)=O)

{

printf(”请输入要修改之后的作者:\n)

scanf(M%s,',&p1->auther);

break;

}

p2=pl;

p1=p1->next;

}

break;

case3:printf(n请输入要进行修改的书的出版社:”);

scanf(n%su,linshi.chubanshe);

while(pl!=NULL)

{

if(strcmp(linshi.chubanshe,p1->chubanshe)=O)

{

pHntf("请输入要修改之后的出版社:\nH);

scanf(n%sM,&p1->chubanshe);

break;

)

p2=pl;

pl=pl->next;

}

break;

case4:printf(”请输入要进行修改的书的价格:");

scanf(H%dn,linshi.price);

while(pl!=NULL)

(

if(linshi.price=pl->price)

{

printf("请输入要修改之后的出版社:\nu);

scanff%d”,&pl・>price);

break;

p2=pl;

p1=p1->next;

}

break;

case5:printf(”请输入要进行修改的书的编号:”);

scanf(n%dn,&linshi.booknuinber);

while(pl!=NULL)

{

if(linshi.booknumber=p1->booknumber)

{

pHntf("请输入要修改之后的出版社:\nH);

scanf(n%du,&p1->booknumber);

break;

)

p2=pl;

pl=pl->next;

}

break;

case6:printf(”请输入要进行修改的书的状态:”);

scanf(n%dn,&linshi.onof);

while(pl!=NULL)

{

if(linshi.onof==p1->onof)

(

printff请输入要修改之后的状态:\nu);

scanff'%d”,&p1->onof);

break;

}

p2=pl;

pl=pl->next;

}

break;

defoult:printf(,,enterdataerror!\nH);

}

pl=p2=a;

while(pl!=NULL)

{

fwrite(pl,sizeof(structbook),l,pbook3);

P2=pl;

pl=pl->next;

}

fclose(pbook3);

return0;

intDelete(BookPtra)〃删除图书信息

{

system(nclsn);

jiemian();

BOOKb;

BookPtrpl,p2;

pl=p2=a;

intflag=0;

printf("请选择要删除的图书的书名:”);

scanf(,,%sn,b.bookname);

while(pl!=NULL)

{

if(strcmp(b.bookname,p1->bookname)==0)

(

ifl(pl==a)

{

a=p1->next;

free(pl);

)

else

(

p2->next=p1->next;

free(pl);

}

break;

}

else

{

p2=pl;

pl=pl->next;

}

}

Save(a);

)

intSave(BookPtra)〃将处理好的链表存入文件

(

FILE*pbook3;

BookPtrpl,p2;

pl=p2=a;

if((pbook3=fopen(nf:\\book.din,',nwb,,))==NULL)

printf(u\n不能打开文件!!!”);

while(pl!=NULL)

fwrite(p1,sizeofifstructbook),1,pbook3);

P2=pl;

pl=pl->next;

}

fclose(pbook3);

return0;

)

intshow_function1_window(UserPtr1b)〃用户主界面

{

jiemian();

BookPtrpl,p2;

p1=p2=bookhead;

intm;

do

(

system(nclsM);

jiemian();

printff尊敬的%s用户,您好二b・>usemame);

printf("\n\n\nl查询服务)

printf(u\n2借书服务)

printf(u\n3还书服务)

printf(u\n4还清欠款)

printf(u\n5显示所有图书信息,,);

printf(u\n\n选择0退出登录!!!");

printf(u\n\n请选择您需要的服务:\n");

scanf(,,%d,\&m);

switch(m)

(

case1:Serch(bookhead);

system(npausen);

break;

case2:Jieshu(bookhead);

break;

case3:Huanshu(bookhead);

break;

case4:Huankuan();

break;

case5:Show(bookhead);

break;

case0:break;

default:printfi(nwrongnumber1');

}while(m!=O);

intshow_function2_window(UserPtr1b)〃管理员主界面

(

jiemian();

intm;

do

(

system(nclsM);

jiemian();

printf("尊敬的%s管理员,您好!”,b・>username);

printf(u\n\n\n1,新进图书录入”);

printf(u\n2,图书信息查询)

printf(u\n3,己有图书修改)

printf(H\n4,删除图书信息)

printf(u\n5,查询图书信息)

printf(u\n6,显示已有图书信息不

printf(u\n\n选择0退出登录)

printf("\n\n请选择您需要的服务\n");

scanfifH%dn,&m);

switch(m)

{

case1:Insert(&bookhead);

break;

case2:Serch(bookhead);

break;

case3:change(bookhead);

break;

case4:Delete(bookhead);

break;

case5:Show(bookhead);

break;

case6:Show(bookhead);

break;

case0:break;

defiaultprintff'wrongnumber\nH);

}

}while(m!=0);

return0;

intJieshu(BookPtra)〃借书

{

system(nclsM);

jiemian();

BookPtrpl,p2;

intflag=l;

charch;

pl=p2=a;

BOOKlinshi;

printf(”\n请输入您要借的书的书名:”);

scanfC%sn,linshi.bookname);

while(pl!=NULL)

{

ifl(strcmp(linshi.bookname,p1->bookname)==0)

{

if(pl->onof==0)

(

printf(”\n抱歉,该书已被借走,是否再借其他书籍:”);

ch=getchar();

ch=getchar();

if(y=ch)

{

Jieshu(a);

)

elsebreak;

)

else

{

printf("\n在架可借,是否借书:”);

ch=getchar();

ch=getchar();

if(y=ch)

(

pl->onof=0;

flag=0;

}

printf("\n借书成功,是否继续借书)

ch=getchar();

ch=getchar();

if(y=ch)

Jieshu(a);

elsebreak;

else

p2=pl;

pl=pl->next;

)

Save(a);

)

intHuanshu(BookPtra)〃还书

{

system(nclsM);

jiemian();

BookPtrpl,p2;

intflag=l;

charch;

p1=p2=a;

BOOKlinshi;

primf(”\n请输入您要还的书的书名:”);

scanf(',%su,linshi.bookname);

while(pl!=NULL)

{

ifi(strcmp(linshi.bookname,p1->bookname)==0)

{

if(pl->onof==l)

|

printf("\n抱歉,该书已还,是否还其他书籍:”);

ch=getchar();

ch=getchar();

if(y=ch)

{

Huanshu(a);

}

elsebreak;

}

else

|

printf("\n在架借出,是否还书:”);

ch=getchar();

ch=getchar();

if(y=ch)

{

pl->onof=l;

flag=O;

printf("\n还书成功,是否归还其他书籍)

ch=getchar();

ch=getchar();

ifi(y=ch)

{

Huanshu(a);

)

elsebreak;

}

else

p2=pl;

pl=pl->next;

}

Save(a);

)

intjiemian()〃主要背景函数

{

system(nclsn);

pr血f("

******\、nn);

printf(n\n\n\n\nn);

print,欢迎来到忍者大师高级图书馆

\n");

printf(u\n\n\n\nu);

)

intShow(BookPtra)//显示函数

(

system(HclsM);

jiemian();

BookPtrpl,p2;

pl=p2=a;

inti=0;

printf("所有图书信息如下\n\iT);

while(pl!=NULL)

{

if

printf("第%d本书的信息:\nn,i);

printf("图书名称:%s\nM,pl->bookname);

printf("图书作者:%s\nM,p1->auther);

printf("出版社:%s\nu,p1->chubanshe);

printf(H图书编号:%ld\n",p1->booknuniber);

printf("图书价格:%d\n\pl->price);

printR”图书状态:%d\nn,pl->onof);

printf("\n\nH),

p2=pl;

pl=pl->next;

)

system(npauseH);

return0;

)

intSerch(BookPtra)〃查找函数

{

system(ncls");

jiemian();

intb;

prints1,按书名查询\n”);

printf(H2,按作者查询\n“);

printf(n3,按出版社查询\n“);

printf(n4,按编号查询\n“);

printf(n5,按价格查询\n");

printf(H6,按状态查询\n");

printf(”\n请输入您要查询的方式:\n”);

scanfi(',%d,',&b);

switch(b)

(

case1:nameserch(a);

break;

case2:autherserch(a);

break;

case3:adresserch(a);

break;

case4:numserch(a);

break;

case5:priceserch(a);

break;

case6:onofserch(a);

break;

)

system(npausen);

intnameserch(BookPtra)

system(ncls");

jiemian();

BookPtrpl,p2;

p1=p2=a;

intflag=l;

charbookname[65];

primfC请输入你要查询的书的名字:”);

scanf(,'%sH,bookname);

while(pl!=NULL)

{

if(strcmp(p1->bookname,bookname)==0)

(

printf("图书名称:%s\n',,p1->bookname);

printf(M图书作者:%s\nM,p1->auther);

printf("出版社:%s\n*',p1->chubanshe);

printf(H图书编号:%ld\nM,pl->booknumber);

printf("图书价格:%d\n",p1->price);

print.图书状态:%d\nu,pl->onof);

flag=O;

)

p2=pl;

pl=pl->next;

}

if(flag=l)

printf(H\n对不起,尚未收录您正查询的图书!!!”);

)

intautherserch(BookPtra)

{

system,cis");

jiemian();

BookPtrpl,p2;

pl=p2=a;

intflag=l;

charauther[65];

printf("请输入你要查询的作者的名字:");

scanf(,,%sn,auther);

while(pl!=NULL)

{

ifi(strcmp(p1->auther,auther)==O)

(

printf^'图书名称:%s\n",p1->bookname);

printf("图书作者:%s\n",p1->auther);

printf(n出版社:%s\n”,p1->chubanshe);

printf("图书编号:%ld\nn,pl->booknumber);

print.图书价格:%d\nM,pl->price);

printf("图书状态:%d\nn,p1->onof);

flag=O;

}

P2=pl;

pl=pl->next;

)

if(flag=l)

printf(u\n对不起,尚未收录您正查询的图书!!!”);

intadresserch(BookPtra)

(

system,cis");

jiemian();

BookPtrpl,p2;

pl=p2=a;

intflag=l;

charadress[65];

printf("请输入你要查询的出版社的名字:”);

scanfi(,'%sn,adress);

while(pl!=NULL)

(

if(strcmp(p1->chubanshe,adress)=O)

printf("图书名称:%s\n*',p1->bookname);

printfC图书作者:%s\n'\p1->auther);

printf("出版社:%s\n*',pl->chubanshe);

printf("图书编号:%ld\nH,p1->booknumber);

printf(H图书价格:%d\nH,pl->price);

printf("图书状态:%d\n\pl->onof);

flag=O;

p2=pl;

pl=pl->next;

if(flag=l)

printf(u\n对不起,尚未收录您正查询的图书!!!”);

intnumserch(BookPtra)

system(^^cls,^);

jiemian();

BookPtrpl,p2;

pl=p2=a;

intflag=l;

intnum;

printf("请输入你要查询的编号:”);

scanf(H%dH,&num);

while(pl!=NULL)

{

iRp1->booknumber=num)

|

printf("图书名称:%s\nn,p1->bookname);

printf("图书作者:%s\n",p1->auther);

printf("出版社:%s\nn,p1->chubanshe);

printf("图书编号:%ld\nn,pl->booknumber);

printfC,图书价格:%d\n",p1->price);

printf("图书状态:%d\nM,pl->onof);

flag=0;

}

p2=pl;

pl=pl->next;

)

if(flag=l)

printf(H\n对不起,尚未收录您正查询的图书!!!”);

}

intonofserch(BookPtra)

(

system,cis");

jiemian();

BookPtrpl,p2;

pl=p2=a;

intflag=l;

intof;

printf("请输入你要查询的状态:");

scanf(H%dH,&of);

while(pl!=NULL)

(

if(pl->onof==of)

(

printf("图书名称:%s\n'*,p1->bookname);

printf("图书作者:%s\nM,p1->auther);

printf("出版社:%s\n*',p1->chubanshe);

printf("图书编号:%ld\nM,p1->booknumber);

printf("图书价格:%d\n",p1->price);

printff图书状态:%d\nu,pl->onof);

flag=O;

)

P2=pl;

pl=pl->next;

)

if(flag=l)

printf("\n对不起,尚未收录您正查询的图书!!!”);

)

intpriceserch(BookPtra)

]

system(,,clsn);

jiemian();

BookPtrpl,p2;

pl=p2=a;

intflag=l;

intpri;

printf("请输入你要查询的价格:");

scanf(H%dH,&pri);

while(pl!=NULL)

{

ififpl->price=pri)

{

printf("图书名称:%s\n'*,p1->bookname);

printfC,图书作者:%s\n",p1->auther);

printf("出版社:%s\nM,pl->chubanshe);

printf("图书编号:%ld\n**,pl->booknumb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论