数据结构课程设计图书管理系统

2026/1/24 20:52:56

《数据结构课》程设计报告

}

return 0;

printf(\书号 书名 作者 出版社

名称 存馆数量 定价\\n\

printf(\ %s %s %

void LocateElem(LinkList *&L) //查询 {

LinkList *p=L->next; //pint c; int x=0;

printf(\ 1 按书名查询:\\n\指向第一个数据结点

s %d %s\ata.name,p->data.author,p->data.press,p->data.count,&p->data.price); printf(\ } }

if (p==NULL&&x==0)

printf(\对不起,不存在此图

书!\\n\

break;

case 2:printf(\请输入图书作者:\\n\ while(p!=NULL)

p=p->next;

x++;

char name1[10],author1[10],press1[10]; printf(\ 2 按作者名查询:\\n\ printf(\ 3 按出版社名称:\\n\

printf(\ 4 返回\\n\

printf(\ 请选择1--4进行操作:\\n\

{

printf(\您的输入有误!\\n\scanf(\

scanf(\if(c>4||c<1) {

{

if(strcmp( name1,p->data.name)!=0) // p=p->next;

查找图书书名 else

{ } switch(c) {

case 1:printf(\请输入图书书名: \\n\ scanf(\ while(p!=NULL)

scanf(\

if(strcmp( author1,p->data.author)!=0)//查

p=p->next; {

printf(\书号 书名 作者 出版

找图书作者 else

printf(\ %s %s %s %d %s\ata.name,p->data.author,p->data.press,p->data.count,&p->data.price); printf(\

第 12 页 共 19页

社名称 存馆数量 定价\\n\

《数据结构课》程设计报告

} }

p=p->next ; } }

case 4:

break;

x++;

if (p==NULL&&x==0)

printf(\对不起,不存在此图

书!\\n\

break;

case 3:printf(\请输入图书的出版社名称:

int Sort(LinkList *&L) //递增有序排序(直接插入排序法) {

LinkList *p=L->next,*q,*r; //p指向第一个数据结点

if(p!=NULL) //若原单链表中有一个或以上的数据结点 {

r=p->next; //r保存*p结点 p->next=NULL; //构造只含一 p=r;

while(p!=NULL) {

r=p->next; //r保存*p结点 q=L;

直接后继结点的指针 个数据结点的有序表

\\n\

scanf(\ while(p!=NULL) {

if(strcmp( press1,p->data.press)!=0)//查

{

printf(\书号 书名 作者 出版

p=p->next;

找图书出版社名称 else

printf(\ %s %s %s %d %s\ata.name,p->data.author,p->data.press,p->data.count,&p->data.price); printf(\ } }

if (p==NULL&&x==0)

printf(\对不起!不存在此图书

\\n\

break;

p=p->next;

x++;

社名称 存馆数量 定价\\n\

的直接后继结点的指针

while(q->next!=NULL&&q->next->data.numdata.num)

q=q->next; //在有序表中找

插入*p的直接前驱结点*q的位置

p->next=q->next; //将*p插入到*q q->next=p;

p=r; //扫描原单链

之后

表余下的结点

第 13 页 共 19页

《数据结构课》程设计报告

}

} {

printf(\请输入修改后的信息!\\n\ printf(\书号 书名 作者 出版社名称 存馆数量 定价\\n\

scanf(\ata.name,p->data.author,p->data.press,&p->data.count,p->data.price); printf(\修改成功!\\n\

return 0; }

void Display(LinkList *&L) //输出排序结果 {

LinkList *p=L->next; while (p!=NULL) {

printf(\书号 书名 作者 出版社名

return 0; } p=p->next; }

printf(\不存在此图书\\n\ return 0;

int ListDelete(LinkList *&L) //删除 { LinkList *p=L->next,*q=L;

char name1[10]; if(p!=NULL) { }

while(p->next!=NULL&&strcmp(p->data.{

p=p->next; q=q->next; }

printf(\请输入要删除的书名:\ scanf(\

称 存馆数量 定价\\n\

printf(\ %s %s %s } %d %s\p->data.author,p->data.press,p->data.count,p->data.price);

printf(\ }

int ModifyList(LinkList *&L) //修改 { LinkList *p=L; char name1[10];

printf(\请输入要修改的图书的书名:\\n\ scanf(\ while(p!=NULL) {

if(strcmp(name1,p->data.name)==0) //查找所要修改的书名

p=p->next; }

name,name1)!=0)

if(p->next!=NULL) //如果p此时不是最后一个节点,说明此时已经找到书

第 14 页 共 19页

{

《数据结构课》程设计报告

q->next=p->next; printf(\删除成功!\\n\return 0; }

else if(strcmp(name1,p->data.name)==0) }

void Return(LinkList *&L) //归还 {

LinkList *p=L->next; char name1[10];

printf(\输入归还书的书名: \\n\scanf(\

while(p->next!=NULL&&strcmp(name1,p{ }

printf(\借书成功!\\n\

p->data.count--;

if(p->next==NULL&&strcmp(name1,p->data.name)!=0) //如果p此时为最后一个结点并且没有找到与之相符的书名 }

void Borrow(LinkList *&L) //借阅 {

LinkList *p=L->next; char name1[10];

printf(\请输入要借阅的图书的书名:\\n\ scanf(\

while(p->next!=NULL&&strcmp(name1,p->data.name)!=0) p=p->next;

if(p->next==NULL&&strcmp(name1,p->data.name)!=0)

printf(\此图书不存在!\\n\ else if(p->data.count<1) printf(\此书已借完!\\n\

{

printf(\你输入的书名不存在,请核实} else {

q->next=NULL;

printf(\删除成功!\\n\ } return 0;

后重新输入!\\n\

->data.name)!=0) p=p->next;

if(p->next==NULL&&strcmp(name1,p->data.name)!=0)

printf(\错误!此图书不存在!\\n\else if(strcmp(name1,p->data.name)==0) {

printf(\该书归还成功!\\n\ p->data.count++; }

void main() //主函数 {

int s; LinkList *L;

第 15 页 共 19页

}


数据结构课程设计图书管理系统.doc 将本文的Word文档下载到电脑
搜索更多关于: 数据结构课程设计图书管理系统 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219