#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "string.h"
#include "math.h"
#define LEN sizeof(struct library)
#define LEN1 sizeof(struct reader)
#define NULL 0
struct library//图书馆结构体
{int shuhao,xcl;
char name[20],author[20],chuban[20];
struct library *next;
};
struct reader//读者结构体
{
int zhenghao;
char mingzi[20],riqi[20],zname[20];
struct reader *next;
};
void mainmenu() //显示主菜单
{ system ("cls");
printf("\n");
printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.图书馆信息\n\n");
printf("\t\t\t\t 2.借阅系统\n\n");
printf("\t\t\t\t 3.退出系统\n\n");
printf("\t\t\t 请按键选择,回车确定\n"); printf("\t\t\t\t######################\n"); printf("\n");
return ;
}
void menu1() //显示图书馆信息菜单
{ system ("cls");
printf("");
printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.采编入库\n\n");
printf("\t\t\t\t 2.清除库存\n\n");
printf("\t\t\t\t 3.图书查询\n\n");
printf("\t\t\t\t 4.库存一览\n\n");
printf("\t\t\t\t 5.返回上一层\n\n");
printf("\t\t\t 请按键选择,回车确定\n");
printf("\t\t\t\t#######################\n");
printf("\n");
return ;
}
void menu2() //显示查询菜单
{ system ("cls");
//printf("");
printf("\t\t\t\t#######################\n");
printf("\t\t\t\t 1.书号查询\n\n");
printf("\t\t\t\t 2.书名查询\n\n");
printf("\t\t\t\t 3.作者查询\n\n");
printf("\t\t\t\t 4.出版社查询\n\n");
printf("\t\t\t 请按键选择,回车确定\n");
printf("\t\t\t\t#######################\n");
//printf("");
return ;
}
void main()//主函数,调用main1
{void main1();
main1();}
void main1()//main1函数
{void tsgxx();//声明
void jieshuxitong();//声明
char choose;
mainmenu();
scanf("%c",&choose);
switch(choose)//功能函数选择
{ case '1':tsgxx();break;
case '2':jieshuxitong();break;
case '3':system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t Byebye...");printf("\n\n\n\n\n\n\n\n\n\t\t\t 欢迎使用本软件!!!");getch();exit(0);system ("cls");break;
}
}
void tsgxx()//图书馆信息函数
{ void tsjinku();
void shanchu();
void chaxunts();
void xianshikucun();//函数声明
char choose;
menu1();//调用菜单函数
scanf("%c",&choose);
scanf("%c",&choose);
for (;;)
switch(choose)//功能函数选择
{ case '1':tsjinku();break;
case '2':shanchu();break;
case '3':chaxunts();break;
case '4':xianshikucun();break;
case '5':main1();break;
}
}
int tjzs()//统计文本个数函数
{ FILE *fp;
int tshuhao=0,txcl=0,n;
char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'};
fp=fopen("library.txt","r");//打开文件
for (n=0;!feof(fp);n++)//逐个读文件
fscanf(fp,"%d %s %s %s %d",&tshuhao,tname,tauthor,tchuban,&txcl);
n--;
fclose(fp);//关闭文件
return (n);//返回个数
}
int tjdzzs()//统计文本个数函数
{ FILE *fp;
int zhenghao=0,n;
char mingzi[20]={'\0'},riqi[20]={'\0'},zname[20]={'\0'};
fp=fopen("reader.txt","r");//打开文件
for (n=0;!feof(fp);n++)//逐个读文件
fscanf(fp,"%d %s %s %s ",&zhenghao,&mingzi,&riqi,&zname);
fclose(fp);//关闭文件
return (n);//返回个数
}
void tsjinku()//图书进库函数
{ FILE *fp;
int shuhao=0,xcl=0,n=0;
char name[20]={'\0'},author[20]={'\0'},chuban[20]={'\0'};
char hitkey;
system ("cls");
if ((fp=fopen("library.txt","r"))==NULL)//打开图书馆文件,不存在此文件则新建{ fp=fopen("library.txt","w");
fclose(fp);
}
fp=fopen("library.txt","a");
printf("\n\n\n\n\n\n\t\t\t请按以下格式输入图书信息:\t\t\t\t\t\t 书号书名作者出版社进库量\n请输入:");//按格式输入图书馆信息
for (;hitkey!=27;)//循环输入
{ if (n!=0)
printf("请输入:");
scanf("%d%s%s%s%d",&shuhao,name,author,chuban,&xcl);
fprintf(fp,"%d %s %s %s %d\n",shuhao,name,author,chuban,xcl);
printf("继续输入请按回车,结束输入请按esc\n");
n++;
hitkey=getch();
for (;hitkey!=13&&hitkey!=27;)
hitkey=getch();
}
fclose(fp);
printf("\n\n\n\n\n\n\t\t\t保存成功,按任意键返回上一层!");
getch();
tsgxx();//返回上一层
}
void shanchu()//删除图书信息函数
{ struct library *head=NULL;
struct library *p,*p1,*p2;
int tshuhao=0,txcl=0,n=0,j,i;
char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'}, ttname[20]={'\0'};
char hitkey;
FILE *fp;
if ((fp=fopen("library.txt","r"))==NULL)//打开文件
{ system ("cls");
printf("\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在!按任意键返回...");
getch();
tsgxx();
}
else
{ system ("cls");
printf("\n\n\n\n\n\n\n\n\t\t请输入你要删除的书名:");//输入删除图书书名
scanf("%s",&ttname);
printf("\t\t确认删除请回车,取消请按esc\n");
hitkey=getch();
for (;hitkey!=13&&hitkey!=27;)
hitkey=getch();
if (hitkey==27)
tsgxx();
fp=fopen("library.txt","r");
for (j=0;!feof(fp);)//读文件夹信息,统计个数
{ j++;
fscanf(fp,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl);
}
fclose(fp);
fp=fopen("library.txt","r");
for (i=1;i { fscanf(fp,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl); if (strcmp(ttname,tname))//比较名字,将不同名字的信息复制到链表{ n++; if (n==1)//建立链表 { p1=p2=(struct library*)malloc(LEN); head=p1; } else { p2->next=p1; p2=p1; p1=(struct library*)malloc(LEN);//新建链表 } p1->shuhao=tshuhao;//复制书号 strcpy(p1->name,tname);//复制书名 strcpy(p1->author,tauthor);//复制作者名子 strcpy(p1->chuban,tchuban);//复制出版社 p1->xcl=txcl;//复制个数 } } if (n==0) { head=NULL; } else { p2->next=p1; p1->next=NULL; fclose(fp); } } fp=fopen("library.txt","w");//清空文件 fclose(fp); fp=fopen("library.txt","a");//追加文件 p=head; for (;p!=NULL;)//把链表内容覆盖到文件 { fprintf(fp,"%d %s %s %s %d \n",p->shuhao,p->name,p->author,p->chuban,p->xcl); p=p->next; } fclose(fp);//关闭文件 system ("cls"); printf("\n\n\n\n\n\n\n\n\t\t 删除成功\n\t\t按任意键返回上一层\n"); getch();//返回上一层 tsgxx(); } void chaxunts()//查询函数 { FILE *fp; char choose; int ttshuhao=0,tshuhao=0,txcl=0,n=0,k=0,i,l; char tname[20]={'\0'},ttauthor[20]={'\0'},tauthor[20]={'\0'},ttchuban[20]={'\0'},tchuban[20]={'\0'}, ttname[20]={'\0'}; if ((fp=fopen("library.txt","r"))==NULL)//打开文件 { system ("cls"); printf("\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在!按任意键返回..."); getch(); tsgxx(); } l=tjzs();//获得文件个数 menu2();//调用菜单函数 scanf("%c",&choose);scanf("%c",&choose);//选择查询方式 if (choose=='5') return; else if (choose=='1')//书号查询 { system ("cls"); printf("请输入书号:"); scanf("%d",&ttshuhao); } else if (choose=='2')//书名查询 { system ("cls"); printf("请输入书名:"); scanf("%s",ttname); } else if (choose=='3')//作者查询 { system ("cls"); printf("请输入作者:"); scanf("%s",ttauthor); } else if (choose=='4')//出版社查询 { system ("cls"); printf("请输入出版社:"); scanf("%s",ttchuban); } system ("cls"); for (i=0;i { fscanf(fp,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl);//读文件信息 if (ttshuhao==tshuhao||!strcmp(ttname,tname)||!strcmp(ttauthor,tauthor)||!strcmp(ttchuban,tch uban))//输出查询信息 { if (k==0) { printf("\t\t\t\t查询结果:\n\n"); printf("\t 书号书名作者出版社现存量\n"); } printf("\t %-4d %-8s %-8s %-8s %-4d \n",tshuhao,tname,tauthor,tchuban,txcl); k++; } } if (k==0)//文件夹为空则输出无记录 { system ("cls"); printf("\n\n\n\n\n\n\n\t\t\t\t无符合记录!\n"); getch(); tsgxx(); } fclose(fp); getch();//返回 tsgxx(); } void xianshikucun()//现实库存信息 { FILE *fp; int shuhao=0,xcl=0,n=0,i=0,j=0; char name[20]={'\0'},author[20]={'\0'},chuban[20]={'\0'}; if ((fp=fopen("library.txt","r"))==NULL)//打开文件夹 { system ("cls"); printf("\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在!"); n= tjzs(); if (n==0) { system ("cls"); printf("\n\n\n\n\n\n\n\n\n\t\t\t无任何记录!"); } fp=fopen("library.txt","r"); system ("cls"); printf("************************************************************************* *******"); printf("\t 书号书名作者出版社库存量\n"); printf("************************************************************************* *******"); for (i=0;i { fscanf(fp,"%d%s%s%s%d",&shuhao,name,author,chuban,&xcl); printf("\t %-4d %-8s %-8s %-8s %-4d \n",shuhao,name,author,chuban,xcl); } fclose(fp); printf("\t\t\t\t按任意键返回\n"); getch();//返回 tsgxx(); } void menu3() //显示借书系统主菜单 { system ("cls"); //printf("*********************************************************************** *********"); printf("\t\t\t\t#######################\n"); printf("\t\t\t\t 1.借书登记\n\n"); printf("\t\t\t\t 2.还书登记\n\n"); printf("\t\t\t\t 3.借阅情况查看\n\n"); printf("\t\t\t\t 4.返回上一层\n\n"); printf("\t\t\t 请按键选择,回车确定\n"); printf("\t\t\t\t#######################\n"); //printf("*********************************************************************** *********"); return ; } void jieshuxitong()//借书系统函数 { void jieshu(); void huanshu(); void duzheyilang();//函数声明 char choose; menu3(); scanf("%c",&choose); scanf("%c",&choose);//选择功能 for (;;) switch(choose)//调用函数 { case '1':jieshu();break; case '2':huanshu();break; case '3':duzheyilang();break; case '4':main1();break; } } void jieshu()//借书函数 { FILE *fp,*fp3; struct library *head=NULL; struct library *p,*p1,*p2; int tshuhao=0,txcl=0,i,loop,zhenghao=0,n=0,k=0,t=0,flag=0; char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'}, ttname[20]={'\0'},mingzi[20]={'\0'},riqi[20]={'\0'},zname[20]={'\0'}; char hitkey=0; system ("cls"); { if ((fp=fopen("library.txt","r"))==NULL)//打开图书馆文件 { system ("cls"); printf("\n\n\n\n\n\n\n\n\n\t\t 图书馆无库存!按任意键退出!"); getch(); exit (0); } else { { printf("\n\n\n\n\n\n\t\t\t请输入借阅书名:\t\t\t\t\t\t \n请输入:");//输入书名 scanf("%s",zname); k= tjzs();//统计图书馆文件个数 for (i=0;i { fscanf(fp,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl); n++; if (n==1) { p1=p2=(struct library*)malloc(LEN); head=p1; } else { p2->next=p1; p2=p1; p1=(struct library*)malloc(LEN);//新建链表 } p1->shuhao=tshuhao;//复制书号 strcpy(p1->name,tname);//复制书名 strcpy(p1->author,tauthor);//复制作者 strcpy(p1->chuban,tchuban);//复制出版社 p1->xcl=txcl;//复制现存量 } if (n==0) head=NULL; else { p2->next=p1; p1->next=NULL; fclose(fp); } } } p=head; for (;p!=NULL;)//读链表 { if(!(strcmp(p->name,zname)))//名字相同 {flag=1;//标记取1 loop=p->xcl;//现存量减1 (p->xcl)--;} p=p->next; } if(flag&&(loop>0))//存在借书书名且现存量大于0 { fp=fopen("library.txt","w"); fclose(fp); fp=fopen("library.txt","a"); p=head; for (;p!=NULL;) { fprintf(fp,"%d %s %s %s %d \n",p->shuhao,p->name,p->author,p->chuban,p->xcl); p=p->next; } free(p);//把链表内容覆盖文件 fclose(fp);} if(flag&&(loop>0))//存在借书书名且现存量大于0 { { if ((fp3=fopen("reader.txt","r"))==NULL)//建读者文件夹 { fp3=fopen("reader.txt","w"); fclose(fp3); } fp3=fopen("reader.txt","a"); } { { if (n!=0) printf("\n\n\n\n\n\n\t\t\t请按以下格式输入读者信息:\t\t\t\t\t\t 证号姓名归还日期借书书名\n请输入:");//录入读者信息 scanf("%d %s %s %s",&zhenghao,&mingzi[20],&riqi[20],&zname[20]); fprintf(fp3,"%d %s %s %s \n",zhenghao,&mingzi[20],&riqi[20],&zname[20]); fp=fopen("library.txt","w");//删除图书馆文件信息 fclose(fp); fp=fopen("library.txt","a");//重新追加信息 p=head; for (;p!=NULL;)//把链表内容覆盖图书馆文件 { fprintf(fp,"%d %s %s %s %d \n",p->shuhao,p->name,p->author,p->chuban,p->xcl); p=p->next; } fclose(fp); fclose(fp3); printf("成功!按任意键返回\n"); getch();//返回 jieshuxitong(); } } jieshuxitong(); } else printf("此书已被借完!按任意键返回!");//否则输出此书已被接完 getch();//返回 jieshuxitong(); } } void huanshu()//还书函数 {FILE *fp,*fp3; struct reader *head=NULL; struct reader *p,*p1,*p2; struct library *lhead1=NULL; struct library *zp1,*lp1,*lp2; int tshuhao=0,txcl=0,i; char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'}, ttname[20]={'\0'}; int ttzhenghao=0,tzhenghao=0,n=0,k=0,t=0,flag=0; char tmingzi[20]={'\0'},triqi[20]={'\0'},tzname[20]={'\0'},ttzname[20]={'\0'}; char hitkey=0; system ("cls"); { if ((fp=fopen("reader.txt","r"))==NULL)//不存在读者文件,则输出不能还书 { system ("cls"); printf("\n\n\n\n\n\n\n\n\n\t\t 不存在借书者!按任意键退出!"); getch(); exit (0); } else { { printf("\n\n\n\n\n\n\t\t\t请输入读者证号和书名:\t\t\t\t\t\t \n请输入:"); scanf("%d %s",&ttzhenghao,ttzname);//输入还书证号和书名 k= tjdzzs();//获取读者文件夹信息个数 for (i=0;i { fscanf(fp,"%d%s%s%s\n ",&tzhenghao,tmingzi,triqi,tzname); if((ttzhenghao==tzhenghao)&&!strcmp(ttzname,tzname))//如果证号书名存在,则标记为1 flag=1; } fclose(fp); fp=fopen("reader.txt","r");//打开读者文件 if(flag) { for (i=0;i { fscanf(fp,"%d%s%s%s\n ",&tzhenghao,tmingzi,triqi,tzname);//读取文件信息if(!((ttzhenghao==tzhenghao)&&!strcmp(ttzname,tzname))) { n++; if (n==1) { p1=p2=(struct reader*)malloc(LEN1);//新建链表 head=p1; } else { p2->next=p1; p2=p1; p1=(struct reader*)malloc(LEN1);//新建链表 } p1->zhenghao=tzhenghao;//复制证号 strcpy(p1->mingzi,tmingzi);//复制读者名字 strcpy(p1->riqi,triqi);//复制日期 strcpy(p1->zname,tzname);//复制书名 } } if (n==0) head=NULL; else { p2->next=p1; p1->next=NULL; fclose(fp); } fp=fopen("reader.txt","w");//清空读者文件 fclose(fp); fp=fopen("reader.txt","a");//追加信息 p=head; for (;p!=NULL;)//把链表内容覆盖读者文件 { fprintf(fp,"%d %s %s %s \n",p->zhenghao,p->mingzi,p->riqi,p->zname); p=p->next; } free(p); fclose(fp); } } } } if(flag)//标记为1,既还书时 { { {printf("确认还书请按回车!"); for (;hitkey!=13&&hitkey!=27;) hitkey=getch(); if (hitkey==13) printf("成功!按任意键返回!"); n=0;flag=0; fp3=fopen("library.txt","r");//打开图书馆文件 k= tjzs();//获取图书馆文件个数 for (i=0;i { fscanf(fp3,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl);//读取信息n++; if (n==1) { lp1=lp2=(struct library*)malloc(LEN);//新建链表 lhead1=lp1; } else { lp2->next=lp1; lp2=lp1; lp1=(struct library*)malloc(LEN);//新建链表 } lp1->shuhao=tshuhao;//复制书号 strcpy(lp1->name,tname);//复制书名 strcpy(lp1->author,tauthor);//复制作者 strcpy(lp1->chuban,tchuban);//复制出版社 lp1->xcl=txcl; //复制现存量 } if (n==0) { lhead1=NULL; } else { lp2->next=lp1; lp1->next=NULL; fclose(fp3); } } } zp1=lhead1; for (;zp1!=NULL;) { if(!(strcmp(zp1->name,ttzname)))//寻找书名相同 ++(zp1->xcl);//现存量加1 zp1=zp1->next; } fp3=fopen("library.txt","w");//清空图书馆文件 fclose(fp); fp3=fopen("library.txt","a");//追加信息 zp1=lhead1; for (;zp1!=NULL;)//把链表内容覆盖图书馆文件 { fprintf(fp3,"%d %s %s %s %d \n",zp1->shuhao,zp1->name,zp1->author,zp1->chuban,zp1->xcl);//录入信息 zp1=zp1->next; } fclose(fp3); getch();//返回 jieshuxitong(); } else printf("不存在此信息!按任意键返回!"); getch();//返回 jieshuxitong(); } void duzheyilang()//显示借书情况函数 { FILE *fp; int zhenghao=0,xcl=0,n=0,i=0,j=0; char mingzi[20]={'\0'},riqi[20]={'\0'},zname[20]={'\0'}; if ((fp=fopen("reader.txt","r"))==NULL)//打开读者文件夹 { system ("cls"); printf("\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在!"); } n=tjdzzs(); if (n==0) { system ("cls"); printf("\n\n\n\n\n\n\n\n\n\t\t\t无任何记录!"); } fp=fopen("reader.txt","r"); system ("cls"); printf("************************************************************************* *******"); printf("\t 证号读者姓名还书日期书名\n"); printf("************************************************************************* *******"); for (i=0;i { fscanf(fp,"%d%s%s%s\n ",&zhenghao,mingzi,riqi,zname); printf("\t %-4d %-8s %-8s %-8s \n", zhenghao,mingzi,riqi,zname); } fclose(fp); printf("\t\t\t\t按任意键返回\n"); getch();//返回 jieshuxitong(); } 图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。 C源代码如下: #include char state[20]; char name[20]; char sex[10]; int xuehao; struct book *book_next; }; struct club{ char name[20]; char sex[10]; int xuehao; char borrow[30]; struct club *club_next; }; void Print_Book(struct book *head_book);/*浏览所有图书信息*/ void Print_Club(struct club *head_club);/*浏览所有会员信息*/ struct book *Create_New_Book();/*创建新的图书库,图书编号输入为0时结束*/ struct book *Search_Book_bianhao(int bianhao,struct book *head_book); struct book *Search_Book_name(char *b_name,struct book *head_book); struct book *Search_Book_price(double price_h,double price_l,struct book *head_book); struct book *Insert_Book(struct book *head_book,struct book *stud_book);/*增加图书,逐个添加*/ 图书馆管理信息系统 学生姓名:指导老师: 摘要在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。基于这个问题,开发了大学图书馆借阅系统。在课程设计中,系统开发平台为Windows XP,系统采用C/S模式, 数据库采用SQL Server 2000, 开发工具采用eclipse,实现了借还书的方便、高效性、有效性和及时性。 关键字:图书借阅;信息管理;图书维护 目录 1.问题描述 (2) 1.1背景 (2) 1.2数据需求 (2) 1.3事物需求 (3) 1.4关系模式 (3) 2.方案图表设计 (3) 2.1E-R图 (3) 2.2数据流程图 (8) 2.3数据字典 (9) 2.4关系图: (11) 3.数据库源代码 (12) 3.1数据库建立 (12) 3.2数据初始化 (14) 4.结果数据处理 (17) 4.1单表查询 (17) 4.2超期处理 (19) 4.3还书操作 (20) 4.4借书操作 (22) 4.5书籍状态 (24) 4.6读者状态 (24) 5.结束语 (35) 1 问题描述 1.1背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。 1.2数据需求 图书馆管理信息系统需要完成功能主要有: (1).读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 (2).读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。(3).书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 (4).书籍类别信息的查询、修改,包括类别编号、类别名称。 (5).书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。 (6).书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。 (7).借书信息的输入,包括读者借书证编号、书籍编号、借书日期。 (8).借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。 (9).还书信息的输入,包括借书证编号、书籍编号、还书日期。 (10).还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书 HUNAN UNIVERSITY C语言程序训练 报告 【设计目的】 图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等. 图书信息管理系统,使之能提供以下功能: 1)系统以菜单方式工作 2)读者注册功能 3)读者登录功能 4)读者借书还书功能 5)查询读者借阅记录 6)查询在管图书信息功能 7)修改密码功能 8)管理员登录功能 9)增加、修改、删除图书功能 10)查看图书信息功能 【设计思路】 根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。 【总体设计】 【详细设计】 图书馆管理系统 读者注册、登陆及密码修改 修改图书信息 删除图书信息 管理员登陆 查找图书信息 浏览图书信息 1.主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 开始 显示一系列功能选项 n 输入n,n为1,2或3 根据n的值调用各功能模块函数 结束 源代码为 //rkou.c 程序的入口 #include 【最新整理,下载后即可编辑】 1.需求分析 1.1使用范围 在学校图书馆内部的现有局域网这个网络环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询,调用,达到信息共享。 1.2背景 图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。 图书馆管理信息系统是图书馆的支持系统,当前设计应满足以下需求: (1)图书馆将图书借给读者,读者和图书都必须在系统中注册。 (2)系统通过设置帐号和密码控制用户访问,读者和管理员可修改自已的密码。 (3)图书馆负责购买图书,对于流行的书一般要多买几本,如果图书破旧或过期则可以从图书系统中删除。 (4)图书馆管理员负责与读者打交道,他们的工作要得到系统的支持。 (5)借书者可以事先通过网络预约要借的图书,然后到管理员处办理正式借书手续。 (6)图书借出有时间限限制,一旦超期,管理员应及时通知借书者归还图书。 (7)图书馆可以方便地产生、更新和删除系统中与书目、借书者、借书记录和预约记录等信息。 (8)系统能够运行在Windows系统下,用户可通过局域网操作,还应该有一个非常好的图形用户界面(GUI) (9)系统应该具有很好的可扩展性。 1.3功能分析 三个功能模块: (1)读者管理 ①办证:新生将个人信息提交到办证处,办证处和新生信息表核对,正确则可办证,将个人信息保存到读者信息表,同时生成图书借阅表,发出领证通知单,不符合则发出拒绝申请单。 ②注销:读者提交注销申请表,办证处调用读者信息表,查找该读者信息。若存在且信息一致,则在读者信息表中将该读者信息删除,同时删除借阅信息表;若信息不存在或与提交信息不一致,则发出拒绝申请单。 ③挂失补办借书证:读者提出挂失补办申请表,办证处核对信息,若信息不一致,则发出拒绝申请单;若信息一致,修改读者信息表,办理补办业务,发放领证通知单。 (2)借还书管理 ①借书:读者提交借阅申请表,管理员先调用读者信息表和读者的借阅信息表,审核该读者是否有权限借阅图书。若无权限,则发出拒绝申请表;若有权限,管理员再调用图书信息表,查找读者所申请借阅的图书信息,若可借,则发出领书通知单,待读者获得图书后,将信息存入其借阅信息表;若不可借,则发出拒绝申请表。 ※无权限的情况:⒈读者信息不存在。 ⒉读者借阅图书数量已达最大限,不可再借。 ⒊读者信息表中的账目信息中余额不足。 ※不可借的情况:⒈该书已有人借阅。 题目名称:图书管理系统 算法分析: 1用结构体标出信息系统的成员:图书书号,书名,作者姓名,出版社,价格 2 利用c语言的文件知识将系统的信息存放在c盘下的“project choose.txt”的文件夹下 3 定义各个子函数(1)定义输入信息函数,将图书信息按一定格式用scanf函数输入(统计M本的信息); (2)定义输出函数,每3个表一页直到最后一个; (3)定义信息查询函数。a,定义按书号查询函数,如果输入的数字等于图书编号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个作者姓名字符串则输出信息;c,定义按出版社名称查找函数,如果输入的字符串等于其中出版社名称,则输出该信息; e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abc四个函数。 (4)定义删除信息函数。输入的数字作为要删除的图书编号,输出要删除的图书信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。 (5)定义信息修改函数。输入的数字等于要修改的图书编号,输出要修改的图书信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出图书信息。 (6)定义信息统计函数。输入一个字符串作为出版社,比较M 本书的出版社字符串是否等于输入的字符串,统计相等的个数n输出。 (7)定义图书编号排序函数。用冒泡排序法将M本的书的图书编号按从大到小的顺序排列后输出。 4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用 修改图书信息函数,删除图书信息函数,查找图书信息函数,统计图书信息函数,图书排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。 流程设计: 管理信息系统课程设计 二0 0 九年六月九日 评分标准 图书馆管理信息系统的战略规划 实验报告(一) 一、企业战略分析 (一)摘要 用户:南京艺术学院图书馆 拟建系统的名称:图书馆管理信息系统 拟达到的目标:1、不断改善环境布局去营造良好的学习气氛; 2、建立出色和有特色的馆藏; 3、提高工作效率、服务质量和管理水平,减少人力的投入; 4、图书馆财务人员可以方便的结算工作人员的工资,灵活处理 进书财务等。 (二)背景 南京艺术学院图书馆是在1952年全国高等学校院系调整时,由上海美术专科学校、苏州美术专科学校和山东大学艺术系的图书馆(室)合并而成,从1912年刘海粟教授创办的上海美术专科学校建馆起至今已有90余年的历史。 南京艺术学院图书馆是中国图书馆学会会员单位、全国美术院校图书馆专业委员会常务馆,主要设有采编部、流通部、阅览部和网络技术部。古今中外的音乐、美术、设计艺术专业文献是馆藏中的精华,并在数量和质量的基础上形成各自的门类体系及艺术特色(特藏)。至目前为止馆藏书刊达30余万册,电子光盘约5000余张,以及各种网络信息资源若干,是江苏地区馆藏艺术资料最丰富的图书馆。 近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和 图书馆管理信息系统 —、可行性分析 (—)系统背景 图书馆信息化是信息化领域理论与实践发展的重要演练基础,亦是对信息管理系统化、科学化要求甚高的单位,所以从对图书馆信息化建设入手,我们不仅可以很好的领会信息系统化领域的基础、先进理论,而且可以更好的模拟我们在企事业单位信息化过程中遇到的各种问题,以利于我们的实践与理论相结合,发现问题解决问题。高校图书馆工作,既有实际可借鉴意义又方便调查和调整进行系统升级。通过对图书馆的日常常规工作的控制支持,对高级工作的辅助决策支持,能使图书馆工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高图书馆的管理效率及服务质量,从而使图书馆工作的各个方面等到全面大幅度的提高。 (二)可行性分析 1. 管理可行性分析 随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大,从而可以使我们从繁杂的事务中解放出来,提高了我们的工作效率。如今,信息网络技术已经无处不在,无时不在了,各种各样的信息管理系统也就应运而生。 目前,随着学校招生规模的不断增大,学生、老师和工作人员越来越多,图书的种类和数量也不断增加,这造成图书的流通量很大,需要工作人员花费很大力气来统筹管理这项工作,为了保证工作的正确性和可靠性同时提高管理的效率,图书管理信息系统的实施就是迫切紧需的,而且在实现应用系统的资源和条件上,条件也是具备的。 2.社会可行性分析 鉴于目前学校图书馆的图书管理工作部分还是手工管理,工作效率很低,并且不能及时了解图书的种类和学生们比较需求的图书等,不能更好的适应当前学生的借阅要求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对图书馆的图书 #include "stdio.h" #include "stdlib.h" #include "conio.h" #include "string.h" #include "math.h" #define LEN sizeof(struct library) #define LEN1 sizeof(struct reader) #define NULL 0 struct library//图书馆结构体 {int shuhao,xcl; char name[20],author[20],chuban[20]; struct library *next; }; struct reader//读者结构体 { int zhenghao; char mingzi[20],riqi[20],zname[20]; struct reader *next; }; void mainmenu() //显示主菜单 { system ("cls"); printf("\n"); printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.图书馆信息\n\n"); printf("\t\t\t\t 2.借阅系统\n\n"); printf("\t\t\t\t 3.退出系统\n\n"); printf("\t\t\t 请按键选择,回车确定\n"); printf("\t\t\t\t######################\n"); printf("\n"); return ; } void menu1() //显示图书馆信息菜单 { system ("cls"); printf(""); printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.采编入库\n\n"); printf("\t\t\t\t 2.清除库存\n\n"); printf("\t\t\t\t 3.图书查询\n\n"); printf("\t\t\t\t 4.库存一览\n\n"); printf("\t\t\t\t 5.返回上一层\n\n"); printf("\t\t\t 请按键选择,回车确定\n"); 本系统结构简单,功能不多,供初学者参考使用! 需求分析 我所设计的系统主要包括学生登陆模块和管理员登陆模块,并设置了简单的权限处理(只有帐号和密码全都正确时方能进入系统)。但并未尽善尽美,有些地方存在漏洞,主要内容及功能如下: 学生登录模块: 1.图书查询(包括对书名,作者,分类号(即是编号),出版社,出版时间,价格,总库存量及现库存量的查询)。 2.图书排序(可对各个图书信息的项目进行从小到大排序)。 3.浏览全部图书(输出全部图书信息) 4.借书系统(每人只可借一本书) 5.还书系统 6.修改密码(查看密码是否修改成功时,需要进入查看个人资料,用新密码进入) 7.查看个人资料(图书名与分类号初始为0,意味着尚未借阅任何图书) 管理员登陆系统: 1.图书查询 2.图书排序 3.浏览全部图书 4.添加图书信息(可逐个添加,也可批量添加) 5.删除图书信息(输入时,需要输入图书的分类号) 6.修改图书信息(可修改图书名,作者名等相关图书信息) 头函数名: #include 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 分类号: 单位代码: 本科毕业设计说明书 C语言编写图书管理系统 姓名李彬 学号0114 年级2008级本科3班 专业机械设计制造及其自动化 系(院)机械工程学院 指导教师李培珍 年月日 目录 第一部分.................................................. 错误!未定义书签。职业生涯规划——十年创业路................................ 错误!未定义书签。1前言................................................... 错误!未定义书签。2自我剖析................................................ 错误!未定义书签。3环境分析................................................ 错误!未定义书签。 3.1国家环境............................................. 错误!未定义书签。 3.2社会环境............................................. 错误!未定义书签。 3.3职业环境............................................. 错误!未定义书签。 3.4分析小结............................................. 错误!未定义书签。4未来人生职业规划........................................ 错误!未定义书签。5总结................................................... 错误!未定义书签。第二部分.................................................. 错误!未定义书签。C语言编写图书管理系统.................................... 错误!未定义书签。摘要.................................................... 错误!未定义书签。Abstract.................................................. 错误!未定义书签。1需求分析................................................ 错误!未定义书签。 1.1 系统需求............................................ 错误!未定义书签。 1.2 功能分析............................................ 错误!未定义书签。2系统功能模块结构图...................................... 错误!未定义书签。 2.1 系统调用的函数...................................... 错误!未定义书签。 2.2 图书管理系统模块.................................... 错误!未定义书签。 3 图书管理系统的结构...................................... 错误!未定义书签。 3.1 主函数流程图........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 3.2 实体数据结构........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 题目:图书馆图书管理信息系统 学号:姓名: 1006991108 伍丽 1006991109 周雅坤 1006991136 史曼玲 1006991138 王晓菁 引言 建立图书馆图书管理信息系统的总体目标是以科学的管理方法来管理图书馆图书的各种信息,实现图书、读者、管理员等实时控制、修改、加工、分析相关的数据,为读者借书及管理员的管理提供方便。由于图书馆图书的数据在不断的增大,数据查找很不方便,数据掌握也不准确,容易数据混乱和错误,因此开发一套对数据管理和决策的管理信息系统是很有必要的,以此提高图书馆的管理水平,使读者与管理者更方便、轻松、高效的阅读与工作。 第一章系统规划 2.1开发背景 随着计算机技术的发展以及计算机网络的逐渐普及,英特网成为人们查找信息的重要场所。二十一世纪是信息的时代,所以信息的交换和信息流通显得特别重要。因此,图书馆使用计算机来管理成为必然的趋势。 建立图书馆图书管理信息系统是一个很好的解决办法,因为随着社会生产力的迅速发展和科学技术的突飞猛进,一个集计算机技术、通迅技术、数据库技术、信息技术、现代管理理论为一体的系统开发方法已经逐渐成熟,我们完全能够结合自己的实际情况开发出实用的管理信息系统,来指导我们的学习。为此,我们通过自主开发这一图书馆图书信息管理系统,达到提高工作效率的目的。 2.2参考材料 《管理信息系统》电子工业出版社 2.3系统简介 本软件作为图书馆图书管理系统可以帮助工作人员对自己的个人资料进行编辑,查询图书的借阅情况从而更有利于系统工作人员维护图书的安全性;读者可以通过登陆、对自己的个人信息进行编辑,并且查询书籍的基本情况;管理人员可以对图书馆工作人员及书籍的信息进行添加和删除;出版社也可以通过登陆查询所供应图书的借阅情况以及提供新书的基本信息。 本软件将由电脑取代手工完成对各类信息的处理计算,更加精确、快捷,节省时间,减少人力资源的利用,帮助图书馆提高效率,方便大家。 2.4技术要求及限定条件 (1)由于本项目的实验性质,没有投资方。 (2)存在权限控制机制,只有管理员才能删除出版商和工作人员账号。 (3)本软件需要高性能的电脑配置若干台及网络互联技术,以完成对大量信息的管理与处理。 #include 图书馆信息管理系统 一、项目背景: 当今社会,计算机正被广泛的应用与各个领域。使用计算机进行信息化处理,能够大大提高管理人员的工作效率,同时,使用计算机解决问题可以节约大量的人力、物力。而系统作为计算机的核心,它具有操控整个计算机的功能。 二、项目目标 本系统开发的总体任务是实现图书馆的信息化管理。系统要完成对图书的增删改查等等,同时对系统设置权限,主要是设置用户的权限。例如学生和教师可以查询相关学生的有关信息,学院的有关信息,出版社的有关信息,管理员的有关信息,图书的有关信息,管理员处理借书证的有关信息,学生借阅图书的有关信息,学院颁发借书证的有关信息,但是教师和学生不能对这些信息进行增删查改。而只有图书馆管理人员才能进行以上信息的增删改查,从而保证系统的安全性和完整性。但,管理员不能对管理员表进行增删查改,只有图书馆的主管才能对管理员的信息进行插入、删除、修改,这样可以保证这些表的信息不能任意地被篡改,保证系统的完整性,也使系统具有安全性。 需求分析分为三个部分:需求的文字表述、数据流图、数据字典。 一、需求分析 第一部分调查用户需求 本系统的最终用户为在校学生,我们根据从图书馆方面取得的图表资料、文字资料以及其他细节方面的信息,根据我们日常生活中的经验,根据我们所做的其他询问和调查,得出用户的下列实际要求: 1、学校的组织机构情况 调查是系统需求分析的重要手段,只有通过对用户深入细致的调查研究才能得到需要的信息。需求分析的重点是调查、收集和分析用户在数据管理中的信息需求、处理要求、安全性与完整性要求。 (1)信息要求是指用户需要从数据库中获得信息的内容与性质。通过信息要求可以导出数据要求,即在数据库中需要存储哪些数据。 (2)处理要求是指用户要求完成什么处理功能,对处理的响应时间有什么要求,处理方式是什么等,即功能要求和性能要求。 (3)数据安全性和完整性要求包括数据保密措施和存取控制要求、数据自身的或数据之间的约束限制等。 新系统的功能必须能够满足用户的信息要求、处理要求、安全性和完整性要求。 2、需求分析调查的内容 与图书馆信息管理相关的学校的组织机构有:图书、学生、管理员、学院和出版社。学校的所有日常工作都是围绕着这三大部分进行的。 一个学校下设若干学院,如计算机学院、经济学院、法学院、财政金融学院、外国语学院等;一个学院下设若干专业,如计算机学院下设三个专业:信息管理与信息系统、计算机科学与技术和数学与应用数学、软件工程等等;一个专业有若干班级,如计算机学院的2013级信息管理与信息系统专业下设两个班级:信息1班、信息2班;一个班级有若干同学。 一个学院给学生颁发了借书证,借书证号是对应的每个人的学号,一个学院可以给若干个学生颁发借书证,一个学生只能拥有唯一的借书证,并且一个学生只能附属于一个学院,也就是说一个借书证只能由一个学院颁发。 一个图书馆有若干本书,书有不同的作者,例如白落梅,曹雪芹等,书也有不同的出版社,如清华大学出版社等。一个学生可以借多本书,比如说借阅《高等数学》、《离散数学》等等,一本书也可以由不同的学生在不同的时间进行借阅。 一个出版社可以出版若干本书,一本书也可以由不同的出版社多次出版。例如清华大学出版社可以出版《高等数学》,也可以出版《大学英语》。大学英语,可以由清华大学出版社出版,也可以由工业机械出版社出版。 图书馆的一个管理员可以管理多本图书,一本图书也可以多个管理员管理。所以图书与管理员之间的关系也是多对多。 借阅图书,管理员会对学生的借书证进行处理,一个管理员可以处理若干个学生的借书 C语言课程设计 姓名:郭献安 班级:054101-13 学号:20101001871 《图书管理系统》 目录 一、题目要求及能实现的功能 (2) 二、程序总体设计 (2) 三、详细设计 1、主函数 (4) 2、各功能模块设计 (5) 四、附录 (26) 题目要求及能实现的功能 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等,使之能提供以下功能: 1、新进图书基本信息的输入。 2、图书基本信息的查询。 3、对撤消图书信息的删除。 4、办理借书手续。 5、办理还书手续 【提示】 建立图书管理信息结构体,结构体成员包括图书馆名称、图书编号、单价啊、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同的数字代表借还状态。借书和还书手续要注意修改结构题的成员变量存在状态的值。 总体设计 欢迎进入地大图书管理系统 查阅图书借阅图书管理系统图书归还退出系统 欢迎进入管理系统 增加图书删除图书修改图书图书统计学生管理系 详细设计 1、主函数 [说明] 主函数较多、较复杂,已经和主菜单函数合并,主菜单函数里还包括了各自的二级菜单,并已经开始了对各个函数的调用。为了程序显示的清晰可读,应先清屏之后调用菜单函数。 [流程] 开始 显示一系列功能选项 N 输入n,判断n是 否是0~4? Y 调用与n 相应的模块 2、各功能模块设计 (2)查阅模块 [说明] 输入个员工信息后,浏览、查找、排序时同一个员工的所有信息都要同时显示,所以运用结构体运行。数据信息存放在文件中,一条记录对应一条学生信息,方便管理。 [流程] 管理信息系统课程 第一次大作业 题目:沈阳北方图书城管理信息系统分析 学院:管理学院 专业:市场营销132 学号:131606048 姓名:王婧 1.管理现状 北方图书城是东北地区最大、图书种类最全、服务最佳的大型书城。新华书店北方图书城有限公司坐落在沈阳市南湖科技开发区内,与众多大专院校和科研单位毗邻,与青年公园,带状公园隔街相望,书城良好的自然环境占尽"营造书香氛围"的独特的人文、地理优势。现代水平的室内外装修,配以智能化的管理手段和一流水平的服务,使书城具备了"倡导大众读书"的高品位的经营条件。 北方图书城自1995年开业以来,得到国内外各界朋友的大力支持,得到出版、发行界同仁的鼎力相助,现已与国内外五百余家出版社,近千家发行单位保持着良好的合作关系。在一万多平方米的营业大厅内经营着三十万种图书,两万余种音像制品和近万种文化用品。 北方图书城是一家区域性的连锁书店,隶属于辽宁出版集团,目前在辽宁省内外已拥有近二十家连锁店。北方图书城的愿景是成为出版发行部门开拓图书市场,开通货源渠道的驿站,成为广大读者朋友读书、选书、购书的最佳场所,成为沈阳及更广大地域走向知识经济新时代的桥梁和纽带。此外,书城每年定期举办送书下乡、读书月、书市等活动。 2. 组织结构及管理功能分析 2.1组织结构 北方图书城是东北地区最大、图书种类最全、服务最佳的大型书城,其组织结构图下: 图2.1 组织结构图 2.2管理功能分析 采编室:熟悉馆藏,了解各方面读者的需求,根据本校实际情况,提出图书采购意见,并报领导审批后实施。采购工作以外采为主,兼顾征集、交换各种书刊资料。 学术论文室:主要负责论文的整理与规划。 图书馆借阅室:整理读者借阅书籍,登记读者借阅信息及归还信息。 电子阅读室:熟练运用各种办公软件,有一定的计算机基础,对于读者的借阅及归还在网上进行整理和统计。 期刊阅读室:负责期刊的购买、订阅及整理,并记录相应的信息。 技术支持室:对图书馆的MIS系统进行日常的业务处理,帮助各个部门进行信息录入。 3. 业务流程分析 北方图书城读者借阅管理系统的用户分为读者、采编人员、借书管理员、图书管理员、采购员,读者借阅图书,而采编人员、借书管理员、图书管理员、采购员分别负责不同的功能。 读者可以查看图书目录选择书籍,采编室根据电子读物表选择书籍;读者也可填写借书单交给借阅管理员,借阅管理员填写借阅登记表:读者填写注册登记表和读者信箱给图书馆理员,图书管理员将读者登记表交给借阅管理员。 在登录北方图书城系统时,系统会把读者所输入的读者名与数据库中的进行检验。进入系统后用户有权限的功能可用,无权限的功能则不可用。 图3.1为该系统的业务流程图。系统的业务室系统要达到的业务目标,业务流程分析是系统分析的基础环节。图书馆管理信息系统的业务流程如图3.1所示。 图书馆管理系统 045072班王磊 第三部分13题 一、题目要求 图书馆管理系统包括:图书名称、图书编号、单价、作者、存在状态,借书人姓名、性别、学号等,此外设计的系统须具有如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3.对撤销图书信息的删除 4.办理借书手续 5.办理书手续 二、需求分析 根据题目要求,需建立图书管理系统结构体,结构体中应包括图书名称,图书编号,单价、作者、存在状态,借书人姓名,性别、学号等。其中存在状态设定为整形变量,可用不同的数字来表达,在该系统中用〝1〝来表示可借出,〝0〝来表示已借出。 图书信息应存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现 图书信息浏览,查找、修改等功能,并进行借出借入服务;另外还应提供键盘是选择菜单来实现功能选择。 三、总体设计 结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下 四、详细设计 1、主函数 主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 [流程图] [程序] main() {int n,t; /*变量保存选择菜单数字,判断输入的数字是否在功能人能够菜单所对应的数字范围内*/ do {puts("\t\t\t***欢迎使用图书馆管理系统***\n\n\n"); puts("\t\t\t*************MENU************\n\n"); puts("\t\t\t1. 图书信息输入\n"); puts("\t\t\t2. 新图书信息录入\n"); 图书馆管理信息系统规划 图书馆管理信息系统规划 一、系统概况 (一)系统说明 1)系统名称:图书馆管理信息系统 2)客户:某企业 3)供应商:开发人员 (二)系统背景 如今,随着信息技术的发展,在图书馆管理中运用传统的手工操作方式在这个数字化时代显得极不适应,因此,工作人员和读者对于运用计算机来辅助协调与管理自身工作的要求正在逐步提高。随着我国现代化技术的不断普及和提高,企业也在不断提高它的各个部门的管理质量。而图书馆管理就是对图书的编目、查询以及对读者信息的管理,重要的是图书的信息管理,包括图书的采购、编目、下架、遗失等。因此,图书的管理是一个工作量比较大且比较复杂的工作。至今,某企业还在进行手工管理的方式,效率低、易出错、手续繁琐,而且耗费大量的人力。这样的工作在这么高科技的时代下显得太原始了。 二、系统规划 (一)图书馆现状 某企业图书馆系统是一个具有万人以上的员工,并地理位置分布在大型企业的图书管理系统,图书馆藏书100多万册,每天的借阅量近千册。在手工操作的方式下,图书的编目和借阅的工作量打,准确性低且不易修改维护,读者借书只能到图书馆手工方式查找书目,不能满足借阅需求。需要建设一套网络化的电子图书馆信息系统。 该图书馆管理信息系统服务对象有两部分人:注册用户和一般读者。一般读者经注册后成为注册用户,注册用户可以在图书馆借阅图书,其他人员只可查阅图书目录,但不能借阅图书。系统同时考虑提供电子读物服务,目前只提供电子读物的目录查询服务,不久的将来将提供电子读物全文服务。用户可通过网络方式访问该图书馆管理信息系统。 (二)开发方法 本项目采用的是结构化系统开发方法,我们将其分为三个阶段: 系统分析。原来的手工操作系统已经不再适应发展变化了的环境,于是提出了开发新的系统的要求,并作出新的系统开发规划。对此,我们做了初步的系统调查和详细的系统调查,进行系统化的分析,建立信息系统的逻辑模型。 2、系统设计。其主要内容有:代码设计、信息系统流程图设计、数据库设计、处理流程设计和编写程序设计说明书。 3、系统实施。其主要内容包括:程序设计及调试、系统转换及系统运行与评估等环节。 (三)目标和约束条件 开发目标: 希望能设计一个完整的、功能完备的、可行便捷的图书信息管理系统,包括前台和后台两部分。前台的功能包括能够按照各种条件查询符合条件的图书,读者能够自行查询自己的借阅情况、图书到期日等,个人信息的修改、浏览等功能;后台包括能够录入新书信息,能够修改、删除、更新和查询在馆图书的所有信息,进行新书编号,能够查询借阅读者的借阅情况,如果超期能给出警报,能够对查询的结果从屏幕显示或打印报表等功能。 根据图书馆日常图书管理工作的需求和图书借阅的管理流程,该系统实施后,应该达到以下目标:1.界面设计友好、美观,数据存储安全、可靠。2.基本信息设置保证图书信息和读者信息分类管理。3.强大的查询功能,保证数据查询的灵活性。 4.实现对图书借阅、续借、归还流程的全程数据信息跟踪。 5.提供管理员修改信息、密码等功能,保证管理的安全性。 6.提供灵活、方便的权限设置,使整个系统的管理分工明确。 约束条件: 目前企业在图书馆建设方面没有太多的投入,计划里面没有包含图书管发展方案,技术人才方面也没有过多的重视引进人才,导致图书馆管理方面存在很大的问题。图书馆建设方面经济投入也是很大的问题,需要联系专业的系统开发人员了解企业图书馆的运转要求设计符合该企业需求的系统。图书管理系统的设计(C语言)
图书馆管理信息系统
图书馆管理系统C语言程序设计
图书馆管理信息系统分析报告(完整资料).doc
c语言最全的图书管理系统程序
模板图书馆信息管理系统模板
图书馆管理信息系统
图书馆管理系统 c语言编写
图书信息管理系统
C语言编写图书管理系统
图书馆管理信息系统大作业整合版
C语言图书管理系统代码
图书馆管理信息系统说明书
C语言课程设计图书管理系统
图书馆管理信息系统
图书馆管理系统 c语言
图书馆管理信息系统规划