资源描述:
《图书资料查找1341901201 黄鑫》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、图书资料查找1341901201黄鑫一、实验描述随着时代的发展及知识经济时代,管理信息系统在各行各业发挥着越来越重要的作用。二、实验任务设计一个计算机管理系统来完成图书馆的管理基本任务。三、概要设计1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;(2)对书号建立索引表(线性表)以提高查找效率;(3)采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;(4)借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;(5)归还:注销对借阅者的登记,改变该书的现存量。四、运行与测
2、试#include#include#include#includestructbooks_list{charauthor[20];/*作者名*/charbookname[20];/*书名*/charpublisher[20];/*出版单位*/charpbtime[15];/*出版时间*/charloginnum[10];/*登陆号*/floatprice;/*价格*/charclassfy[10];/*分类号*/structbooks_list*next;/*链表的指针域*
3、/};structbooks_list*Create_Books_Doc();/*新建链表*/voidInsertDoc(structbooks_list*head);/*插入*/voidDeleteDoc(structbooks_list*head,intnum);/*删除*/voidPrint_Book_Doc(structbooks_list*head);/*浏览*/voidsearch_book(structbooks_list*head);/*查询*/voidinfo_change(structbooks_list*head);/*修改
4、*/voidsave(structbooks_list*head);/*保存数据至文件*//*新建链表头节点*/structbooks_list*Create_Books_Doc(){structbooks_list*head;head=(structbooks_list*)malloc(sizeof(structbooks_list));/*分配头节点空间*/head->next=NULL;/*头节点指针域初始化,定为空*/returnhead;}/*保存数据至文件*/voidsave(structbooks_list*head){struct
5、books_list*p;FILE*fp;p=head;fp=fopen("data.txt","w+");/*以写方式新建并打开data.txt文件*/fprintf(fp,"┏━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━┳━━━━┓");/*向文件输出表格*/fprintf(fp,"┃登录号┃书名┃作者┃出版单位┃出版时间┃分类号┃价格┃");fprintf(fp,"┣━━━╋━━━━━╋━━━━━╋━━━━━╋━━━━━━╋━━━╋━━━━┫");/*指针从头节点开始移动,遍历至尾结点,依次输出图书信息*/w
6、hile(p->next!=NULL){p=p->next;fprintf(fp,"┃%-6.6s┃%-10.10s┃%-10.10s┃%-10.10s┃%-12.12s┃%-6.6s┃%.2f┃",p->loginnum,p->bookname,p->author,p->publisher,p->pbtime,p->classfy,p->price);}fprintf(fp,"┗━━━┻━━━━━┻━━━━━┻━━━━━┻━━━━━━┻━━━┻━━━━┛");fclose(fp);printf("已将图书数据保存到data.txt文件
7、n");}/*插入*/voidInsertDoc(structbooks_list*head){/*定义结构体指针变量s指向开辟的新结点首地址p为中间变量*/structbooks_list*s,*p;charflag='Y';/*定义flag,方便用户选择重复输入*/p=head;/*遍历到尾结点,p指向尾结点*/while(p->next!=NULL){p=p->next;}/*开辟新空间,存入数据,添加进链表*/while(flag=='Y'
8、
9、flag=='y'){s=(structbooks_list*)malloc(sizeof(st
10、ructbooks_list));printf("请输入图书登陆号:");fflush(stdin);scanf("%s",s->l