图书馆管理系统程序设计.docx
- 文档编号:12406967
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:11
- 大小:110.31KB
图书馆管理系统程序设计.docx
《图书馆管理系统程序设计.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统程序设计.docx(11页珍藏版)》请在冰豆网上搜索。
图书馆管理系统程序设计
东北大学秦皇岛分校
NortheasternUniversityatQinhuangdao
C语言程序
设计实验报告
学院:
资源与材料学院
专业:
冶金工程
学号:
6123121
姓名:
吴旭
指导老师:
苑迎
【设计目的】
图书信息包括:
读者登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等.
图书信息管理系统,使之能提供以下功能:
1)系统以菜单方式工作
2)读者注册功能
3)读者登录功能
4)读者借书还书功能
5)查询读者借阅记录
6)查询在管图书信息功能
7)增加、修改、删除图书功能
8)查看图书信息功能
【设计思路】
根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:
在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:
另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。
【总体设计】
图书馆管理系统
读者注册
修改图书信息
删除图书信息
读者登陆
查找图书信息
浏览图书信息
【详细设计】
1.主函数
主函数设计要求简洁,只提供部分提示语和函数的调用
显示一系列功能选项
输入n,n为1,2或3
根据n的值调用各功能模块函数
结束
开始
n
源代码为:
#include
#include
#include
structBOOK
{intid,usr[10],total,store,days[10],zt;
charname[31],author[21];
}books[100];
voidpage_title(char*menu_item)
{
printf("************欢迎进入东北大学秦皇岛分校图书馆管理系统************\n\n-%s-\n\n",menu_item);
}
voidreturn_confirm(void)
{
printf("\n按任意键返回\n");
getch();
}
voidstate(intn)
{
if(books[n].total!
=0)
printf("1");
if(books[n].total==0)
printf("0");
}
intsearch_book(void)
{
intn,i;
printf("请输入图书序号:
");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].id==i)
{
printf("书名:
%s\n",books[n].name);
printf("作者:
%s\n",books[n].author);
printf("存数:
%d?
of?
",books[n].store);
printf("存在状态:
%d\n",books[n].zt);
printf("%d\n",books[n].total);
returnn;
}
}
printf("\n输入错误或无效图书序号.\n");
return-1;
}
voidbook_out(void)
{intn,s,l,d;
page_title("借阅图书");
if((n=search_book())!
=-1&&books[n].store>0)
{
printf("请输入借书证序号:
");
scanf("%d",&s);
printf("请输入可借天数:
");
scanf("%d",&d);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!
=-1&&books[n].store==0)
printf("此书已经全部借出.\n");
return_confirm();
}
/*上面是借书的函数,首先调用找书函数*/
voidbook_in(void)
{
intn,s,l;
page_title("归还图书");
if((n=search_book())!
=-1&&books[n].store {printf("借阅者图书证列表: \n"); for(l=0;l<10;l++) if(books[n].usr[l]! =0) printf("[%d]? -? %d天\n",books[n].usr[l],books[n].days[l]); printf("请输入借书证序号: "); scanf("%d",&s); for(l=0;l<10;l++) {if(books[n].usr[l]==s) {books[n].usr[l]=0; books[n].days[l]=0; break;} } books[n].store++; } if(n! =-1&&books[n].store==books[n].total) printf("全部入藏.\n"); return_confirm(); } voidbook_add(void) { intn; page_title("注册新书"); for(n=0;n<100;n++) if(books[n].id==0) break; printf("序号: "); scanf("%d",&books[n].id); printf("书名: "); scanf("%s",&books[n].name); printf("作者: "); scanf("%s",&books[n].author); printf("数量: "); scanf("%d",&books[n].total); printf("存在状态: "); state(n); books[n].store=books[n].total; return_confirm(); } voidbook_del(void) { intn; page_title("注销旧书"); if((n=search_book())! =-1)books[n].id=0; printf("该书已注销.\n"); return_confirm(); } voidmain(void) {menu: page_title("操作选单"); printf("请用数字键选择操作\n\n"); printf("1借阅图书\n2归还图书\n\n"); printf("3注册新书\n4注销旧书\n\n"); printf("\n0退出\n"); switch(getch()) { case'1': book_out(); break; case'2': book_in(); break; case'3': book_add(); break; case'4': book_del(); break; case'0': exit(0); } gotomenu; } 程序运行结果如下图所示 1.主界面为: 2.书名注册 3.借阅图书 4.归还图书 5.注销图书 【心得体会】 1.通过这次实训课的练习,我组成员收获了许多新的知识,也锻炼了自己各方面的能力,坚实地打牢了专业知识基础,极大得方便了以后的学习生活。 2.我小组选的是图书馆管理系统,这个程序可难可易,我们组的最后形成的图书馆管理系统的功能是比较强大的,可以实现图书的注册、登陆、借书、还书等等功能,包括删除、增添、图书等。 3.此次C语言课程设计让我们小组学习了许多在平时课程中所无法掌握的技能,例如在编写图书馆管理系统的过程中我们的编程能力就有了突破性的进展,同时,我们查找资料、协调合作等方面的能力也有了很大的进步。 4.最后,衷心地祝愿苑老师工作顺利,每天开心。 谢谢老师。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 程序设计