欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    SQLServer课程设计——图书馆管理系统(共32页).docx

    • 资源ID:14079550       资源大小:691.96KB        全文页数:32页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SQLServer课程设计——图书馆管理系统(共32页).docx

    精选优质文档-倾情为你奉上一、 题目描述本数据库的名字叫做图书馆管理系统数据库,主要是用来存储和修改图书馆中包括图书、图书类型、借阅者重要资料。二、 需求分析随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。三、 数据库中各表结构的清单3.1数据库中各表主要有: 3.1.1图书表:数据名称图书编号图书类别编号图书名称作者价格数量3.1.2图书类别表:数据名称图书类别编号类别描述图书数量3.1.3借阅表:数据名称借书证号身份证号姓名性别3.1.4借阅卡表:数据名称借书证号卡号借阅卡等级借阅数初始登记时间3.2数据间的联系:1.图书表<-图书类型表 2.借阅者表<->借阅者身份表 3.图书表-借阅者表3.3数据操作:添加、删减元组、修改相应属性的数据。3. 4字段定义 表名 主键 字段名 字段类型 字段大小 字段格式 查阅类型 1. 出版社 出版社ID 出版社ID 文本 50 文本框 名称 文本 50 文本框 2. 借阅者 借阅号 借阅号 数字 长整型 文本框 姓名 文本 8 文本框 通信地址 文本 50 文本框 电话 数字 长整型 文本框 3. 图书 图书编号 图书编号 文本 50 文本框 分类号 文本 50 组合框 书名 文本 50 文本框 出版社ID 文本 50 文本框 作者 文本 8 文本框 单价 货币 货币 数量 数字 长整型 文本框 4. 图书分类 分类号 分类号 文本 50 文本框 分类名称 文本 50 文本框 5. 借书记录 借阅号 借阅号 数字 长整型 组合框 图书编号 图书编号 文本 50 组合框 借阅日期 日期/时间 短日期 应还日期 日期/时间 短日期 已还 文本 50 文本框 6. 还书记录 借阅号 借阅号 数字 长整型 组合框 图书编号 图书编号 文本 50 组合框 还书日期 日期/时间 短日期 四源程序代码:#include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #include<ctype.h> #define STACK_INIT_SIZE 10 #define OK 1 #define TRUE 1 #define FALSE 0 #define ERROR 0struct student /*定义学生类型,用于存放借出的书籍*/ int carnum; char lendbook10; student1000;struct employ /*定义职工类型*/ int employnum; char employname15; int employage; char employsex2; char employleve10; long int employtage; employ50;struct book /*定义书的类型*/ int booknum; char bookname10; char bookcreat10; int turefalse; /*用于借书和还书模块判断一本书是否借出的条件*/ book1000;struct car /*借书卡的数据类型*/ int carnum; char studentname10; int studentclass; car100;huanbook() /*还书函数*/ FILE *fp,*fp2; /*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/ int i,n; int carnum; char lendbook10; printf("请你输入你的卡号n"); scanf("%d",&carnum); fp=fopen("car.txt","r"); /*读取卡号记录*/ for(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) /*for循环判断卡号是否存在*/ if(cari.carnum=carnum) /*卡号存在,进入下一循环*/ n=i; fclose(fp); printf("请输入你要还的书的名字n"); scanf("%s",lendbook); fp=fopen("record.txt","r"); for(i=0;fread(&studenti,sizeof(struct student),1,fp)!=0;i+) /*判断是否借阅了输入的书*/ if(strcmp(studenti.lendbook,lendbook)=0) /*借阅了该书,进入下一循环,否则出错显示*/ fclose(fp); fp=fopen("record.txt","r"); fp2=fopen("bookl.txt","w"); for(i=0;fread(&studenti,sizeof(struct student),1,fp)!=0;i+) if(strcmp(studenti.lendbook,lendbook)=0) continue; /*删除还掉的书的借书记录*/ fwrite(&studenti,sizeof(struct student),1,fp2); /*写入原来没还的书的记录*/ fclose(fp); fclose(fp2); fp=fopen("record.txt","w"); fp2=fopen("bookl.txt","r"); for(i=0;fread(&studenti,sizeof(struct student),1,fp2)!=0;i+) fwrite(&studenti,sizeof(struct student),1,fp); /*将借书记录信息写回*/ fclose(fp); fclose(fp2); fopen("bookl.txt","w"); /*清临时文件的记录*/ fclose(fp2); fp=fopen("book.txt","r"); fp2=fopen("bookl.txt","w"); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) /*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/ if(i=n) booki.turefalse=1; fwrite(&booki,sizeof(struct book),1,fp2); /*将还的书的原来状态设为无人借阅的*/ continue; fwrite(&booki,sizeof(struct book),1,fp2); fclose(fp); fclose(fp2); fp=fopen("book.txt","w"); fp2=fopen("bookl.txt","r"); for(i=0;fread(&booki,sizeof(struct book),1,fp2)!=0;i+) fwrite(&booki,sizeof(struct book),1,fp); /*将临时文件写回*/ fclose(fp); fclose(fp2); fopen("bookl.txt","w"); /*清临时文件*/ fclose(fp2); printf("还书完毕,按任意键返回n"); getch(); return 1; printf("你没有借这样的书,任意键返回n"); /*出错提示*/ fclose(fp); getch(); return 0; printf("系统没这样的卡,和管理员联系,按任意键返回n"); /*出错提示*/ fclose(fp); getch(); findbook() FILE *fp; char bookname10; int ture,i; fp=fopen("book.txt","r"); printf("请输入你要查找的书名n"); scanf("%s",bookname); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(bookname,booki.bookname)=0) if(booki.turefalse=1) printf("这本书的详细资料是:%d %s %s 此书现在无人借阅n按任意键返回n",booki.booknum,booki.bookname,booki.bookcreat); else printf("这本书已经有人借出n");fclose(fp);return 0; fclose(fp); return FALSE; printf("没有你要查询的书籍n"); fclose(fp); return FALSE; findbook1() FILE *fp; char bookcreat10; int ture,i; fp=fopen("book.txt","r"); printf("请输入你要查找的作者名n"); scanf("%s",bookcreat); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(bookcreat,booki.bookcreat)=0) if(booki.turefalse=1) printf("这本书的详细资料是:%d %s %s 此书现在无人借阅n按任意键返回n",booki.booknum,booki.bookname,booki.bookcreat); else printf("这本书已经有人借出n");fclose(fp);return 0; fclose(fp); return FALSE; printf("没有你要查询的书籍n"); fclose(fp); return FALSE; lendcount() FILE *fp; int i,n=0; fp=fopen("record.txt","r"); for(i=0;fread(&studenti,sizeof(struct student),1,fp)!=0;i+) printf("卡号:%d 借出的书籍:%s n",studenti.carnum,studenti.lendbook); n=n+1; fclose(fp); printf("目前共有%d本书借出n",n); printf("按任意键n"); getch();return n; chabook() char ch5; do printf("-欢迎进入图书查询系统!-n"); printf(" 1:<按书名查找>n"); printf(" 2:<按作者查找>n"); printf(" 0:<返回>n"); printf("请输入0-2,其他输入非法!n"); scanf("%s",&ch5); switch(ch5) case '1':findbook();getch();break; case '2':findbook1();getch();break; case '0':break; default:printf("无此操作n");getch();break; while(ch5!='0');return FALSE; lendbook() FILE *fp,*fp2; int i,n; int carnum; printf("请你输入你的卡号n"); scanf("%d",&carnum); fp=fopen("car.txt","r"); for(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) if(cari.carnum=carnum) n=i; fclose(fp); printf("请输入你要借阅的书的名字n"); scanf("%s",studentn.lendbook); fp=fopen("book.txt","r"); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(booki.bookname,studentn.lendbook)=0) if(booki.turefalse=0) printf("对不起,此书有人借出,请借其他书n");fclose(fp);getch();return; else fclose(fp); fp=fopen("record.txt","a+"); studentn.carnum=carnum; fwrite(&studentn,sizeof(struct student),1,fp); fclose(fp); fp=fopen("book.txt","r"); fp2=fopen("bookl.txt","w"); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(booki.bookname,studentn.lendbook)=0) booki.turefalse=0; fwrite(&booki,sizeof(struct book),1,fp2); continue; fwrite(&booki,sizeof(struct book),1,fp2); fclose(fp); fclose(fp2); fp=fopen("book.txt","w"); fp2=fopen("bookl.txt","r"); for(i=0;fread(&booki,sizeof(struct book),1,fp2)!=0;i+) fwrite(&booki,sizeof(struct book),1,fp); fclose(fp); fclose(fp2); fopen("bookl.txt","w"); fclose(fp2); printf("借书完毕,按任意键返回n"); getch(); return; printf("不存在这样的书,任意键返回n"); fclose(fp); getch(); return; printf("你的卡号不存在,请申请新卡,按任意键返回n"); fclose(fp); getch(); carcount() FILE *fp; int i,n=0; fp=fopen("car.txt","r"); for(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) printf("第%d张卡<卡号:%d 姓名:%s 班级:%d>n",i+1,cari.carnum,cari.studentname,cari.studentclass); n=n+1; fclose(fp); printf("目前共有%d本书n",n); printf("按任意键n"); getch(); delcar() FILE *fp,*fp2; int i; int carnum; char choice; fp=fopen("car.txt","r"); fp2=fopen("bookl.txt","w"); printf("请输入你要删除的卡号n"); printf("如果你输入的卡号存在,系统自动删除该信息!如果不存在,系统不做任何改动n"); scanf("%d",&carnum); for(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) if(cari.carnum!=carnum) fwrite(&cari,sizeof(struct car),1,fp2); fclose(fp); fclose(fp2); printf("是否真的要删除该卡?删除后该书籍的所有信息将无法恢复Y/Nn"); scanf("%s",&choice); if(choice='y'|choice='Y') fp=fopen("car.txt","w"); fp2=fopen("bookl.txt","r"); for(i=0;fread(&cari,sizeof(struct car),1,fp2)!=0;i+) fwrite(&cari,sizeof(struct car),1,fp); fclose(fp); fclose(fp2); fp2=fopen("bookl.txt","w"); fclose(fp2); printf("按任意键返回n"); getch(); return; else printf("按任意键返回n"); getch(); return; addcar() FILE *fp; int i=0; fp=fopen("car.txt","a+"); printf("请你输入卡号n"); scanf("%d",&cari.carnum); printf("请你输入学生姓名n"); scanf("%s",cari.studentname); printf("请你输入班级n"); scanf("%d",&cari.studentclass); fwrite(&cari,sizeof(struct car),1,fp); fclose(fp); printf("输入完毕,任意键返回n"); getch(); changemploy() FILE *fp,*fp2; char employname10,choice;int i; fp=fopen("employ.txt","r"); fp2=fopen("bookl.txt","w"); printf("请你输入要修改的职工的名字n"); scanf("%s",employname); for(i=0;fread(&employi,sizeof(struct employ),1,fp)!=0;i+) if(strcmp(employi.employname,employname)=0) printf("你所要修改的职工的资料如下,请选择你要修改的内容n"); printf("<职工号:%d职工名:%s 年龄:%d 性别:%s 学历:%s 工资:%d>n",employi.employnum,employi.employname,employi.employage,employi.employsex,employi.employleve,employi.employtage); printf("2:修改职工名n"); printf("3:修改职工年龄n"); printf("4:修改职工工资n"); printf("5:修改职工学历n"); printf("请输入1-5:"); scanf("%s",&choice); switch(choice) case '1': printf("请输入新的职工号n"); scanf("%d",&employi.employnum); fwrite(&employi,sizeof(struct employ),1,fp2); break; case '2': printf("请输入新的职工姓名n"); scanf("%s",employi.employname); fwrite(&employi,sizeof(struct employ),1,fp2); break; case '3': printf("请输入新的年龄n"); scanf("%d",&employi.employage); fwrite(&employi,sizeof(struct employ),1,fp2); break; case '4': printf("请输入新的职工工资n"); scanf("%d",&employi.employtage); fwrite(&employi,sizeof(struct employ),1,fp2); break; case '5': printf("请输入新的职工学历n"); scanf("%s",employi.employleve); fwrite(&employi,sizeof(struct employ),1,fp2); default:printf("没有这样的操作");break; continue; fwrite(&employi,sizeof(struct employ),1,fp2); fclose(fp); fclose(fp2); fp=fopen("employ.txt","w"); fp2=fopen("bookl.txt","r"); for(i=0;fread(&employi,sizeof(struct employ),1,fp2)!=0;i+) fwrite(&employi,sizeof(struct employ),1,fp); fclose(fp); fclose(fp2); fp2=fopen("bookl.txt","w"); fclose(fp2); printf("按任意键返回n"); getchar(); return; delemploy() FILE *fp,*fp2; int i; char employname10,choice; fp=fopen("employ.txt","r"); fp2=fopen("bookl.txt","w"); printf("请输入你要删除的职工名n"); printf("如果你输入的职工存在,系统自动删除该信息!如果不存在,系统不做任何改动n"); scanf("%s",employname); for(i=0;fread(&employi,sizeof(struct employ),1,fp)!=0;i+) if(strcmp(employname,employi.employname)!=0) fwrite(&employi,sizeof(struct employ),1,fp2); fclose(fp); fclose(fp2); printf("是否真的要删除该职工信息?删除后的所有信息将无法恢复Y/Nn"); scanf("%s",&choice); if(choice='y'|choice='Y')

    注意事项

    本文(SQLServer课程设计——图书馆管理系统(共32页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开