当前位置:文档之家› 图书管理系统设计(C语言)

图书管理系统设计(C语言)

图书管理系统设计(C语言)
图书管理系统设计(C语言)

图书管理系统设计

图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等

功能描述:

1.新进熟土基本信息地输入

2.图书基本信息地查询

3.对撤消图书信息地删除

4.为借书人办理注册

5.办理借书手续

6.办理换书手续

要求:以文件方式存储数据,系统以菜单方式工作.

这是本人大一第二学期初C语言课程设计地作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初地teta版,发布于此,以作纪念.

C源代码如下:

#include

#include

#include

struct book{

char book_name[30]。

int bianhao。

double price。

char author[20]。

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>。/*增加图书,逐个添加*/

struct book *Delete_Book(struct book *head_book,int bianhao>。/*删除图书*/

struct club *Create_New_Club(>。

struct club *Search_Club_xuehao(int xuehao,struct club *head_club>。

struct club *Search_Club_name(char *c_name,struct club *head_club>。

struct club *Insert_Club(struct club *head_club,struct club *stud_club>。

struct club *Delete_Club(struct club *head_club,int xuehao>。

struct book *Lent_Book(int bianhao,int xuehao,struct book *head_book,struct club *head_club>。

struct book *back(int bianhao,int xuehao,struct book *head_book,struct club *head_club>。

int main(>

{

struct book *head_book,*p_book。

char book_name[30],name[20],author[20],sex[10]。

int bianhao。

double price,price_h,price_l。

int size_book=sizeof(struct book>。

int m=1,n=1,f。

char *b_name,*c_name。

struct club *head_club,*p_club。

int xuehao。

int size_club=sizeof(struct club>。

int choice。

printf("\n欢迎您第一次进入图书管理系统!\n\n">。

printf("----->[向导]----->[新建图书库]\n\n">。

printf("注意:当输入图书编号为0时,进入下一步.\n\n">。head_book=Create_New_Book(>。

system("cls">。

printf("\n欢迎您第一次进入图书管理系统!\n\n">。

printf("----->[向导]----->[新建会员库]\n\n">。

printf("注意:当输入会员学号为0时,进入主菜单.\n\n">。head_club=Create_New_Club(>。

system("cls">。

do{

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。printf("\n">。

printf("\t\t\t[1]:借书办理\t">。printf(" [6]:还书办理\n">。printf("\n">。

printf("\t\t\t[2]:查询图书\t">。printf(" [7]:查询会员\n">。printf("\t\t\t[3]:添加图书\t">。printf(" [8]:添加会员\n">。printf("\t\t\t[4]:删除图书\t">。printf(" [9]:删除会员\n">。printf("\t\t\t[5]:遍历图书\t">。printf("[10]:遍历会员\n\n">。printf("\t\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\n">。printf("\t\t\t0:退出\n\n">。

printf("请选择<0~10>:">。

scanf("%d",&choice>。

switch(choice>{

case 1:

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。printf("输入所借图书编号:\n">。

scanf("%d",&bianhao>。

printf("输入借书人地学号:\n">。

scanf("%d",&xuehao>。

head_book=Lent_Book(bianhao,xuehao,head_book,head_club>。system("cls">。

printf("\n借阅成功!\n\n">。

printf("相关信息如下:\n\n">。

head_book=Search_Book_bianhao(bianhao,head_book>。break。

case 2:

system("cls">。

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。

printf("1.按编号查询\n\n">。

printf("2.按名称查询\n\n">。

printf("3.按价格区间查询\n\n">。

printf("0.返回主菜单\n\n">。

printf("请选择:">。

scanf("%d",&f>。

if(f==1>{

printf("请输入查询图书编号:">。

scanf("%d",&bianhao>。

printf("相关信息如下:\n\n">。

head_book=Search_Book_bianhao(bianhao,head_book>。break。

}

else if(f==2>{

b_name=book_name。

getchar(>。

printf("请输入查询图书名称:">。

gets(b_name>。

printf("相关信息如下:\n\n">。

head_book=Search_Book_name(b_name,head_book>。break。

}

else if(f==3>{

printf("请输入最高价格:">。

scanf("%lf",&price_h>。

printf("请输入最低价格:">。

scanf("%lf",&price_l>。

printf("相关信息如下:\n\n">。

head_book=Search_Book_price(price_h,price_l,head_book>。break。

}

else if(f==0>{

break。

}

break。

case 6:

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。printf("输入所还图书编号:\n">。

scanf("%d",&bianhao>。

printf("输入还书人地学号:\n">。

scanf("%d",&xuehao>。

head_book=back(bianhao,xuehao,head_book,head_club>。system("cls">。

printf("\n归还成功!\n\n">。

printf("相关信息如下:\n\n">。

head_book=Search_Book_bianhao(bianhao,head_book>。break。

case 3:

system("cls">。

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。printf("请输入图书名称:">。

scanf("%s",book_name>。

printf("请输入图书编号:">。

scanf("%d",&bianhao>。

printf("请输入单价:">。

scanf("%lf",&price>。

printf("请输入作者名字:">。

scanf("%s",author>。

printf("\n">。

struct book *ptr_b。

for(ptr_b=head_book。ptr_b。ptr_b=ptr_b->book_next> {

if(ptr_b->bianhao==bianhao>

{

printf("此编号图书已存在\n">。 m=0。

break。

}

}

if(m>{

p_book=(struct book *>malloc(size_book>。

strcpy(p_book->book_name,book_name>。

p_book->bianhao=bianhao。

p_book->price=price。

p_book->xuehao=0。

strcpy(p_book->author,author>。

strcpy(p_book->state,"存在">。

strcpy(p_book->sex,"待定">。

strcpy(p_book->name,"待定">。

head_book=Insert_Book(head_book,p_book>。

printf("\n添加图书成功!\n\n">。

}

break。

case 4:

system("cls">。

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。printf("输入删除图书编号:\n">。

scanf("%d",&bianhao>。

head_book=Delete_Book(head_book,bianhao>。

printf("\n删除图书成功!\n\n">。

break。

case 5:

system("cls">。

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。Print_Book(head_book>。

break。

case 7:

system("cls">。

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。printf("1.按学号查询\n\n">。

printf("2.按姓名查询\n\n">。

printf("0.返回主菜单\n\n">。

printf("请选择:">。

scanf("%d",&f>。

if(f==1>{

printf("请输入查询会员学号:">。

scanf("%d",&xuehao>。

printf("相关信息如下:\n\n">。

head_club=Search_Club_xuehao(xuehao,head_club>。break。

}

else if(f==2>{

c_name=name。

getchar(>。

printf("请输入查询会员姓名:">。

gets(c_name>。

printf("相关信息如下:\n\n">。

head_club=Search_Club_name(c_name,head_club>。break。

}

else if(f==0>{

break。

}

break。

printf("请输入查询会员学号:\n">。

scanf("%d",&xuehao>。

printf("相关信息如下:\n\n">。

break。

case 8:

system("cls">。

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。printf("请输入会员名字:">。

scanf("%s",name>。

printf("请输入会员性别:">。

scanf("%s",sex>。

printf("请输入会员学号:">。

scanf("%d",&xuehao>。

printf("\n">。

struct club *ptr_c。

for(ptr_c=head_club。ptr_c。ptr_c=ptr_c->club_next> {

if(ptr_c->xuehao==xuehao>

{printf("此学号会员已存在\n">。n=0。 break。 }

}

if(n>{

p_club=(struct club *>malloc(sizeof(struct club>>。

strcpy(p_club->name,name>。

strcpy(p_club->sex,sex>。

p_club->xuehao=xuehao。

strcpy(p_club->borrow,"暂无">。

head_club=Insert_Club(head_club,p_club>。

printf("\n添加会员成功!\n\n">。

}

break。

case 9:

system("cls">。

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。printf("输入要删除会员学号:\n">。

scanf("%d",&xuehao>。

head_club=Delete_Club(head_club,xuehao>。

printf("\n删除会员成功!\n\n">。 break。

case 10:

system("cls">。

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。Print_Club(head_club>。 break。

case 0:

system("cls">。

printf("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n">。printf("\n谢谢您地使用!\n\n">。 break。

}

}while(choice!=0>。

return 0。

}

struct book *Create_New_Book(>

{

struct book *head_book,*p_book。

int bianhao。

double price。

char book_name[30],author[20]。

int size_book=sizeof(struct book>。

head_book=NULL。

printf("请输入图书名称:">。

scanf("%s",book_name>。

printf("请输入图书编号:">。

scanf("%d",&bianhao>。

printf("请输入单价:">。

scanf("%lf",&price>。

printf("请输入作者名字:">。

scanf("%s",author>。

printf("\n">。

while(bianhao!=0>{

p_book=(struct book *>malloc(size_book>。

strcpy(p_book->book_name,book_name>。

p_book->bianhao=bianhao。

p_book->price=price。

p_book->xuehao=0。

strcpy(p_book->author,author>。

strcpy(p_book->state,"存在">。

strcpy(p_book->sex,"待定">。

strcpy(p_book->name,"待定">。

head_book=Insert_Book(head_book,p_book>。

printf("请输入图书名称:">。

scanf("%s",book_name>。

printf("请输入图书编号:">。

scanf("%d",&bianhao>。

printf("请输入单价:">。

scanf("%lf",&price>。

printf("请输入作者名字:">。

scanf("%s",author>。 printf("\n">。

}

return head_book。

}

struct book *Search_Book_bianhao(int bianhao,struct book *head_book> {

struct book *ptr_book。 int flag=0。

for(ptr_book=head_book。ptr_book。ptr_book=ptr_book->book_next> {

if(ptr_book->bianhao==bianhao>{

printf("图书编号:%d\n",ptr_book->bianhao>。

printf("图书名称:%s\n",ptr_book->book_name>。

printf("图书单价:%.2lf\n",ptr_book->price>。

printf("存在状态:%s\n",ptr_book->state>。

printf("借书人姓名:%s\n",ptr_book->name>。

printf("借书人性别:%s\n",ptr_book->sex>。

printf("学号:%d\n",ptr_book->xuehao>。

printf("\n">。 flag++。

}

}

if(flag==0>{printf("暂无此图书信息!\n\n">。 }

return head_book。

}

struct book *Search_Book_name(char *b_name,struct book *head_book>

{

struct book *ptr_book。

int flag=0。

for(ptr_book=head_book。ptr_book。ptr_book=ptr_book->book_next>

{

if(strcmp(ptr_book->book_name,b_name>==0>{

printf("图书编号:%d\n",ptr_book->bianhao>。

printf("图书名称:%s\n",ptr_book->book_name>。

printf("图书单价:%.2lf\n",ptr_book->price>。

printf("图书作者:%s\n",ptr_book->author>。

printf("存在状态:%s\n",ptr_book->state>。

printf("借书人姓名:%s\n",ptr_book->name>。

printf("借书人性别:%s\n",ptr_book->sex>。

printf("学号:%d\n",ptr_book->xuehao>。

printf("\n">。

flag++。

}

}

if(flag==0>{printf("暂无此图书信息!\n\n">。 }

return head_book。

}

struct book *Search_Book_price(double price_h,double price_l,struct book *head_book>

{struct book *ptr_book。

int flag=0。

for(ptr_book=head_book。ptr_book。ptr_book=ptr_book->book_next>

{

if((ptr_book->price>=price_l>&&(ptr_book->price<=price_h>>{

printf("图书编号:%d\n",ptr_book->bianhao>。

printf("图书名称:%s\n",ptr_book->book_name>。

printf("图书单价:%.2lf\n",ptr_book->price>。

printf("图书作者:%s\n",ptr_book->author>。

printf("借书人姓名:%s\n",ptr_book->name>。

printf("借书人性别:%s\n",ptr_book->sex>。

printf("学号:%d\n",ptr_book->xuehao>。

printf("\n">。

flag++。

}

}

if(flag==0>{printf("暂无此图书信息!\n\n">。 }

return head_book。

}

struct book *Delete_Book(struct book *head_book,int bianhao> {

struct book *ptr1_book,*ptr2_book。

while(head_book!=NULL && head_book->bianhao==bianhao>{ ptr2_book=head_book。

head_book=head_book->book_next。

free(ptr2_book>。

}

if(head_book==NULL> return NULL。

ptr1_book=head_book。

ptr2_book=head_book->book_next。

while(ptr2_book!=NULL>{

if(ptr2_book->bianhao==bianhao>{

ptr1_book->book_next=ptr2_book->book_next。

free(ptr2_book>。

}

else

ptr1_book=ptr2_book。

ptr2_book=ptr1_book->book_next。

}

return head_book。

}

struct club *Create_New_Club(>

{struct club *head_club,*p_club。

int xuehao。

char name[20],sex[10]。

int size_club=sizeof(struct club>。

head_club=NULL。

printf("请输入会员名字:">。scanf("%s",name>。

printf("请输入会员性别:">。scanf("%s",sex>。

printf("请输入会员学号:">。 scanf("%d",&xuehao>。

printf("\n">。

while(xuehao!=0>{

p_club=(struct club *>malloc(size_club>。

strcpy(p_club->name,name>。

strcpy(p_club->sex,sex>。p_club->xuehao=xuehao。

strcpy(p_club->borrow,"暂无">。

head_club=Insert_Club(head_club,p_club>。

printf("请输入会员名字:">。

scanf("%s",name>。

printf("请输入会员性别:">。scanf("%s",sex>。

printf("请输入会员学号:">。 scanf("%d",&xuehao>。

printf("\n">。

}

return head_club。

}

struct club *Search_Club_xuehao(int xuehao,struct club *head_club>

{struct club *ptr_club。

int flag=0。

for(ptr_club=head_club。ptr_club。ptr_club=ptr_club->club_next>

{

if(ptr_club->xuehao==xuehao>{

printf("会员姓名:%s\n",ptr_club->name>。

printf("会员性别:%s\n",ptr_club->sex>。

printf("会员学号:%d\n",ptr_club->xuehao>。

printf("所借图书:%s\n",ptr_club->borrow>。

printf("\n">。 flag++。

}}

if(flag==0>{printf("此用户不存在!\n\n">。 }

return head_club。

}

struct club *Search_Club_name(char *c_name,struct club *head_club>

{

struct club *ptr_club。 int flag=0。

for(ptr_club=head_club。ptr_club。ptr_club=ptr_club->club_next>

{

if(strcmp(ptr_club->name,c_name>==0>{

printf("会员姓名:%s\n",ptr_club->name>。

printf("会员性别:%s\n",ptr_club->sex>。

printf("会员学号:%d\n",ptr_club->xuehao>。

printf("所借图书:%s\n",ptr_club->borrow>。

printf("\n">。 flag++。 }

}

if(flag==0>{ printf("此用户不存在!\n\n">。 }

return head_club。

}

struct book *Lent_Book(int bianhao,int xuehao,struct book *head_book,struct club *head_club>

{struct book *ptr_book。

struct club *ptr_club。

int flag=0。

for(ptr_book=head_book。ptr_book。ptr_book=ptr_book->book_next>

for(ptr_club=head_club。ptr_club。ptr_club=ptr_club->club_next>

{

if((ptr_book->bianhao==bianhao>&&(ptr_club->xuehao==xuehao>>

{strcpy(ptr_book->name,ptr_club->name>。/*字符串地复制,把右边地内容复制到左边*/

strcpy(ptr_book->sex,ptr_club->sex>。

ptr_book->xuehao=ptr_club->xuehao。

strcpy(ptr_book->state,"暂无">。

strcpy(ptr_club->borrow,ptr_book->book_name>。 flag++。 }

if(flag==0>{printf("暂无此图书或您还未注册为会员!\n\n">。 }

}

return head_book。

}

struct book *back(int bianhao,int xuehao,struct book *head_book,struct club *head_club>

{struct book *ptr_book。 struct club *ptr_club。

int flag=0。

for(ptr_book=head_book。ptr_book。ptr_book=ptr_book->book_next>

for(ptr_club=head_club。ptr_club。ptr_club=ptr_club->club_next>

{

if((ptr_book->bianhao==bianhao> && (ptr_club->xuehao==xuehao>>

{strcpy(ptr_book->name,"暂无">。 strcpy(ptr_book->sex,"待定">。

ptr_book->xuehao=0。

strcpy(ptr_book->state,"暂无">。

strcpy(ptr_club->borrow,"暂无">。

flag++。 }

if(flag==0>{ printf("输入有误,请重试\n\n">。 }

}

return head_book。

}

struct book *Insert_Book(struct book *head_book,struct book *stud_book>

{struct book *ptr_b,*ptr1_b,*ptr2_b。

ptr2_b=head_book。 ptr_b=stud_book。

if(head_book==NULL>{

head_book=ptr_b。

head_book->book_next=NULL。

}

else{

while((ptr_b->bianhao > ptr2_b->bianhao> && (ptr2_b->book_next!=NULL>>{

ptr1_b=ptr2_b。 ptr2_b=ptr2_b->book_next。

}

if(ptr_b->bianhao <= ptr2_b->bianhao>{

if(head_book==ptr2_b> head_book=ptr_b。

else ptr1_b->book_next=ptr_b。

ptr_b->book_next=ptr2_b。

}

else{

ptr2_b->book_next=ptr_b。

ptr_b->book_next=NULL。

}

}

return head_book。

}

struct club *Insert_Club(struct club *head_club,struct club *stud_club> {struct club *ptr_c,*ptr1_c,*ptr2_c。

ptr2_c=head_club。 ptr_c=stud_club。

if(head_club==NULL>{

head_club=ptr_c。

head_club->club_next=NULL。

}

else{

while((ptr_c->xuehao > ptr2_c->xuehao> && (ptr2_c->club_next!=NULL>>{ ptr1_c=ptr2_c。 ptr2_c=ptr2_c->club_next。

}

if(ptr_c->xuehao <= ptr2_c->xuehao>{

if(head_club==ptr2_c> head_club=ptr_c。

else ptr1_c->club_next=ptr_c。

ptr_c->club_next=ptr2_c。

}

else{

ptr2_c->club_next=ptr_c。

ptr_c->club_next=NULL。

}

}

return head_club。

}

void Print_Club(struct club *head_club>

{struct club *ptr_c。

if(head_club==NULL>{

printf("\n无记录\n\n">。

return。

}

printf("\n会员姓名\t会员性别\t会员学号\n\n">。

for(ptr_c=head_club。ptr_c。ptr_c=ptr_c->club_next>

printf("%s\t\t%s\t\t%d\n",ptr_c->name,ptr_c->sex,ptr_c->xuehao>。

}

struct club *Delete_Club(struct club *head_club,int xuehao>

{struct club *ptr1_club,*ptr2_club。

while(head_club!=NULL && head_club->xuehao==xuehao>{

ptr2_club=head_club。 head_club=head_club->club_next。

free(ptr2_club>。

}

if(head_club==NULL> return NULL。

ptr1_club=head_club。 ptr2_club=head_club->club_next。

while(ptr2_club!=NULL>{

if(ptr2_club->xuehao==xuehao>{

ptr1_club->club_next=ptr2_club->club_next。

free(ptr2_club>。

}

else

ptr1_club=ptr2_club。

ptr2_club=ptr1_club->club_next。

}

return head_club。

}

void Print_Book(struct book *head_book>

{struct book *ptr_b。

if(head_book==NULL>{

printf("\n无记录\n\n">。

return。

}

printf("\n图书编号\t图书名称\t图书单价\t图书作者\n\n">。

for(ptr_b=head_book。ptr_b。ptr_b=ptr_b->book_next>

printf("%d\t\t%s\t\t%.2lf\t\t%s\n\n",ptr_b->bianhao,ptr_b->book_name,ptr_b->price,ptr_b->author>。

}

图书管理系统的设计(C语言)

图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下: #include #include #include struct book{ char book_name[30]; int bianhao; double price; char author[20];

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);/*增加图书,逐个添加*/

C语言图书管理系统课程设计报告[1]

第三章图书管理系统的设计与实现 3.1系统的需求分析 图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作 系统功能需求分析描述如下: (1)系统主菜单:进入系统和退出系统 (2)功能菜单:显示可以进行的操作 (3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息 (4)借还书主菜单:可以进行借书和还书等操作 3.2系统的设计 3.2.1 系统的总统设计 下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。 (2)系统模块结构图 根据需求分析结果,图书管理系统可以分为三大模块:查询

图书模块、借书功能模块、还书功能模块。 系统模块结构如图: 3.2.2 系统的概要设计 ㈠系统主菜单。 显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。 ㈡查询图书信息 进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。 图书查询模块流程如图:

3.3 测试结果系统主界面

功能菜单 查询系统菜单

借还系统菜单 3.4 源代码 # include # include # include typedef struct link { char number[100]; char bookname[100]; char author[100]; char publish[100]; char time[100]; float price; char status[100]; struct link *next;

软件工程报告-图书管理系统设计报告

课程设计报告 课程名称软件工程 课程题目:图书管理系统设计 院系:工程技术系 专业班级:计算机应用技术1101 组长:姚勤富 完成日期: 2013-10-31 指导老师:白晓明 组员 :杨晓峰杨阳杨翼天杨志强姚勤富姚莎2013年 10 月 31 日

目录 一实验目的: (4) 二可行性分析 (4) 2.1.项目背景分析 (4) 2.2.性能分析 (4) 2.3.可靠性和安全性分析 (5) 2.4.项目基本目标分析 (5) 2.5.技术条件可行性分析 (5) 2.6.经济可行性分析 (5) 2.7.社会因素方面的可行性 (5) 2.8.操作方面的可行性 (5) 2.9.可行性的结论 (5) 三项目开发计划 (5) 四需求分析 (6) 4.1需求分析概述 (6) 4.2数据流程图 (7) 1)顶层数据流程图 (7) 3)图书管理数据流程图 (8) 4)借书数据流程图 (8) 5)还书数据流程图 (9) 6)查询数据流程图 (9) 4.3数据字典 (10) 五概要设计 (11) 5.1编写的目的 (11) 5.2定义文档 (12) 5.3运行环境 (12) 5.4基本设计概要和流程图 (12) 5.5系统结构和模块外部设计 (13) 5.6系统软件结构图 (14) 5.7图书管理系统H图 (14) 六详细设计 (15) 6.1界面设计简介 (15) 1)系统登陆流程 (16) 2)图书录入流程图 (17) 3)图书修改流程图 (18) 6.3核心算法 (18) 七系统测试计划 (20) 7.1测试内容 (20) 7.2测试条件 (21)

7.3主要测试说明 (22) 7.3.1)身份验证测试 (22) 7.3.2控制 (22) 7.3.3输入、输出、过程 (22) 7.3.4借书测试 (23) 7.3.5控制 (23) 7.3.6输入、输出、过程 (23) 7.3.7还书测试 (24) 7.3.8控制 (24) 7.3.9输入、输出、过程 (24) 7.3评价准则 (24) 八项目总结报告 (25) 第一章第八章由组长和组员共同讨论编写 第二章:“可行性分析”由姚勤富负责编写 第三张:“项目开发计划”由杨晓峰负责编写 第四章:“需求分析”由杨阳负责编写 第五章:“概要设计”由杨翼天负责编写 第六章:“详细设计”由杨志强负责编写 第七章:“系统测试”计划由姚莎负责编写 最后由组长姚勤富负责文件的排版。

图书管理系统设计方案

图书管理系统设计方案 目录 1、引言.................................................................. . (1) 2、需求分析.................................................................. .. (1) 3、系统设计.................................................................. .. (2) 、设计图书管理系统的功能结 构.......................................................................... .2 、图书管理系统的用户管理实体—关 系 (2) 、图书管理系统的借阅管理实体—关 系 (2) 、图书管理系统的读者管理实体—关 系 (3) 、图书管理系统的图书库管理实体—关 系 (3)

4、系统详细设计.................................................................. (4) 、数据库的设计.............................................................................. . (4) 、管理模块的具体设 计.......................................................................... (6) 、数据库和管理模块的连 接.......................................................................... (11) 5、软件调试.................................................................. (12) 、管理员权限操作.............................................................................. .. (12) 、普通用户操作.............................................................................. (17) 6、设计总结及分析.................................................................. (18) 7、课程设计体会.................................................................. . (18)

图书管理系统 (c语言)

程序设计方法课程设计

问题提出: 设计一个图书馆的图书管理,具体要求如下: 1.录入新采购的图书信息,做成文件book.in,要求有良好的输入界面; 2.查询各种图书的基本信息,设计出良好的查询界面; 3.按图书编号进行排序,将排好序的图书信息输出到文件book.out中。 4.统计各类图书册数、图书馆的图书总册数。 5.统计图书的借阅情况。 1.需求分析 对于图书馆的管理系统,应该满足以下的用户需求: ○1用户能够增加和删除一些图书。 ○2用户根据一些基本信息查询相应的图书,系统可以准确输出所有符合条件的图书信息。 ○3用户可以借阅和归还图书馆中的图书。 ○4系统可以对图书做出统计,包括图书总数,各类图书数目,图书的借阅情况。 2.设计分析 定义图书结构体,其成员包括书名、作者、类型、出版社、价格、是否借阅(整型,1为借出,0为未借)、编号。 输入新书时,利用结构体储存书的信息,同时将新书信息以二进制写入book.in文件中,录入结束后,将新书按输入顺序写入book.out中,并且以原来存书的最大编号为基准对新书进行编号,这样可以保证book.out文件存储的图书都是按编号进行排序的。 查找图书时,获得所查书目基本信息后,以二进制依次读取文件中的每一本图书信息,并与输入信息相比较,输出符合信息的图书。 删除图书时,通过输入的图书编号(编号可通过查找图书获得)查找相应图书,删除相应数据并保存。 借阅或归还图书时,通过图书编号(编号可通过查找图书获得)查找相应图书,修改图书的属性(是否借阅)并保存。 实现统计功能时,以二进制依次读取文件中的每一本图书信息,设置变量统计图书类型、借阅情况和图书总数,到文件结尾时,输出各个变量的值。

图书管理系统的设计与实现

摘要 图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。结合图书馆公共检索管理的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、Power Builder 9.0应用程序设计,Power Builder 9.0数据库应用技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。 本设计所完成的图书管理系统软件是功能较完善的数据管理软件,数据操作方便高效。该软件采用功能强大的数据库软件开发工具进行开发,可在应用范围较广的Windows系列操作系统上使用。 关键词:图书管理系统;数据库安全性;Power Builder 9.0;MS SQL Server2000

ABSTRACT Search public library management information system is a typical management information system (MIS), including the development of its database background to the establishment and maintenance, and front-end application development aspects. With regard to the former request to establish strong data consistency and integrity, data security a good database. For the latter request applications fully functional, easy to use and so on. Search the management of public libraries with the requirements of the MS SQL Server2000 database management system, SQL language principle, Power Builder 9.0 application design, Power Builder 9.0 database application technology for a more in-depth study and application of the completion of the main public library management information retrieval System requirements analysis, functional module of the database model analysis and design of this structure of the database and applications. The design by the Public Library Management Information Retrieval System Software is a function of a better system of data management software, with data to facilitate efficient operation of the advantages of the rapid. The software used a powerful database software development tools for development, has a good portability, the application of a wide range of Windows family of operating systems used. Keywords: Public library management information retrieval system, Database security; Power Builder 9.0; MS SQL Server2000

图书馆管理系统的设计与实现

图书馆管理系统的设计与实现 引论 目前,随着信息技术的快速发展,图书馆也逐渐现代化,为了适应市场需求,软件开发者已经开发了许多商业图书馆管理软件,软件功能完善,他们中的大多数都面临着大型的,专业性强的图书馆设计,操作繁杂,并且各分公比较精细。然而,对于那些管理者,非图书馆管理业务的专业人员,分工不很清楚,这个软件太复杂了。针对上述状况,系统使用.NET技术,以实用的原则,力求使系统操作简单,易于掌握使用。 1 系统开发概况 1.1 开发目的 科技发展迅速呈现这样的一个现状:数字化统治的优态越来越觉得明显,从中小型图书馆管制技术落后的现状来看,设计与实现图书馆管理系统的是十分必要的,结合电脑管制图书馆及图书信息的使用,方便管理员和用户检索迅速,查找方便,存储容量大。针对此,准备设计这样一个系统:清晰,功能齐全,适用页面,掌握简单和容易理解;开发周期短、维护成本低、软件更新的很快;管理方便,易于使用,一看就明白和目标系统具有一定的可靠性,安全性,可维护性,可移植性,等。 1.2 开发及运行环境 开发环境:VS2008, SQL Server2005, Dreamweaver2008,PhotoShopCS3等软件。 运行环境: 1.服务器设备: 硬件环境: (1)CPU:AMD 2500+ (2)内存:1G DDR2 (3)硬盘:160G 软件环境: Windows XP,SQL Server2005, Visual Studio2008 2.客户端设备 (1)CPU:赛扬2.0GHZ以上 (2)内存:1GB以上 (3)硬盘:160G以上 2 系统需求分析 2.1 系统功能分析 互联网的快速发展,使得人们愈来愈习惯于使用网络来达到所需。此外,以往的图书馆已经无法实现现代人的个性化需求,但对电子阅览室,因为大多数的功能是不受时间,空间制约,并且可以实现各种用户的一般与特别需要,所以容易得到当代人的喜好。 读者既可以借阅借阅喜欢的书籍,并且可以通过输入重要字找寻自己的一切所存信息。管理员供给其登陆的名称及密码,以及设立借阅人的级别,为其供给书籍列表,允许借阅人知道书籍的受欢迎榜排名。 2.2 系统功能总体描述 本系统选用B/S形式,能够完成书籍的查询,借阅书籍与归还书籍,借阅人管理等功能。 用户可以使用系统的一般功能,可以浏览大部分信息,但不能使用管理用户信息功能,这主要是防止用户胡乱使用,妨碍整个系统的管理。

c语言程序设计报告 图书管理系统

中国地质大学本科生课程论文封面 课程名称c语言课程设计 教师姓名樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别: 日期: 课程设计评语

注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目录

课程设计评语 (1) 目录 (2) 1.课程论文题目 (3) 2.程序设计思路 (3) 3.功能模块图 (4) 4.数据结构设计 (4) 5.算法设计 (4) 6.程序代码 (5) 7.程序运行结果 (11) 8.编程中遇到的困难及解决方法 (14) 9.总结心得及良好建议 (15) 10.致谢 (15) 1.课程论文题目 图书管理系统 2.程序设计思路

根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。 3.功能模块图 系统功能模块图 4.数据结构设计 先写主函数main (),然后设计个功能选项,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。每个图书信息设置一个结构体,将输入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。 5.算法设计

先定义结构体数组struct books,然后设置主界面,主界面出现6个功能选项,分 别是输入sr() 、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下: 输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保存和调用。其中结构体只输入tsmc图书名称,tsbh图书编号,dj单价,zz作者, 然后自动生成,czzt存在状态,姓名xm,学号xh,性别xb. 查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称与文件中的名称相同时,便显示此信息。 删除模块就是在查找功能的图书后,选择删除,将strcpy将s[i+1]的值赋给s[i]。借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt变为已借出,然后输入姓名,学号,性别,最后显示出已借出。 还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。 退出模块使flag=1,而在main就有bool flag 且main中已令main=0.这样就实现了退出功能。 其中若输入超过选项值后,都会显示输入错误,请重新输入。若字符错误,程序就直接出现错误了。 6.程序代码 #include #include #include #include #define M 100 struct books { char tsmc[12]; int tsbh; float dj; char zz[12]; char czzt[12]; char xm[12];

软件工程图书管理系统设计报告

软件工程大作业 可行性研究报告 目录 1.引言 编写目的 项目背景 项目定义 参考资料 2.项目概述 可行性研究的前提 系统功能 主要性能 项目的输入和输出 安全与保密要求 条件、假定和限制 可行性研究方法 决定可行性的主要因素 技术可行性 系统经济可行性 系统运行可行性 3.对现有系统的分析 图书馆机构设置

主要职责 业务流程调查 数据流程调查 计算机应用情况 现行系统存在的问题 4.所建议技术可行性分析 对系统的简要描述 系统功能结构图和数据流程图 系统功能结构图 数据流程图 与现有系统比较的优越性 采用建议系统可能带来的影响 对设备的影响 对现有软件的影响 对用户的影响 对运行环境的影响 对经费支出的影响 技术可行性评价 5.所建议系统经济可行性分析 成本 基建投资 其他一次性支出 经常性支出

效益 一次性收益 经常性收益 不可定量收益 收益/投资比 投资回收周期 6.社会因素可行性分析 法律因素 用户使用可行性 7.结论意见 1.引言 1.1编写目的 图书馆是对信息的物质载体进行收集、加工、存储、控制、转化和传递、提供给一定社会读者使用的信息系统。简言之,图书馆是文献信息的存储与传递中心。图书馆提供图书、期刊、报纸、科技报告、会议文献、学位论文、专利文献、标准文献、产品资料、政府出版物等多种形式的文献。高等学校图书馆是在校学生和教师学习研究的重要场所,是为教学和科研服务的学术性机构,它提供的是一种专业性、学术性很强的服务。 由于当前部分高校图书馆仍然主要采用人工管理方式,不仅耗时费力且难以管理,起辅助作用的计算机管理系统存在诸多弊端,并不能在管理上起主导作用,因此开发新的图书馆管理系统势在必行。图书馆管理信息系统是基于图书管理者对用户的管理以及对图书的借阅、归还等提供便捷的管理方式,同时也能方便广大用户通过操作电脑来对馆内图书进行查询、借阅、归还、续借等。编写本报告的目的是从现在应用的技术方面、用户的操作方式方面以及经济性等方面分析开发该图书馆管理信息系统的可行性,为决策者是否开发该系统提供依据和建议。 1.2项目背景 开发软件名称:图书馆管理信息系统 项目开发者:西安电子科技大学电子工程学院图书馆管理信息系统开发小组:

c语言最全的图书管理系统程序

题目名称:图书管理系统 算法分析: 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表示退出系统。最后调用保存文件函数。结束程序。 流程设计:

图书管理系统设计与实现报告

JIANGSU UNIVERSITY 项目实践 II 图书管理系统 Library Management System 学院名称:计算机科学与通信工程 专业班级:嵌软1201 学号:3120609022 学生姓名:史禹 指导教师:宋和平 2014年6 月 [正文]

一、课程设计概述 目的: 通过本项目实践的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,为学生综合应用本专业所学习的多门课程知识创造实践机会,使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。 任务: 假设图书馆委托大学生为他创建一个图书管理系统,以便能够科学管理、提高效益。开发环境:vs2010 sqlserver2008 二、项目的需求分析 (1)所有人员需要登陆才能操作系统,可以修改密码。 (2)图书管理员可以添加图书(包括书号、书名、出版社、作者、图书简介、价格、封面图片等信息)、删除图书,假设每种图书只有一本。图书管理员可以 添加借阅者(包括借书证号、姓名、类别(教师或学生)、学院、性别、照片 等信息)、删除借阅者。 (3)借阅者可以根据书名或者作者模糊查询图书(模糊查询是指在查询语句中使用like关键字),可以查看自己所借图书信息。 (4)借阅者可以借阅图书,此时需要记录借书日期和应还日期信息(设置借阅日期为30天)。借阅者包括教师和学生,教师最多可以借阅10本图书,学生最 多可以借阅5本图书。借阅者如果有超期图书则不能再借。 (5)借阅者还书时,检查是否超期,如果超期,按照0.1元/天计算罚款金额,缴纳罚款后还书。如果图书丢失,按照图书价格的两倍赔偿。 (6)实现系统时请考虑数据的参照完整性,例如借阅图书时应该是存在的图书,删除图书时同时删除该图书的借阅信息。

基于C语言数据结构图书管理系统

计算机科学与技术专业课程设计任务书 1 需求分析 1本演示程序中,用户从键盘输入图书信息,图书编号,名称,类别,作者,出版社,价格,购买日期。 2演示程序以用户和计算机的对话方式执行,即在运行窗口出现提示信息,有用户从键盘录入,显示结果会在显示之后。 3程序执行的命令包括:查询图书信息,删除图书信息,对所有图书进行排序,

统计各种类的图书数目。显示所有图书信息 4 测试数据:2001 离散数学 X 左孝凌上海科学出版社 18.00 2009/6/8 2002 数据结构 B 严蔚敏清华大学出版社 30.00 2010/4/1 2 程序总体设计 (1)数据结构 依据输入的数据信息和数据格式,连表结点用结构体实现。采用链表方式存储,typedef:typedef struct //定义表示日期数据的结构体数据类型 { int month; int day; int year; } DATE; typedef struct Booktype //定义表示图书信息的结构体数据类型 { char id[10]; /* 图书编号*/ char name[40]; /* 图书名称*/ char type; /* 图书类型*/ char writer[10]; /* 图书作者*/ char publisher[20]; /* 图书出版社*/ float price; /* 图书价格*/ DA TE buydate; /* 图书购买日期*/ } Btype; typedef struct Booklist /* 定义表示所有图书信息的链表数据类型*/ { Btype *bk; struct Booklist *next; } Blist; (2)模块划分

图书管理系统设计文档(DOC)

摘要 随着科学技术的进步和计算机行业的迅速发展,人们的工作效率得到大大提高。计算机信息处理系统的引进已彻底改变了许多系统的经营管理。 图书管理系统是学校管理机制中的重要组成部分,通过对图书馆管理系统的运行管理机制进行调查和研究,开发了此图书馆管理系统。本文中主要介绍了图书馆管理事务中的常见基本问题等研究背景,进行了全面的可行性分析,详细论证了系统的需求分析、系统设计、系统实现和系统测试过程。 本系统使用JSP进行网页界面的设计,使用MVC设计模式,通过JDBC驱动和数据库进行无缝连接。 系统实现了用户登录、图书管理、借书证管理、图书借阅管理等功能模块。用户登录模块实现用户的登录和权限判定;图书管理模块实现了对图书的添加、删除、修改、查询等功能;借书证管理模块实现了对学生的添加、删除、修改、查询等功能;图书借阅管理模块实现了学生对图书的借阅、还书和所借图书的查看等功能。 测试结果表明,本系统实现了图书馆图书管理的主要功能,基本满足图书管理的需要。

1 绪论 图书管理系统的主要功能是实现图书馆图书的借阅和归还的管理自动化,图书新增及销毁的及时化,用户及图书信息的更新,围绕这些主要功能,本系统涉及到以下核心功能:借阅管理,归还管理,图书管理,学生管理。除了这些核心功能外,还包括一些基本和辅助的功能,它们是:图书信息管理,查询功能等。 该系统设计的主要目标是: 设计一个图书馆管理系统,该系统主要功能分为图书查询、图书借阅归还和图书管理三大部分。在图书查询模块中要求用户能在浏览器中分别书名、著译者、类型等条件查询;在图书管理模块中要求能完成如办理借书证(即添加新的学生)、新书录入、借书还书登记、图书修改等日常管理功能。 (1)网站前台设计:前台供学生使用,学生登录后有如下权利 ①图书查询:用户可以按多种方式对图书库中的图书进行查询; ②借阅信息查询:用户可以查看自己的历史借阅信息。 (2)网站后台设计:后台是供管理员使用的,管理员登陆后有如下权利 ①办理借阅证:将学生信息填写完整,在数据库中注册新用户; ②书籍的录入及删除:可以对现有图书库中的图书进行删除,也可以添加新书; ③借书还书登记:普通用户借阅或归还图书时,管理员将在借阅信息表中添加相应的记录; ④图书修改:管理员可以对现有图书的详细信息进行修改。

C语言编写图书管理系统

文档来源为:从网络收集整理.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 实体数据结构........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。

图书管理系统课程设计报告

目录 第1章绪论 (2) 第2章需求分析 (2) 第3章总体设计 (3) 第4章数据库设计 (4) §4.1 概念结构设计 (4) §4.2 逻辑结构与物理结构设计 (5) 第5章详细设计 (7) 第6章编码 (8) 第7章测试 (14) §7.1 测试 (14) §7.2 发现错误和解决方法 (17) 第8章设计总结 (17) 学习体会(附录1) (17) 致谢(附录2) (18) 参考文献(附录3) (18)

第1章绪论 图书馆是信息交换和资源流通的重要媒介,对图书馆的信息化管理将大大提高图书资源的利用和信息的交换速度。图书管理系统是通过将借阅信息以数据库的形式由网络传输来完成各用户(教师或学生)所要的借阅方面的需求(如借阅,归还,预订等)。以打破传统的人工选课模式,极大地方便了使用人员和管理人员,节约了时间和空间,实现图书借阅自动化,自由化,使图书资源得到充分利用。建立图书管理系统,使每个用户自由地选到自己需要的图书,避免传统借书模式的繁琐、低效率、借阅程序臃肿等等的缺点,减轻相关人员的负担。 本图书管理系统运用SQLServer2000、C++Builder等软件实现了基本的管理员登录、图书管理、读者管理、借还图书、图书查询以及信息维护等功能的图书管理系统。 第2章需求分析 图书管理系统主要包括系统管理、读者管理、图书采购、图书编目、图书流通、统计、查询等一系列的功能。 1、读者管理 (1).新学期建立新班级,删除毕业班读者。 (2).为新生办理新借阅证。 (3).读者管理能完成读者调动、借书证挂失、补办、停止借阅、单独打印读者条码等日常事务。 (4).读者类别可以分类,可为每一类读者指定借阅规则。 (5).读者可以通过管理员远程预约图书。 2、采编管理 (1).有完善的采编功能,能对新采购图书可以进行有效采编。 (2).图书采编能对相关图书进行分类别号编号,借助可扩展的编目库减轻编目人员的工作。 (3).图书注销有完整的备查档案。 3、流通管理 (1).借书完全通过输入借阅证号,识别借书证是否有效,根据设定的规则进行管理。提示读者已借书数、超期图书应缴罚款等参考信息。根据图书的种类确定借阅期限。罚款单价根据图书种类确定。 (2).还书完全通过条码识别,自动作超期记录。 (3).图书预约可以为读者提供方便,可以进行管理及打印到书通知。 (4).图书损坏、丢失处理能显示每本书上次损坏的记录以及其它信息。 4、统计管理

软件工程课程设计--图书管理系统

软件工程项目报告 ----图书管理系统 班级: 项目经理: 项目组成员:

模块负责人需求分析 用例图 代码设计 数据库设计 界面设计

目录 第一章绪论…………………………………………………………………………………………………………………… 1.1 项目背景……………………………………………………………………………………………………………. 1.2 编写目的……………………………………………………………………………………………………………. 第二章需求分析………………………………………………………………………………………………………….. 2.1 系统功能需求分析……………………………………………………………………………………………. 2.2 主要参与者……………………………………………………………………………………………………….. 2.3 用例图……………………………………………………………………………………………………………….. 2.4 系统用例一览表………………………………………………………………………………………………… 2.5 用例规约…………………………………………………………………………………………………………… 2.7 时序图………………………………………………………………………………………………………………..第三章系统设计…………………………………………………………………………………………………………… 3.1 系统实体总类图以及介绍………………………………………………………………………………… 3.2 相关数据库的设计…………………………………………………………………………………………… 3.2.1 E-R图…………………………………………………………………………………………………………… 3.2.2数据库的设计………………………………………………………………………………………………. 3.3 主界面设计……………………………………………………………………………………………………….. 3.3.1 登录/注册界面设计……………………………………………………………………………………... 3.3.2 管理员操作页面………………………………………………………………………………………… 3.3.3 读者用户管理界面……………………………………………………………………………………… 3.3.4 代码设计………………………………………………………………………………………………………第四章结束语......................................................................................................................

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

相关主题
文本预览
相关文档 最新文档