ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:110.20KB ,
资源ID:19163452      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19163452.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书馆Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书馆Word格式.docx

1、(2)学生信息包括学号,姓名,班级,在借册数,已还册数,违约次数。(3)借阅信息包括图书ID号,图书名,学号,姓名,借阅日期,应还日期,归还日期。(4)采用顺序存储线性表表示图书信息。采用顺序存储线性表表示学生信息。采用双向循环链表表示借阅信息 。其中一个双向循环链表表示在借的借阅信息,按照图书ID号非递减排序;另一个双向循环链表表示已还的借阅信息,按照图书ID号非递减排序。(5)图书信息,学生信息、借阅信息采用文件方式输入。图书信息示例如下,每条信息一行: 16000001 数据结构 清华大学出版社 2012.10 30 学生信息示例如下,每条信息一行: 161340106 张三 16134

2、01 5 10 借阅信息示例如下,每条信息一行: 标志位1(1 表示借阅 2表示归还) 16000001 数据结构 161340106 张三 2013.9.12 (借阅时表示借阅日期,应还日期自动生成,根据借阅日期+60天; 归还时表示归还日期, 归还日期要在借阅日期之后,应还日期之前,如果超过应还日期,则记录一次违约次数)。 例如借阅: 1 16000001 数据结构 161340106 张三 2013.9.12 归还: 2 16000001 数据结构 161340106 张三 2013.10.20(6)规定每位学生不能同时借阅同一本书两本及以上。图书归还后,将该条借阅信息从借阅链表中转移到

3、归还链表中。(7)要求模拟数据中图书信息至少30本以上,学生信息至少20条以上,借阅信息至少50条以上。(8)能够统计每一本图书被借阅次数(已还),在借册数。查询每一位学生的借阅历史明细记录。统计学生平均借阅次数,最大借阅次数,最少借阅次数。(9)可在此要求基础上进行功能扩展。程序运行平台 该程序是用VC+6.0制做的,使用Microsoft Visual C+ 6.0运行该程序,具体操作是:打开Microsoft Visual C+ 6.0,菜单栏里点文件打开工作区找到“图书管理系统.dsw”这个文件打开,或者在资源管理器中双击该文件,此时,VC+6.0会自动打开,并载入该系统相关资源,点击

4、Run命令菜单或者或用快捷键Ctrl+F5运行该程序。trl计分析能_程序类说明书籍类记录public:int no; /图书编号char bname20; /图书名称char autor20; /出版厂家struct book /生产厂家char date20; /日期;typedef structchar name20;int l;int ltime;/在借数目int rtime;/已还数目Book;读者类typedef struct char name10;/姓名 int num; /学号, int Class;/班级 int lstu;/在借册数 int rstu;/已还册数 int

5、disobey;/违约次数 int times;/借阅次数stu;记录模块 typedef int ElemType;typedef char datatype;typedef struct node int freq; int no; /编号 char bname20;/书名/学号 int LDy,LDm,LDd;/借书日期 int Rdy,Rdm,Rdd;/应还日期 int RDy,RDm,RDd;/还书日期 struct node *next; struct node *prior; NODE,*DuLinkList;函数分析:Void show() 显示图书库中的书籍信息int fin

6、d() 从图书库中查找书籍void setRd(int &Rdy,int &Rdm,int &Rdd,int y,int m,int d)生成应还日期void z(int i,SqList &L,SqList2 &L3,DuLinkList &L1,DuLinkList &L2) 管理员界面void lend(SqList &L1) 使用借书程序void rev(SqList &L2) 使用还书程序void showself(char *q) 自身借书查询void SH(SqList &L) /书的借阅情况模块分析我设计的是一个图书馆管理系统,主要分为3大模块 1书籍模块 2读者模块 3记录模

7、块 该系统主要完成以下功能:1书籍模块:1书籍查询2 顺序存储线性表表示图书信息2读者模块 1 学生信息查询2借书3还书4借书查询3记录模块 1生成应还日期 2 建立借书表 3 建立还书表 4 显示书籍借还情况系统特点:系统要能够对相应的数据进行很好的测试,系统的统计对每一种书籍,的名称,编号,作者,数量在文件中进行进行记录;系统数据的读者的借书情况也在文件中储存,使数据可以很好的储存和调用;系统统计书籍的基本信息较全面,包括每一种书籍,的名称,编号,作者,数量;书籍查询学生信息借书表查询学生借阅信息书籍借阅信息存在的不足与对策由于自身能力有限,所以没有设计添加书籍的功能,也没有将新的信息保存

8、在文件中。在设计过程中由于设计者的编程功底欠缺,因此学习过程较为艰辛,需要解决的问题也比较多。在以后的学习中,应该循序渐进,不可急于求成,先打好基础,这样才能更好地发展。体验感悟在编写程序的过程中,深切的体会到自身能力还有待提高,通过大规模的查询网上资料与相关书籍我学习到了很多以前不知道的编程方法与各种奇妙的函数语句时,提高了自己对程序设计本身的兴趣,更加乐意去学习这方面的新的东西,并在不断地自我挑战中收获着,或知识技能,或信心勇气。希望自己在今后的学习中可以更好的完善自我。程序源代码#ifndef LIBRARY_H#define LIBRARY_H#include fstreamiostr

