- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言图书馆管理系统课程设计报告论文
[键入文字] [键入文字] [键入文字] PAGE10 / NUMPAGES8
C语言课程设计
学生姓名:
学生学号:
所在班级:
任课教师:
图书馆管理系统
【设计目的】
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等.
试设计一图书信息管理系统,使之能提供以下功能:
1)系统以菜单方式工作
2)图书信息录入功能(图书信息用文件保存)--输入
3)图书信息浏览功能--输出
4)查询和排序功能:(至少一种查询方式)--算法
5)按书名查询
6)按作者名查询
7)图书信息的删除与修改(可选项)*/
【设计思路】
根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中去,所以应该提供下个结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的。
【总体设计】
图书馆
图书馆管理系统
数据输入
数据修改
删除
数据添加
查找
浏览
图1 系统功能模块图
【详细设计】
主函数
主函数设计要求简洁,只提供部分提示语和函数的调用
【程序】
显示一系列功能选项
显示一系列功能选项
输入n,判断n是否是1~4?
根据n的值调用各功能模块函数
结束
开始
n
#includestdio.h
#includestdlib.h
#includeconio.h
int get()
{
int o;
scanf(%d,o);
}
struct BOOK
{
int ID,usr[10],total,store,days[10];
char name[31],aurthor[21];
}books[100];
/*上面是结构体的定义,用于存放书籍及借书的信息。*/
void page_title(char*menu_item)
{
printf(图书管理系统\n-%s-\n,menu_item);
}
/*通过参数menu_item,可以显示当前的状态。*/
void return_confirm()
{
printf(\n按任意返回\n);
getch();
}
/*上面是返回前请求确认的函数,以便在返回前观察结果*/
int search_book()
{
int n,i;
printf(输入图书序号:);
scanf(%d,i);
for(n=0;n100;n++)
{
if(books[n].ID==i)
{
printf(书名:%s\n,books[n].name);
printf(作者:%s\n,books[n].aurthor );
printf(存数:%d of ,books[n].store );
printf(%d\n,books[n].total);
return n;
}
}
printf(\n输入错误或无效图书序号\n);
return -1;
}
/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返
回数组下标,如果找不到相应记录则提示错误并返回-1。*/
void book_out()
{
int n,s,l,d;
page_title(借阅图书);
if((n=search_book())!=-1 books[n].store 0)
{
printf(请输入可借天数:\n);
scanf(%d,d);
for(l=0;l10;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();
}
/*上面是借书的函数,首先调用找书函数*/
void book_in()
{
int n,s,l;
page_title(图书归还);
if((n=search_book())!=-1 books[n].storebooks[n].total)
{
printf(借阅者图书证列表:\n);
for(l=0;l10;l++)
if(books[n].usr[l]) !0;
printf([%d]-%d天\n,books[n].usr[l],books[n].days[l]);
printf(请输入借书证序号:);
文档评论(0)