c++程序设计图书管理系统
- 格式:docx
- 大小:41.25 KB
- 文档页数:21
C语言程序课程设计报告标题:图书管理系统专业:软件工程类:设计主题图书馆管理系统主要包括管理图书的库存信息,每本书的借阅信息,每个人的借阅信息。
每本书的库存信息包括数量、书名、作者、出版日期、金额、类别、总入库数量、当前库存、已借出图书数量等。
每本借书包括以下信息:编号、书名、金额、借书证号、借阅日期、到期日期、罚款金额等。
每个人的图书馆信息包括借书证号、班级、学号等。
该系统的功能包括以下几个方面:一、借阅资料管理要求对图书、期刊、报纸、期刊进行分类管理,这样操作会更加灵活方便。
可以随时添加、删除、修改、查询等相关资料。
b、借贷管理(1)借贷操作(2)还书操作(3)更新治疗提示:以上处理需要相互配合,通过编辑赔偿和违约金金额来完成图书借还业务的各种登记。
例如,读者在还书时,不仅要更新图书的库存信息,还要自动计算图书的罚款金额。
并显示读者当天到期未还图书的所有信息。
c、读者管理读者等级:对借阅的读者进行分类,比如可以分为教师和学生两类。
并定义每类读者可以借阅的图书数量及相关借阅时间等信息。
读者管理:可以录入读者信息,以及挂失或注销读者、查询等服务。
D.统计分析可以随时进行统计分析,及时了解当前的借阅情况和相关数据状态。
统计分析包括借阅列表、数据状态统计、借阅统计等功能分析,显示当日所有到期未还的图书信息。
e系统参数设置:您可以设置相关的系统服务器参数,如违约金金额、最大借用天数等。
根据题目分析这项工作分为六个模块。
1.图书数据2.借款人信息3.借用模块4.还书模块5.照看书籍6.查询模块模块一:书号,书名,作者,出版时间,价格,份数,页数。
模块二:单位、借阅书目、借阅时间模块3:输入书名、书号、借书证。
模块四:登记书号,还书,处理罚款。
模块5:管理书库中的书籍,将新书入库,删除旧书,堆栈查询模块6:图书查询。
数据测试源代码汉字菜单可以参照以下代码编写:#包含“stdio.h”。
主(){ char c;int I;做{clr SCR();for(I = 0;i < 80i++)printf(" * ");printf("\t 1:添加书籍\ n ");printf("\t 2:列出书籍\ n ");printf(" \ t 3:s reach books \ n ");printf("\t 4:借书\ n ");printf("\t 5:返回图书\ n ");printf("\t6:退出\n ")printf(" \ t请选择输入选项[1 \ \ 2 \ \ 3 \ \ 4 \ \ 5 \ \ 6]:\ n ");做{c = getchar();}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&!='6');getchar();开关(c){事例“1”:输入();打破;案例“2”:del();打破;事例“3”:find();打破;case“4”:arrange();打破;事例“5”:right();打破;案例“6”:出口(0);}Printf("按任意键返回主菜单:\ n ");getchar();clr SCR();} while(1);}#include <stdio.h >定义图书结构*/结构书{int _ id#include <stdlib.h >#include <string.h >#定义借入1#定义NOBORROW 0/*//数字,唯一char _ name[32];//书的名称,不唯一int _ type//书的类型,不唯一int _ status//书的状态,借出/未借出int _ count//图书借出的次数struct Book * _ next//下一本书结构书* _ prev//前一本书};定义书籍类型*/操作目录提示*/操作目录提示1 */添加图书类型并显示用户信息*/添加图书状态并显示用户信息。
#include〈stdio.h〉#include<windows.h〉#include〈string。
h〉#include<conio。
h>#define M 100struct books{char tsmc[12];inttsbh;float dj;char zz[12];char czzt[12];char xm[12];char xb[12];intxh; }s[M];int N;bool flag;intmain (){intsele;flag=0;sele=1;void sr();void cx();void sc();void js();void hs();void tc();void jsh();//system ("tsgl”);printf("\n\n");printf(" ************************\n"); printf(" 1:输入2:查询3:删除\n");printf(”4:借书5:还书0:退出\n");printf(” ************************\n"); while(1){printf(”\n\n请输入功能序号:");scanf (”%d",&sele);if(sele>=0 && sele<=5){switch(sele){case 1:sr();break;case 2:cx();break;case 3:sc();break;case 4:js();break;case 5:hs();break;case 0:jsh();break;}if(flag)break;printf(”\n\n");printf(” ************************\n”); printf(" 1:输入2:查询3:删除\n");printf(”4:借书5:还书0:退出\n”);printf(” ************************\n”);}else{printf(”输入错误请再次输入|\n\n");printf("\n\n");printf(” ************************\n”);printf(" 1:输入2:查询3:删除\n”);printf(”4:借书5:还书0:退出\n");printf(" ************************\n");}printf("\n\n让任意键继续\n”);} //wr_file();}/******主函数***//*********输入*********/void sr(){intn,i;N=0;printf("可输入的书本数:");scanf("%d",&n);N=n+N;printf("请输入相关信息:\n");for(i=1;i<=n;i++){printf(”图书名称:”);scanf(”%s",s[N-n-1+i]。
程序设计实践信息类 1110开辟一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)(1)图书信息录入功能(图书信息用文件保存)--输入(2)图书信息浏览功能--输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):①按书名查询②按作者名查询③ 按照价钱排序④按出版时间排序等等(4)图书信息的删除与修改(1)简单的权限处理 (2)报表打印功能(3)甚至根据自己情况,可以加之学生信息,并扩充为图书借阅系统。
(4) 含糊查询 (5)综合查询 (6)统计功能比如统计处某一类别的图书信息或者筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。
一、提交材料应包括: (1)系统源代码 (2)课程报告二、整个设计过程具体要求(1要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;(2要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)(3要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;(4按照要求完成系统设计和实现报告,并进行总结、答辩。
1 需求分析这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。
通过这些信息使之提供以下功能:(1)图书信息创建功能。
其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。
(图书信息用文件保存)。
(2)图书信息查看功能。
用来查看各项图书信息。
(3)图书信息查找功能。
通过已知信息来查找想要的图书。
(4)图书信息的删除。
可以删除特定图书。
(5)图书信息的修改。
可以修改图书的各项信息。
(6)图书信息的排序功能。
按图书信息对录入的图书进行排序。
(7)菜单选择功能,此功能也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能2 概要设计图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。
HUNAN UNIVERSITY C语言程序训练报告【设计目的】图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等。
图书信息管理系统,使之能提供以下功能:1)系统以菜单方式工作2)读者注册功能3)读者登录功能4)读者借书还书功能5)查询读者借阅记录6)查询在管图书信息功能7)修改密码功能8)管理员登录功能9)增加、修改、删除图书功能10)查看图书信息功能【设计思路】根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。
【总体设计】【详细设计】1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用源代码为//rkou。
c 程序的入口#include<stdio。
h>#include〈stdlib.h〉#include〈string。
h>#include<conio.h〉#include"head.h”#include”fuc.h"#include”picture。
h"#include”jiangzhuo1.h"#include”output。
h"main(){ int i=setup();switch (i){ case 0: while(n<50){ conects(n);}default:eros(i);}system("pause”);}2.程序中全局变量声明定义,以及所有函数声明源代码为struct book //图书结构体声明{ char name[50],classic[10],writer[20]; //书名,类别,作者int jn; //借出数量int zn; //在馆数量int bh; //图书编号};struct information //管理员和读者结构体声明{char name[10],no[12],key[10]; //姓名,账号,密码};struct show //图书借阅记录的结构体声明{char name1[10],name2[50],writer[20],no[12]; //书名,读者姓名,书的作者,读者账号int bh,o; //图书编号,借阅状况(未还,已还)};//以下为用到的全局变量struct book bk;struct information aa,rr;struct information stu[100];struct book bb[100];struct information ad[100];struct show ss[100];int i,j,k,s;int n=0;int x;FILE *fp;//以下函数主要功能:方便窗口与用户之间交换信息int regst();void password(char *a,int b,int j);//登陆时的输入函数void examine(int *a,int b); //保证键入的数据是数字void changepaw(int a,int b); //修改密码用到的提示函数void inputs0(); //输出图书类别以供用户选择void inputs1(int a,int b,int c,int d,int e); //方便用户输入图书各项信息(如书名,编号)void inputs2(int a,int b,int c); //方便用户输入管理员的信息(如账号姓名)void inputs3(int a,int b,int c);//方便用户输入读者的信息(如账号姓名)void eros(int i); //错误显示函数,操作一旦出错,则会出现相应的错误信息void conects(int j); //连接函数,选择界面//一下函数主要用于改变文件的内容并保存int setup(); //数据初始化函数int xzc(char no[12],char key1[10],char key2[10],char name[10]);//读者注册函数int exam(char no[10],char key[10],int n);//密码账号检验函数int mp(char no[12],char key1[10],char key2[10],char key3[10],int n); //密码修改函数void paixu(); //对图书按照编号从小到大的顺序进行排列int sc(int bh); //管理员删除图书信息函数int zj(struct book bb); //管理员增加图书信息函数int xg(struct book bb);//管理员修改图书信息函数int js(int bh,char no[12]); //借书函数int hs(int bh,char no[12]); //还书函数int bh1(int bh); //判断该编号的图书信息是否存在函数void bh2(int bh); //按照图书编号显示图书信息函数int sm1(char name[50]);//判断是否存在该名字的图书信息函数void sm2(char name[50]); //按照图书名字显示图书信息函数int zz1(char writer[20]); //判断是否存在该作者的图书信息函数void zz2(char writer[20]);//按照图书作者显示图书信息函数void lb(char classic[10]); //按类别显示图书信息int rck1(int bh);//判断该编号的图书的借书记录是否存在void rck2(int bh);//按编号显示图书借书情况int gck21(char no[12]);//判断该账号读者的借书记录是否存在void gck22(char no[12]); //按读者显示借书情况2void gck12(); //显示全部借书情况void gck23();//管理员查看所有书的信息void copy(int bh); // 按编图书编号将图书信息暂时保存在另外一个结构体里面void copy2(char no[12]); //按管理员账号将管理员信息暂时保存在另外一个结构体里面void copy3(char no[12]);//按读者账号将读者信息暂时保存在另外一个结构体里面//pic()函数:每个函数表示一个界面,conects函数将它们连接起来void pic0();void pic1();void pic2();void pic3();void pic4();void pic5();void pic6();void pic7();void pic8();void pic9();void pic10();void pic11();void pic12();void pic13();void pic14();void pic15();void pic16();void pic17();void pic18();void pic19();void pic20();void pic21();void pic22();void pic23();void pic24();void pic25();void pic26();void pic27();void pic29();void pic30();void pic31();void pic32();void pic33();void pic34();void pic35();void pic36();void pic37();void pic38();void pic39();void pic40();void pic41();void pic42();void pic43();void pic44();void pic45();void pic46();void pic47();void picc();3.用户输入以及界面反馈用到的功能函数源代码为int regst(){char num[12],paw1[10],paw2[10],name[10];int i;printf(”请输入账号\n(11字符以内,不能含有中文字符):\n”);password(num,0,11);printf(”输入您的密码\n(9字符以内,不能含有中文字符):\n");password(paw1,1,9);printf("请再次输入密码:\n”);password(paw2,1,9);printf("输入您的姓名:\n");gets(name);system("cls”);i=xzc(num,paw1,paw2,name);return i;}void password(char *a,int b,int j){ char c;int i=0;while((c=getch())!=’\r’){if(c==8){ printf(”\b \b”);if(i〉0)i-—;}else if(i<j){if(b)printf("*”);else printf("%c",c);a[i]=c;i++;}if(i==j){ printf("\a");}}a[i]='\0';printf("\n");}void examine(int *a,int b){ while(!scanf(”%d",a)){ while(getchar()!='\n’);printf("请输入数字!!\n");}rewind(stdin);if(b) system("cls”);}void changepaw(int a,int b){ int i;char c1[10],c2[10],c3[10];printf("请输入原密码\n”);password(c1,1,9);printf("请输入新密码\n");password(c2,1,9);printf(”请再次输入新密码\n”);password(c3,1,9);system("cls”);if(b){i=mp(aa。
#include<stdio。
h>#include 〈stdlib。
h>#include <string.h>#define num 7 //全局定义void showmain() //显示菜单{printf("\n\n 欢迎使用图书借阅管理系统\n\n");printf(" 1、查询所有图书\n\n");printf(" 2、归还现有图书\n\n");printf(" 3、租借现有图书\n\n”);printf(”0、退出借书系统\n\n");printf(”请输入您所需的服务编号:”);}void viewbooks(int score[num],char name[num][100],char writter[num][100],double yajin[num],int free[num],double jiage[num],int flag[num]){int i;int j;for(i=1;i〈7;i++)//设置编号score[i]=i;yajin[1]=26.00;//将原图书的各项值保存yajin[2]=28.50;yajin[3]=98。
00;yajin[4]=79.80;yajin[5]=49。
00;yajin[6]=15.00;for(i=1;i<7;i++)//将原图书的各项值保存{free[i]=30;jiage[i]=0.5;}flag[1]=0; //flag为0代表已借出,为1代表未借出flag[2]=1;flag[3]=1;flag[4]=0;flag[5]=1;flag[6]=1;printf("编号\t|书名\t |作者\t|押金\t|免费天数\t|收费价格\t|出租状态\n"); //制表同时输出printf(”—--——-—---——-------—--——-————-——-———-—-—————--—————-—--——-——————-—-—---——-—\n”);for(i=1;i<7;i++){printf(”%d\t|%s\t|%s\t|%。
基于c语言的图书管理系统毕业(设计)论文图书分类号:密级:毕业设计论文基于C语言的图书管理系统Design and Implementation of Books Management System Based on C Language学生姓名学院名称专业名称指导教师2012年5月日摘要人类已经跨入了新世纪,正在进入信息化时代。
信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求。
随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增加,数据处理手工操作,工作量大,出错率高,出错后不易更改的手工方式,已经不能满足要求。
基于此问题,建立一个规范化,系统化,程序化的图书管理系统迫不急待。
为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写程序以提高图书馆的管理效率。
使用程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,以便全面掌握图书的流通情况等等。
关键词:C语言;图书管理;数据处理;信息技术AbstractMankind has entered the new century, which is entering the information age. Wave of information technology, the network revolution has brought about the impact, but also make the library service has been badly hit,and library management and services of traditional methods can not meet the growing literature on the information the reader needs. With the continuous increase in the collections, books, data entry and also a corresponding increase in the difficulty of queries, data processing manual operation, heavy workload, error rate, error is not easy to changeafter the manual mode can no longer meet the requirements.Based on this problem, the establishment of a standardized, systematic, process-oriented library management system can not wait. For the convenience of library books, readers information, such as borrowing and returning books for efficient management, especially the preparation of the management procedures to enhance the efficiency of the library. After using the program, staff can search for certain readers, borrow some books, can also borrow books on the current situation of some statistics in order to fully grasp the flow of books.KEY WORDS:C language, Library Management, Data Processing, Information Technology目录摘要IAbstract II1 绪论11.1 选题的背景和选题的意义 1 选题的背景 1选题的意义 11.2 系统的特点 21.3 需求分析 22 系统的总体设计 32.1 系统总体设计 32.2运行环境和开发工具 3具 3境 42.3 系统流程图 43 系统的详细设计 63.1主体界面设计 66块 7块 8块 9块 10块 12块 14数 154 系统调试165系统运行17结论21致谢22参考文献23附录程序源代码 241.1 选题的背景和选题的意义选题的背景随着社会,信息系统。
图书信息管理系统c语言程序设计流程图下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!图书信息管理系统C语言程序设计流程图详解在计算机科学中,设计和开发一个图书信息管理系统是一个常见的实践项目。
C语言程序设计大作业设计报告一.设计方案本程序旨在用一个C语言程序实现简单的图书馆图书管理系统,程序包含平时的借书,还书,新书录入,查询功能,用简单明了的人机交互界面快速实现图书管理的目的。
二.模块说明及代码分析1.主函数:源代码:void main(){int a;printf("\n");printf("\n");printf(" ( ^_^ ) WELCOME!\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t〉〉-------------BJTU图书管理系统--------------〈〈");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");do {printf("1.借书 2.还书 3.新书录入4.查询 0.退出");printf("\n");printf("\n");printf("\n");printf("\n");printf("请选择序号:");scanf("%d",&a);switch(a){case 1:jieshu();break;case 2:huanshu();break;case 3:xinshu();break;case 4:chaxun();break;case 0:break;default:printf("请选择正确的序号!\n");printf("\n");}}while(a!=0);printf("谢谢使用图书管理系统!\n");}主函数提供人机交互界面,让操作者选择所需的操作项目,并有退出选项。
图书管理系统程序设计图书管理系统是图书馆日常工作中不可或缺的一部分,它通过计算机技术实现对图书的自动化管理,提高图书馆的管理效率和服务质量。
下面将详细介绍图书管理系统的程序设计。
系统需求分析在设计图书管理系统之前,首先要进行需求分析,明确系统需要实现的功能。
一般来说,一个基本的图书管理系统应包括以下几个功能模块:1. 用户管理:包括用户注册、登录、权限分配等。
2. 图书管理:包括图书的添加、删除、修改和查询。
3. 借阅管理:实现图书的借出、归还、续借等功能。
4. 查询统计:提供图书查询、借阅记录查询、逾期统计等。
5. 系统维护:包括数据备份、恢复、系统设置等。
系统设计1. 系统架构:通常采用B/S(浏览器/服务器)架构,用户通过浏览器访问系统。
2. 数据库设计:数据库是图书管理系统的核心,需要设计合理的数据表结构,如用户表、图书表、借阅记录表等。
3. 用户界面设计:界面应简洁明了,操作方便,提供良好的用户体验。
技术选型1. 前端技术:HTML、CSS、JavaScript,可能还会使用框架如React或Vue.js。
2. 后端技术:Java、Python、Node.js等,根据开发团队熟悉度选择。
3. 数据库技术:MySQL、PostgreSQL、SQLite等关系型数据库。
功能实现1. 用户管理- 用户注册:收集用户信息,如用户名、密码、邮箱等,并存储到数据库。
- 用户登录:验证用户信息,提供登录服务。
- 权限控制:根据用户角色分配不同的操作权限。
2. 图书管理- 图书录入:允许管理员添加新图书信息,包括书名、作者、ISBN、出版社等。
- 图书修改:提供图书信息的更新功能。
- 图书删除:允许管理员从系统中移除不再需要的图书记录。
- 图书查询:提供多种查询方式,如按书名、作者、ISBN等。
3. 借阅管理- 借书操作:记录用户借阅的图书信息,包括借阅日期和预计归还日期。
- 还书操作:更新图书的借阅状态,记录归还日期。
c语言课程设计优秀案例C语言是一门广泛应用于计算机科学领域的编程语言,它具有高效、简洁、可移植等特点,因此在计算机科学领域中得到了广泛的应用。
在C语言课程设计中,学生需要通过实践来掌握C语言的基本语法和编程思想,同时也需要通过设计优秀的案例来提高自己的编程能力。
下面是10个优秀的C语言课程设计案例。
1. 学生成绩管理系统这个案例要求学生设计一个学生成绩管理系统,可以实现学生信息的录入、查询、修改和删除,同时还可以计算学生的平均成绩、最高成绩和最低成绩等统计信息。
2. 简单计算器这个案例要求学生设计一个简单的计算器,可以实现加、减、乘、除等基本运算,同时还可以实现括号、小数点和负数等高级运算。
3. 迷宫游戏这个案例要求学生设计一个迷宫游戏,可以实现玩家在迷宫中寻找出口的过程,同时还可以实现随机生成迷宫、计时和计分等功能。
4. 图书管理系统这个案例要求学生设计一个图书管理系统,可以实现图书信息的录入、查询、修改和删除,同时还可以实现借书和还书等功能。
5. 简单的文件管理器这个案例要求学生设计一个简单的文件管理器,可以实现文件的创建、删除、复制和移动等基本操作,同时还可以实现文件夹的创建和删除等高级操作。
6. 简单的网络聊天程序这个案例要求学生设计一个简单的网络聊天程序,可以实现用户之间的文字聊天和文件传输等功能,同时还可以实现用户登录和注册等操作。
7. 简单的音乐播放器这个案例要求学生设计一个简单的音乐播放器,可以实现音乐的播放、暂停、停止和跳转等基本操作,同时还可以实现音乐列表的管理和歌词显示等高级功能。
8. 简单的游戏开发这个案例要求学生设计一个简单的游戏,可以实现玩家的移动、攻击和防御等基本操作,同时还可以实现关卡设计和游戏难度调整等高级功能。
9. 简单的人工智能程序这个案例要求学生设计一个简单的人工智能程序,可以实现基本的语音识别、图像识别和自然语言处理等功能,同时还可以实现机器学习和深度学习等高级功能。
图书管理系统/*图书数据由编号、书名、出版社、单价和图书状态(库存用0表示或借出用读者编号表示),读者数据由编号、姓名和电话号码构成。
实现功能包括:(1)添加图书的记录(2)图书管理(借书和还书)(3)对图书数据排序(按单价的降序)(4)删除图书记录(5)修改图书记录(6)添加读者记录(7)输出图书信息表和读者信息表*#include <stdio.h>#include <string.h>#include <stdlib.h>#include <windows.h>/*函数的声明*/void bookname();void writername();void booknumber();void press();void bookdate();void Bfind(); //查询主菜单void Bdevise(); //修改函数void Badd(); //添加函数void Bdelete(); //删除函数void Bdisplay(); //显示所以已保存的图书信息函数void Bclean(); //清除所有图书信息函数void lendbook(); // 借书函数void returnbook(); //还书函数void lendorreturnbook();//借书或还书主菜单函数void appealkey();//用户密码申诉函数void devisepeoplekey();//修改用户密码函数void accountapply(); //用户申请账户函数void addpeopleaccount(); //管理员之添加用户帐号函数void addmanageaccount(); //管理员之添加管理员账号函数void addaccount(); //管理员之账户添加主菜单函数void devisepeopleaccount();//管理员之修改用户账号函数void devisemanageaccount();//管理员之修改管理员帐号函数void deviseaccount();//管理员之修改账号主菜单函数void deletepeopleaccount();//管理员之删除用户账号函数void deletemanageaccount();//管理员之删除管理员账号函数void deleteaccount();//管理员之删除账号主菜单函数void displayallpeopleaccounts();//显示所有用户信息函数void displayallmanageaccounts();//显示所有管理员信息函数void displayallaccountsmessage();//显示所有账号信息主菜单函数void highaddpeopleaccount(); //高级管理员添加用户账户函数void highaddmanageaccount(); //高级管理员添加管理员账户函数void highaddaccount(); //高级管理员之添加账户主菜单函数void booksmanage();//图书操作主菜单函数void accountsmanage();//管理员账号操作主菜单函数void highaccountsmanage();//高级管理员账号操作主菜单函数void menu1(); //用户之查询主菜单void menu2(); //管理员之查询主菜单void menu3(); //高级管理员之查询主菜单/*定义书的类型*/struct book{int bookstock; //库存量char bookname[20]; //书名char bookwriter[20]; //作者char booknumber[20]; //书号char press[20]; //出版社char bookdate[20]; //出版日期char price[20]; //出版价格int turefalse; //判断图书是否被借阅}books[20];/*定义用户类型*/struct peopleaccount{char pname[20];char pkey[20];}peopleaccounts[20];/*定义管理员类型*/struct manageaccount{char mname[20];char mkey[20];}manageaccounts[20];/*定义借书卡类型*/struct card{char cardnumber[20]; //借书卡号和用户信息一起写入yonghu.txt文件中的}cards[20];/*定义文件指针变量*/FILE *fp1; //fp1打开用户信息文件FILE *fp2; //fp2打开管理员信息文件FILE *fp3; //fp3打开图书信息文件FILE *fp4; //打开借还书记录的文件FILE *fpa; //fpa是临时文件指针/*改变输出的字体颜色*/void color(const unsigned short color1){if(color1>=0&&color1<=15)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color1);/*仅限改变0-15的颜色;如果在0-15那么实现他的颜色因为如果超过15后面的改变的是文本背景色。
齐齐哈尔大学毕业设计(论文)题目基于c#的图书管理系统的实现与设计学院理学院专业班级信科 091摘要图书是人类智慧的结晶,是人类无数精英留下的宝贵财产。
图书馆作为这一结晶的珍藏地,面对着大量的资料和用户信息,我们需要有更有效的方法来管理这些信息。
方便我们更有效的解决借阅和图书管理效率这一问题。
从计算机诞生到今天,硬件和软件都经历了若干次更新换代,我们今天用到的感觉起来非常完美,然而它的脚步仍然没有停止,仍然在滚滚前行。
计算机的好处之一就是能够进行信息管理,用它对信息进行控制,不但提高了工作效率,而且具有非常高的安全性。
计算机的这一特性对于图书资料的监管和借阅带来了前所未有的进步。
实现了对资料的有效控制,对于资料的检索、追踪、描述、定位都带来了前所未有的方便性和准确性。
基于以上原因,我非常希望有款更加方便、快捷、安全的图书管理系统,使图书管理工作规范化、系统化和准确化。
需要程序的给我留言,本程序提供远程调试:QQ :758573121关键词:图书管理;数据库;UMLAbstractBooks was a crystallization of the human being, it is a priceless treasure by the smart people. Library was the place for collection it, faced with a lot of book information and user information, we wishing have a more effective way to manager those information. More fast solve the problem that the traditional lending way.From the computer birth to now on, hardware and software experienced several times upgrades, we felling it perfected. However, it no stop it footstep, stills in rolls.One of the benefits is it can management information, use it to control information, not only improve the work efficiency but also has very high security. The Characteristics of the computer make borrowing and return books faster. Realize more effective control all it. To the data retrieval, tracking and description, position more convenience and accuracy.Based on this reason, I wish have a management system, it more convenient, fast and safe. Make the work standardize, systematization and accurate.Keywords: library management ;database ;UML目录摘要 (I)ABSTRACT ............................................................................................................................. I I 目录..................................................................................................................................... I II 第1章绪论.. (1)1.1 国内外研究现状及发展趋势 (1)1.2 研究目的、意义和内容 (1)第2章需求分析 (2)2.1 需求分析 (2)2.2系统的性能需求 (2)2.3 运行环境要求 (2)2.3.1设备 (2)2.3.2支持程序 (2)第3章使用技术的介绍 (3)3.1 简介 (3)3.2 .系统的模型结构 (3)3.3 .NET Framework概述 (4)3.4 、C#语言简介 (4)3.5 研究步骤、方法及措施: (6)3.6 SQL Server数据库简介 (8)3.6.1 SQL Server数据库简介 (8)3.6.2 SQL 语言简介 (8)3.7 UML建模简介 (9)3.7.1 UML简介 (9)3.7.2 UML的内容 (10)3.7.3 UML的主要特点 (10)3.7.4 UML的应用领域 (10)第4章系统设计 (11)4.1 数据库设计 (11)4.2 主要业务流程图 (14)4.3 主要用户用例图 (15)4.4 数据流程图.............................................................................. 错误!未定义书签。
四川师范大学成都学院高级语言程序课程设计基于C语言的图书管理系统程序设计学生姓名XXX学号XXXX所在学院通信工程学院专业名称通信工程班级XXXX指导教师XX成绩四川师范大学成都学院二○一四年十二月基于C语言的图书管理系统程序设计内容摘要:图书管理系统是图书馆的重要组成部分,图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来,迫使人们起用新的管理方法来管理图书。
基于C语言的设计和开发图书馆管理系统的实践,阐述了图书管理软件中所应具有的功能、设计、实现。
介绍了图书管理系统的设计和系统功能的实现过程。
该系统可以运用于高校的图书管理,由图书编目,图书流通,标准管理,资料管理,系统维护等多个子系统组成,实现对新进图书基本信息的输入、图书基本信息的查询、对撤消图书信息的删除、为借书人办理注册、办理借书手续、办理还书手续等。
实现了图书资料的计算机网络管理。
关键词:图书管理 C语言程序设计Based on the C language library management systemprogram designAbstract:Library management system is an important part of the library, the book is our best way to get information, but due to the large increase in collection of library books, so that the traditional librarian's work increasingly heavy up, forcing people hired new management ways to manage books.Based on the practice of the C language library management system design and development, described the library management software should have the functionality, design, implementation. Describes the design and implementation of system functions library management system. The college library management system can be applied by cataloging, book circulation, standard management, data management, system maintenance, and other subsystems to realize new books into the input basic information, basic information queries books, books for revocation delete information,registration for the borrower, for the library procedures apply also book procedures. Achieve a computer network management library materials. Keywords:Library management C language Program design目录前言 (1)1绪论 (1)1.1选题背景和选题意义 (1)1.1.1选题背景 (1)1.1.2选题意义 (1)1.2图书管理系统简介 (1)1.3图书管理系统需求分析 (2)2系统分析 (3)2.1题目分析 (3)2.2系统分析 (3)3管理系统的总体设计与详细设计 (4)3.1总体设计 (4)3.2详细设计 (5)4调试与测试 (16)5编码实现 (16)6结论 (21)附录程序源代码 (21)参考文献 (29)基于C语言的图书管理系统程序设计前言图书馆管理信息系统是对学校图书进行全面信息管理的系统。
C语言课程设计图书管理系统Books Management System学生姓名张朝柱学院名称徐州工程学院学号20130566140班级13计转本专业名称计算机科学与技术指导教师李子龙2016年5月10日一、需求分析为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。
使用c语言编写了图书管理系统。
本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。
实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。
所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。
图书信息包括编号、书名、作者、数量、在库状态等。
图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。
整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。
二、算法设计:1.设计思想:整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。
进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。
在设计程序时,实现了程序的模块化、结构化。
在主函数中调用各种子函数,操作界面简单,易操作。
2,设计表示:(1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。
主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。
(2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。
设计性实验——图书管理系统1.通过本实验全面掌握《C/C++语言程序设计》关键知识点,掌握C/C++语言中函数、数组、指针、结构体、文件、类、继承等方面的基本知识。
2.通过本实验了解并掌握C/C++语言程序设计的方法,熟悉C/C++程序设计的开发环境及C/C++程序的调试过程。
3.对于能力较好的同学,要求将面向对象的程序设计方法引入到本实验中。
4.培养学生查阅参考资料、手册的自学能力,通过独立思考深入钻研有关问题,学会自己分析、解决问题的方法。
图书信息管理系统设计要求:图书信息包括:编号、书名、作者名、出版单位、出版时间、价格、存量等。
(设计的系统要求有10本以上的书)人员信息包括:借书人的姓名,性别,编号,班级等。
(设计的系统要求有5个以上的人员)试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作(为各项操作功能设计一个菜单.应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
进入每个操作后根据应用程序的提示信息,从键盘输入相应的信息)强调必须使用c语言或c++语言完成,不能使用数据库实现,能力高的同学可采用图形化窗口模式设计。
1.借书功能(图书信息浏览、查询、借阅)2.归还功能(图书信息浏览、查询、归还)3.注册新书(图书信息录入、修改)4.注销旧书(图书信息的删除、修改)5.读者登记(人员信息录入、修改)6.注销读者(人员信息删除、修改)7.退出图书信息录入功能(图书信息最好用文件保存)--用户输入数据时,要给出清晰,明确的提示信息,包括输入的数据内容,格式及结束方式等(人员信息录入功能类似)图书信息浏览功能--输出格式清晰,一目了然。
查询和排序功能:(至少一种查询方式)--按编号查询(给定图书编号,显示该本图书的信息)按书名查询(给定书名,显示所有相同书名的图书信息)按作者名查询(给定作者姓名,显示所有该作者编写的图书信息)并且要求书借出时可以通过书的编号或名字查找到对应的借书人的资料图书信息的删除与修改要求使用文件进行储存提供一些统计各类信息的功能(可选项)设计报告撰写指导1、需求分析以无歧义的陈述说明所选设计题目的任务,强调的是程序要做什么?明确规定:输入的形式和输出、值的范围;输出的形式;程序所能达到的功能;测试的数据:包括正确的输入和错误的输入及其相应的输出结果;2、概要设计问题解决的思路概述;说明程序中用到的所有抽象数据类型的定义,主程序的流程以及各程序模块之间的层次(调用)关系。
山东信息职业技术学院《C#程序设计》实验报告书题目:_____班级:_____学号:_____姓名:_____同组者:_____指导老师:______年_月于潍坊目录第一部分:C# 实训实施方案第二部分:图书管理系统设计指导《C#程序设计》实训实施方案1、目的本实训为学生提供了一个理独立思考的习惯,提高学生解决实际问题的能力,查漏补缺,为以后的学习和工作奠定良好的基础。
2、内容及要求利用学到的c#编程知识和编程技巧,完成超市图书管理系统的分析、设计和实施。
3、设计思路(1)系统体系结构设计根据前面的需求分析,尤其是功能性需求部分,我们考虑将本系统分为一个登录模块和四个功能模块:采购、库存、销售、管理,如错误!未找到引用源。
所示。
登录模块提供用户身份验证和角色鉴别功能;其他各模块供不同角色的工作人员完成其功能性需求。
(2)模块设计在完成了系统体系结构的设计之后,接着进行每一个模块的设计。
模块的设计工作将首先涉及到模块的功能逻辑和相互关系,然后进一步实现模块的程序结构。
登录模块的设计登录模块提供用户身份验证功能,应提供用户名、密码输入框,根据用户输入查询数据库中的用户角色:若查询成功,则记录用户身份,进入系统,并根据用户角色,确定哪些系统功能可用;若查询结果为空,则提示用户输入错误,并在提供三次错误尝试机会后,退出登录。
采购模块的设计采购模块供采购人员使用,完成图书信息录入、打印入库单的工作,并可以查询以往采购的图书信息和入库单信息。
为了在多次采购同类图书时,避免重复录入繁琐的图书信息,在采购模块中设置书目管理子模块,对采购的图书信息进行管理,包括录入、查询、修改图书信息的功能。
在填写入库单时,只需调用已有的书目信息,即可避免重复录入。
入库单管理子模块包括填写、打印入库单的功能。
对已经打印、填写错误的出库单,只要仓库管理员未执行出库,销售人员还可以修改,但只允许删除。
库存模块的设计库存模块供仓库管理员凭入库单/出库单执行入库/出库,以及库存查询功能。
C程序设计报告图书管理系统设计题目:图书管理系统设计要求:利用C语言实现小型的图书管理系统,能够满足基本的借阅功能。
1.1问题提出:本人计划编写一个图书管理系统,主要是提供具有图书管理的程序。
本人的主要工作就是,编写出一个正确的程序,使其正常运行,实现图书管理功能!1.2本系统主要会涉及的知识点:结构,数组,循环,函数,判断,指针等语句的应用。
1.3主要功能要求:功能分析:从图书馆的管理功能上分析,图书馆一共有三个方面的需求。
1 对用户的管理。
2 对图书的管理。
3 对借阅的管理。
因此,本系统也从以上三个方面进行了设计,以实现上面的功能。
具体分析如下1 注册用户管理(以学校为样体,用户为学生)学生信息包括:学生ID,学生姓名,学生学号,所在院系,所在班级,性别,年龄。
(1)学生加入需要依次输入学生ID,学生姓名,学生学号,所在院系,所在班级,性别,年龄。
不能为空。
(2)学生删除此处用一个查询功能,是你方便的找到要删除的学生,同时显示该学生的信息,并要求删除确认。
(3)学生信息修改使用系统提供的查找功能可以迅速的找到要修改的学生,并提示修改的信息。
2 图书信息管理图书信息包括:图书ID,图书名字,图书作者,在馆状态。
(1)新书入库需要填入图书ID,图书名字,图书作者,在馆状态;其中在馆状态需要填:true,表示图书在馆。
(2)旧书删除对不用的旧书可以执行该操作。
可以使用系统提供的查找符合条件的图书,并可以同步显示该图书的信息,以便确认所删图书的正确性。
(3)图书信息修改当图书的信息发生改变的时候可以使用该功能来更新图书的信息,以保证图书信息的正确性。
操作是只要用系统提供的查找功能找到该图书,就可以在信息显示栏中对图书信息做修改。
3 图书借阅管理:图书借阅信息包括:借阅号,图书ID,学生ID,是否借出,借出日期,是否归还,归还日期。
(1)图书借阅:需要图书ID,学生ID。
(2)图书归还:需要图书ID,学生ID。
一、 需求分析图书系统在生活中运用相当广泛,因此需要很多程序对他进行管理。
本系统有四个类,Book 类,BDatebase 类、Reader 类、RDatebase 类,存储借阅者的个人信息、借阅信息以及预定信息。
持有借阅卡的借阅者可以借阅书刊、返还书刊、查询书刊信息、预定书刊并取消预定等功能。
二、 系统总框图三、 模块的设计分析 4.1 图书入库管理模块设计设定了书籍总数,定义了新图书的增加和书籍编号。
Book p[1000]; void inlibrary() int sort_add4.2 图书借书管理模块设计定义了图书的借书系统,和借出书籍编号。
int Book::borrow() int number_out;4.3图书还书管理模块设计定义了图书的还书系统,和还出书籍编号。
int Book::restore() int number_in;图书管理系统四个类程序实现功能输出显示图书类图书库类读者类读者库类文件录入查询信息删除信息退出程序4.4 图书查询管理模块设计无专门模块,同借还书系统。
在借书和还书的同时,进行查询。
四、程序中出现的函数看看该类定义了借书操作,还书操作,设置读者姓名等功能。
该类实现了建立读者的个人资料,删除读者信息,输出读者信息等功能。
图书类的设计图书库类的设计五、特色的函数实现void BDatabase::bookdata(){char choice;char bname[40];int bookid;Book *b;cout <<"\n\n\n\t\t\t图书维护"<<endl<<endl;cout<<"\t\t1 新增\n \t\t2 更改\n\t\t3 删除\n\t\t4 查找\n\t\t5 显示\n\t\t6 全删\n\t\t0 退出"<<endl;cin >> choice;switch (choice){case '1':cout << "输入图书编号:"<<endl;cin >> bookid;cout << "输入图书书名:"<<endl;cin >> bname;addbook(bookid,bname);break;case '2':cout << "输入图书编号:"<<endl;cin >> bookid;b=query(bookid);if (b==NULL){cout << " 该图书不存在"<<endl;break;}cout << "输入新的书名:"<<endl;cin >> bname;b->setname(bname);break;case '3':cout <<" 读入图书编号:"<<endl;cin >> bookid;b=query(bookid);cout <<" 该图书不存在" << endl;break;}b->delbook();break;case '4':cout << " 读入图书编号:"<<endl;cin >> bookid;b=query(bookid);if (b==NULL){cout <<" 该图书不存在"<< endl;break;}b->disp();break;case '5':disp();break;case '6':clear();break;default:cout<<"输入错误,请从新输入:";}}}六、存在的问题与不足及对策由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,查错能力也不强,对于一些不正确的输入可能会造成一些难以预料的结果,因此,请不要故意输入错误信息。
这些不足请老师多多谅解。
今后设计者会更多的学习编程技巧,不断的提高程序设计水平。
通过这次的课程设计,让我充分的感觉到了要自己设计一个程序是多么的难,这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。
虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。
以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。
源程序#include <iostream>#include <iomanip>#include <string>#include <fstream>using namespace std;const int Maxr=100;const int Maxb=100;const int Maxbor=5;class Reader{private:int tag;int no;char name[10];int borbook[Maxbor];public:Reader() {}char *getname() {return name;}int gettag() {return tag;}int getno() {return no;}void setname(char na[]){strcpy(name,na);void delbook(){ tag=1; }void addreader(int n,char *na) {tag=0;no=n;strcpy(name,na);for(int i=0;i<Maxbor;i++) borbook[i]=0;}void borrowbook(int bookid) {for(int i=0;i<Maxbor;i++) {if (borbook[i]==0){borbook[i]=bookid;return;}}}int retbook(int bookid){for(int i=0;i<Maxbor;i++) {if(borbook[i]==bookid){borbook[i]=0;return 1;}return 0;}void disp(){cout << setw(5) << no <<setw(10) << name<<"借书编号:["; for(int i=0;i<Maxbor;i++)if(borbook[i]!=0)cout << borbook[i] << "|";cout << "]"<<endl;}};class RDatabase{private:int top;Reader read[Maxr];public:RDatabase(){Reader s;top=-1;fstream file("reader.txt",ios::in);while (1){file.read((char *)&s,sizeof(s));if (!file)break;top++;file.close();}void clear(){top=-1;}int addreader(int n,char *na) {Reader *p=query(n);if (p==NULL){top++;read[top].addreader(n,na); return 1;}return 0;}Reader *query(int readerid){for (int i=0;i<=top;i++)if (read[i].getno()==readerid && read[i].gettag()==0){return &read[i];}return NULL;}void disp(){read[i].disp();}void readerdata();~RDatabase(){fstream file("reader.txt",ios::out);for (int i=0;i<=top;i++)if (read[i].gettag()==0)file.write((char *)&read[i],sizeof(read[i]));file.close();}};void RDatabase::readerdata(){char choice;char rname[20];int readerid;Reader *r;while (choice!='0'){cout <<"\n\n\t\t\t读者维护\n\n\n\t\t 1 新增\n\n\t\t 2 更改\n\n\t\t 3 删除\n\n\t\t 4 查找\n\n\t\t 5 显示\n\n\t\t 6 全删\n\n\t\t 0 退出"<<endl;cin >> choice;switch (choice){case '1':cout << "输入读者编号:";cin >> readerid;cout << "输入读者姓名:";addreader (readerid,rname); break;case '2':cout << "输入读者编号:";cin >> readerid;r=query(readerid);if (r==NULL){cout << " 该读者不存在 "<<endl; break;}cout << "输入新的姓名:";cin >> rname;r->setname(rname);break;case '3':cout << " 输入读者编号:";cin >> readerid;r=query(readerid);if (r==NULL){cout <<" 该读者不存在" << endl; break;}r->delbook();break;case '4':cout << "读入读者编号:";cin >> readerid;r=query(readerid);if (r==NULL)cout <<"该读者不存在"<< endl;break;}r->disp();break;case '5':disp();break;case '6':clear();break;default:cout<<"输入错误,请从新输入:";break; }}}class Book{private:int tag;int no;char name[20];int onshelf;public:Book(){}char *getname() { return name; }int getno(){ return no; }int gettag(){ return tag; }void setname(char na[]){strcpy(name,na);void delbook(){ tag=1;}void addbook(int n,char *na){tag=0;no=n;strcpy(name,na);onshelf=1;}int borrowbook(){if (onshelf==1){onshelf=0;return 1;}return 0;}void retbook(){onshelf=1;}void disp(){cout << setw(6) << no << setw(18) << name << setw(10) <<(onshelf==1? "在架":"已借") <<endl;}};class BDatabase{private:Book book[Maxb];public:BDatabase(){Book b;top=-1;fstream file("book.txt",ios::in); while (1){file.read((char *)&b,sizeof(b)); if (!file) break;top++;book[top]=b;}file.close();}void clear(){top=-1;}int addbook(int n,char *na){Book *p=query(n);if (NULL==p){top++;book[top].addbook(n,na);return 1;}return 0;}{for (int i=0;i<=top;i++)if (book[i].getno()==bookid &&book[i].gettag()==0) {return &book[i];}return NULL;}void bookdata();void disp(){for (int i=0;i<=top;i++)if (book[i].gettag()==0)book[i].disp();}~BDatabase(){fstream file("book.txt",ios::out);for (int i=0;i<=top;i++)if (book[i].gettag()==0)file.write((char *)&book[i],sizeof(book[i])); file.close();}};void BDatabase::bookdata(){char choice;char bname[40];int bookid;Book *b;while (choice!='0')cout <<"\n\n\n\t\t\t图书维护 "<<endl<<endl;cout<<"\t\t1 新增\n \t\t2 更改\n\t\t3 删除\n\t\t4 查找\n\t\t5 显示\n\t\t6 全删\n\t\t0 退出"<<endl;cin >> choice;switch (choice){case '1':cout << "输入图书编号:"<<endl;cin >> bookid;cout << "输入图书书名:"<<endl;cin >> bname;addbook(bookid,bname);break;case '2':cout << "输入图书编号:"<<endl;cin >> bookid;b=query(bookid);if (b==NULL){cout << " 该图书不存在 "<<endl;break;}cout << "输入新的书名:"<<endl;cin >> bname;b->setname(bname);break;case '3':cout <<" 读入图书编号:"<<endl;cin >> bookid;b=query(bookid);if (b==NULL)cout <<" 该图书不存在" << endl; break;}b->delbook();break;case '4':cout << " 读入图书编号:"<<endl;cin >> bookid;b=query(bookid);if (b==NULL){cout <<" 该图书不存在"<< endl;break;}b->disp();break;case '5':disp();break;case '6':clear();break;default:cout<<"输入错误,请从新输入:"; }}}void main(){char choice;RDatabase ReaderDB;Reader *r;BDatabase BookDB;Book *b;while(choice!='0'){cout <<endl<<endl<<"\t\t\t 图书管理系统\n\n\n";cout <<"\t\t\t1 借书\n\n\t\t\t2 还书 \n\n\t\t\t3 图书维护\n\n\t\t\t4 读者维护\n\n\t\t\t0 离开"<<endl;cin >> choice;switch (choice){case '1':cout <<" 借书读者编号:";cin >>readerid;cout <<" 图书编号: ";cin >>bookid;r=ReaderDB.query(readerid);if (NULL==r){cout <<" 不存在该读者,不能借书"<< endl;break;}b=BookDB.query(bookid);if (b==NULL){cout <<" 不存在该图书,不能借书"<< endl;break;}{cout << " 该图书已借出,不能借书"<< endl; break;}r->borrowbook(b->getno());break;case '2':cout<<"还书\n 读者编号:";cin >>readerid;cout << " 图书编号:";cin >>bookid;r=ReaderDB.query(readerid);if (r==NULL){cout <<" 不存在该读者,不能还书" << endl; break;}b=BookDB.query(bookid);if (b==NULL){cout <<" 不存在该图书,不能还书" <<endl; break;}b->retbook();r->retbook(b->getno());break;case '3':BookDB.bookdata();break;case '4':ReaderDB.readerdata();default:cout<<"输入错误,请从新输入:";}}}。