9、eam#includeusing namespace std;#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define TRUE 1#define FALSE 0#define ERROR 0#define OK 1#define OVERFLOW -2 /生产厂家 Book *p;Book *q,*newbase; Book *elem; int length; int listsize;SqList;int IistList_Sq(SqList &L)/构造一个空线性表L L.elem=(Book*)malloc(LIST_INIT

10、_SIZE*sizeof(Book); if(!L.elem)exit(OVERFLOW); L.length=0; L.listsize=LIST_INIT_SIZE; return OK;int IistDelete_Sq(SqList &L,int i,Book &e)/在顺序线性表L中删除第i个元素,并返回e if(iL.length) return ERROR; p=&(L.elemi-1); e=*p; q=L.elem+L.length-1; for(+p;p=q;+p) *(p-1)=*p; -L.length;int IistInsert_Sq(SqList &L,int i

11、,Book e)/在顺序线性表L中第i个位置之前插入新的元素e if(i=L.listsize) newbase=(Book*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(Book); if(!newbase)exit(OVERFLOW); L.elem=newbase; L.listsize+=LISTINCREMENT; q=& for(p=&(L.elemL.length-1);p-p) *(p+1)=*p; *q=e; +L.length;void SET(SqList &L) Book q; int i=1; FILE*fp; c

12、har c; if(fp=fopen(a.txt,r)=NULL) cout 文件打开失败!n; exit(0); do fscanf(fp,%d %s %s %s %d ,&no,name,autor,date,&l); q.no=no; strcpy(q.name,name); strcpy(q.autor,autor); strcpy(q.date,date); q.l=l; q.ltime=q.rtime=0; IistInsert_Sq(L,i,q); i+; c=fgetc(fp); if(c=#)break; while(!feof(fp); fclose(fp);void Sh

13、ow(SqList &L) int i; cout *图书目录*endl;* for(i=0;iL.length;i+) cout编号:L.elemi.not书名:L.elemi.name厂家:L.elemi.autor出版日期:L.elemi.date0)现有 L.elemi.l本n else已借完n#endif#ifndef STUDENT_H#define STUDENT_H stu *elem;SqList2;int IistList_Sq1(SqList2 & L.elem=(stu*)malloc(LIST_INIT_SIZE*sizeof(stu);int IistInsert_

14、Sq1(SqList2 &L,int i,stu e)/在顺序线性表L中第i个位置之前插入新的元素estu *p,*q,*newbase; newbase=(stu*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(stu);void readstu(SqList2 & stu q; char name10,c;b.txt%s %d %d %d %d %d,name,&num,&Class,&lstu,&rstu,&disobey); q.num=num; q.Class=Class; q.lstu=lstu; q.rstu=rstu; q.d

15、isobey=disobey; q.times=lstu+rstu; IistInsert_Sq1(L,i,q);void Show2(SqList2 & *学生目录*学号:L.elemi.num姓名:班级:L.elemi.Class在借数目:L.elemi.lstu已还数目:L.elemi.rstu违约次数:L.elemi.disobeyvoid Time(SqList2 &l) int max,min,all; float avd; max=min=all=l.elem0.times; for(int i=1;l.length;i+) if(maxl.elemi.times)min=l.e

16、lemi.times; all=all+l.elemi.times; avd=(float)all/(float)l.length; printf(最大借阅次数%d 最少借阅次数%d 平均:%5.2fn,max,min,avd);#endif#ifndef RECORD_H#define RECORD_H#includeiostreamstdio.htypedef int ElemType;Rdd,int y,int m,int d) /生成应还日期 int i=0; if(y%4=0&y%100!=0)i=1; if(y%400=0)i=1; if(m=3|m=4|m=5|m=6|m=8|m

17、=9|m=10) Rdd=d-1;Rdy=y;Rdm=m+2; if(m=7) Rdd=d-1; if(m=11) Rdd=d-1;Rdy=y+1;Rdm=1; if(m=12) Rdd=d-1;Rdm=2; if(m=12&d=30&i=0) Rdd=1;Rdm=3;d=31&i=0) Rdd=2;i=1) Rdd=1; if(m=1) Rdd=d+1; if(m=1&i=0)Rdd=1;Rdm=4;i=1) Rdd=d; if(m=2) Rdd=d+1; if(m=2&void Iistbook(SqList &L,int x,int RD) for(int i=0; if(L.elemi.no=x) if(RD=0) L.elemi.ltime+; else L.elemi.rtime+; struct node *create(int J,SqList &L1) /创建双向循环链表 FILE*

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

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