图书管理基本业务(数据结构课)程设计报告(4)

2019-04-02 12:03

某大学12级数据结构课程设计

参考文献

[1] 孙玉方,张乃孝.实用C语言程序设计[M].北京:北京大学出版(简体版),1989;台湾儒林出版公司(繁体版),1992.

[2] 许卓群,张乃孝,杨冬青,等.数据结构[M].北京:高等教育出版社,1987 [3]. 郭有强 ,C++面向对象程序设计[J] .清华大学出版社 ,2009; [4] 朱晓龙,Java语言程序设计,北京邮电大学出版社,2011;

[5] Wirth N.Algorithms + Data Structures = Programs[M].[S.I].Prentice Hall.1976.

14

某大学12级数据结构课程设计

附录源代码

#include #include #include typedef struct node { int num;//书号 char title[50];//书名 char author[50];//著作者 int num1;//现存量 int num2;//库存量 char name[50];//借阅者姓名 struct node *link; }linklist;

linklist* creatnull(linklist *l) {

l=(linklist*)malloc(sizeof(linklist)); l->link=NULL; return l; }

void creat(linklist *l)//采编入库 { int i,n; linklist *p,*tail,*q; tail=l;if(l->link!=NULL) q=l->link; else q=l; while(tail->link!=NULL){tail=tail->link;}; printf(\请输入入库图书的数量:\ scanf(\ for(i=1;i<=n;i++) {

p=(linklist*)malloc(sizeof(linklist)); printf(\请输入入库图书的书号:\ scanf(\ while(q->num!=p->num&&q->link!=NULL){q=q->link;} if(q->num==p->num) { q->num1=q->num1+1; q->num2=q->num2+1; printf(\该图书已在图书库存在,已自动增加图书数量\ else { printf(\请输入入库图书的书名:\ scanf(\

printf(\请输入入库图书的著作者:\ scanf(\

printf(\请输入入库图书的现存量:\ scanf(\

15

某大学12级数据结构课程设计

printf(\请输入入库图书的库存量:\ scanf(\ strcpy(p->name,\ tail->link=p; tail=p; tail->link=NULL;}; } }

void print(linklist *l)//输出所有图书的信息 { linklist *p; p=l->link; printf(\输出所有图书的信息:\\n书号\\t书名\\t著作者\\t现存量\\t库存量\\t借阅者姓名\ while(p) { printf(\or,p->num1,p->num2,p->name); p=p->link; } }

void locat(linklist *l,int i)//根据书号查找图书 { linklist *p; p=l->link; while(p->num!=i&&p->link!=NULL) { p=p->link; }; if(p->link!=NULL) {printf(\输出图书的信息:\\n书号\\t书名\\t著作者\\t现存量\\t库存量\\t借阅者姓名\ printf(\thor,p->num1,p->num2,p->name);} else printf(\该图书不在此书库!\}

void borrowbook(linklist *l)//借阅 { linklist *p;int i; printf(\借阅的图书书号:\ scanf(\ p=l->link; while(p->num!=i) { p=p->link; }; printf(\输出图书的信息:\\n书号\\t书名\\t著作者\\t现存量

16

某大学12级数据结构课程设计

\\t库存量\\t借阅者姓名\ printf(\thor,p->num1,p->num2,p->name); if(p->num1<=0) {printf(\该书库存不足,读者无法借阅.\ else{p->num1=p->num1-1; printf(\请输入借阅者的姓名:\ scanf(\ printf(\输出图书的信息:\\n书号\\t书名\\t著作者\\t现存量\\t库存量\\t借阅者姓名\ printf(\thor,p->num1,p->num2,p->name);}; }

void returnbook(linklist *l)//归还 { linklist *p;int i; printf(\请输入归还图书的书号:\ scanf(\ p=l->link; while(p->num!=i) { p=p->link; }; printf(\输出图书的信息:\\n书号\\t书名\\t著作者\\t现存量\\t库存量\\t借阅者姓名\ printf(\thor,p->num1,p->num2,p->name); p->num1=p->num1+1; strcpy(p->name,\ printf(\输出图书的信息:\\n书号\\t书名\\t著作者\\t现存量\\t库存量\\t借阅者姓名\ printf(\thor,p->num1,p->num2,p->name); }

int main() { linklist l,*head; head=creatnull(&l); printf(\ ┌*********************************┐\\n\ printf(\ │ 欢迎使用图书管理系统 │\\n\

printf(\ └*********************************┘\\n\ printf(\ 免费 高效 简单 实用\\n\

printf(\ int flag=1,a;

17

某大学12级数据结构课程设计

while(flag) {

printf(\馆藏图书信息\\n2:采编入库\\n3:图书查询\\n4:读者借阅\\n5:读者归还\\n6:退出图书管理系统\\n请输入您的选项:\ scanf(\ switch(a) { { case 6:flag=0; printf(\ ┌*********************************┐\\n\ printf(\ │ 已退出图书管理系统 │\\n\

printf(\

└*********************************┘\\n\ break; case 1:flag=1; print(head); printf(\ break; case 2:flag=1; creat(head); printf(\ break; case 3:flag=1; int number;//书号 printf(\请输入要查找的图书书号:\ scanf(\ locat(head,number); printf(\ break; case 4:flag=1; borrowbook(head); printf(\ break; case 5:flag=1; returnbook(head); printf(\ break; } } }; system(\ return 1;

18

注:

1, 因本人能力有限,该图书管理基本业务有一些漏洞,敬请谅解。 2, 此程序及此数据结构报告为本人原创,请网友尊重本人劳动及知识产权。


图书管理基本业务(数据结构课)程设计报告(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:逾期贷款处理中的法律实务答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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