2015年第15期
信息与电脑
China Computer&Communication
软件开发与应用
图书馆作为一种信息资源的集散地,图书借阅次数频繁,用户管理复杂多变,包含大量的信息数据。因此,图书管理人员的工作量非常大,工作内容非常复杂和繁琐。应用图书管理系统,可以有效提高工作效率,降低管理成本,加速资源流通。基于此,在此介绍一种完善的图书管理系统设计方案。
1 设计思想
为建立完善的图书管理系统,需要将整个程序分解为模块,对每个模块进行整体设计,在程序中能够实现图书信息的增加、修改、删除、查询等功能操作。并且定义一个结构体把全部的模块都储存在结构体数组中,然后把模块形成菜单模式。
2 模块设计2.1 增加模块
打开文件,输入数据,运用for 循环语句来控制输入图书的数量和信息,再把结构体数组中的数据储存起来。增加模块程序如下:
void Add ()
{  LIST *p1=NULL,*p2=NULL;
p1=(LIST *)malloc (sizeof (LIST ));    printf ("输入书名:\n");
scanf ("%s",p1->bookname );    printf ("输入编号\n");
scanf ("%s",p1->num );        printf ("输入单价\n");
scanf ("%s",p1->price );      printf ("请输入ISBN:\n");
scanf ("%s",p1->ISBN );    printf ("输入出版社\n");
scanf ("%s",p1->press );    p1->next=NULL;    if (head==NULL )
{    head=(LIST *)malloc (sizeof (LIST ));      head->next=p1;    }
else    {    for (p2=head;p2->next!=NULL;p2=p2->next );
p2->next=p1;    }  printf ("此记录已添加!");}增加记录运行效果如图1
所示:
图1 增加模块
2.2 查询模块
运用for 循环语句对数据进行判定,将要查询的图
基于C 语言的图书管理系统设计
赵月海
(辽源职业技术学院,吉林 辽源 136200)
摘 要:随着互联网等科技的不断发展,信息科学、计算机技术、通信技术已经在各行各业得到广泛的应用。图书馆作为一种信息资源的集散地,图书借阅次数频繁,用户管理复杂多变,包含大量的信息数据。基于此,介绍一种完善的图书管理系统,该系统能够建立图书管理数据库、对图书的数据进行修改、对图书的数据进行增加或删除,也可以对数据进行查询。
关键词:数据管理;C 语言;数据库
中图分类号:TP311.52  文献标识码:A  文章编号:1003-9767(2015)15-136-02作者简介:赵月海(1976-),男,吉林公主岭人,本科,讲师。研究方向:计算机科学技术与应用。
2015年第15期
信息与电脑
China Computer&Communication
软件开发与应用
书信息全部显示出来。查模块可以进行多次判定,直到将所有图书的信息都显示出来为止,达到精确查询的目的。查询模块程序代码如下:
void Find ()
{    LIST *p;    char bookname1[30],num1[15];    int i;    printf ("请输入查方式1、按书名;2、按编号");    scanf ("%d",&i );
if (i==1)    {      printf ("请输入要查的图书:\n");
scanf ("%s",bookname1);
printf ("书名\t\t 编号\t 单价\t\tISBN\t\t 出版社\n");
for (p=head->next;p!=NULL;p=p->next )      { if (strcmp (p->bookname,bookname1)==0)printf ("%s\t%s\t %s\t\t %s\t %s\n",p->bookname,p->num,p->price,p->ISBN,p->press );      }      }
else if (i==2)
{      printf ("请输入要查的图书编号:\n");      scanf ("%s",num1);
printf ("书名\t\t 编号\t 单价\t\tISBN\t\t 出版社\n");
for (p=head->next;p!=NULL;p=p->next )      {      if (strcmp (p->num,num1)==0)printf ("%s\t%s\t%s\t \t%s \t%s \n",p->bookname,p->num,p->price,p->ISBN,p->press );      }    }
else      printf ("请选择1和2两个数字\n");}
查询运行结果如图2
所示:
图2 查询模块
2.3 删除模块
运用for 循环语句对所要删除的图书进行筛选,选出要删除的图书,从而实现删除图书的效果。删除模块
程序代码如下:
void Delete ()
{    char bookname1[20]; /*先查 后删除*/    LIST *p = head->next, *pr = head->next;  printf ("请输入要删除的书名:\n");  scanf (" %s",bookname1);    if (head->next == NULL )    {    printf ("无此节点!\n");    return;    }基于java的图书管理系统
while ((strcmp (p->bookname,bookname1)!=0 )&& p->next != NULL )
{    pr =p;      p =p->next;  }
if (strcmp (bookname1, p->bookname )==0) /*输出删除信息*/    {      printf ("%s\t\t%s\t%s\t%s\t%s\n",p->next->bookname,
p->next->num,p->next->price,p->next->ISBN,p->next->press );
if (p == head->next )        head->next = p->next;      else      pr->next = p->next;      free (p );    }    printf ("此记录已删除!");}删除记录运行效果如图3
所示:
图3 删除模块
2.4 输出模块
打开文件将要输出的图书数据查出来,然后利用for 语句,将数据全部输出,关闭文件。
3 结 语
本系统设计界面简单,操作简易,利用数字键完成相应功能,完全符合人性化需求。此外,本系统功能齐全,
而且适用于任何人员,满足信息时代的需求。鉴于这些优势,使用计算机技术进行管理,完全可以节约大量的人力、物力和财力,大幅度提高工作效率和图书的利用率,促进我国图书行业的发展。