c语言课程设计图书管理系统设计.docx

上传人:b****3 文档编号:906419 上传时间:2022-10-13 格式:DOCX 页数:9 大小:121.54KB
下载 相关 举报
c语言课程设计图书管理系统设计.docx_第1页
第1页 / 共9页
c语言课程设计图书管理系统设计.docx_第2页
第2页 / 共9页
c语言课程设计图书管理系统设计.docx_第3页
第3页 / 共9页
c语言课程设计图书管理系统设计.docx_第4页
第4页 / 共9页
c语言课程设计图书管理系统设计.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

c语言课程设计图书管理系统设计.docx

《c语言课程设计图书管理系统设计.docx》由会员分享,可在线阅读,更多相关《c语言课程设计图书管理系统设计.docx(9页珍藏版)》请在冰豆网上搜索。

c语言课程设计图书管理系统设计.docx

c语言课程设计图书管理系统设计

北京工业大学耿丹学院实训报告

 

图书管理系统设计

一设计目的

1.通过本系统实现对图书管理操作;

2.进一步掌握和利用C语言进行设计的能力;

3.进一步理解和运用结构化程序设计的思想和方法;

4.初步掌握开发一个小型使用系统的基本方法;

5.掌握书写设计开发文档的能力;

6.能应用C语言中的各个知识要点

 

二设计内容

1.新书入库:

图书信息包括书名,书号,库存量,现存量(库存量减去借走的图书)共4项.首先输入3本书的信息,并将其存数组book中.当有新书入库时,先判断数组中是否有此书(即比较书名或书号),若有则修改库存量,现存量的信息;若无此书,则将该书的信息添加到数组中,并将其库存量设为-1,将其标专为下次要购入的图书。

2.图书查询:

(1)输入一个书号,在文件中查找此书,若找到则输出此书的全部信息;若找不到则输出查找失败的信息。

(2)查询所有要购入的图书的书名和书号。

3.借阅管理

(1)每个读者的信息包括姓名,编号,借阅图书1,借阅图书2,借阅图书3,输入3个读者的信息并存入数组reader中.

(2)借书登记:

输入读者的姓名及所借图书的书号,先判断姓名是否在读者数组中,若有则将书号存入reader数组中,同时修改book数组中此书的现存量.若reader数组中无此姓名,则应提示错误。

(3)还书管理:

输入读者的姓名,所还图书的书号,修改reader数组和book数组中相应的项。

4.输出全部图书信息和全部读者信息。

5.退出系统。

三设计原理及算法

本程序是由一个主函数、7个子函数组成,其中4个子函数完成的功能依次是:

借阅图书、归还图书、注册图书、注销图书、刚开始会有一个选择界面,让使用者可以选择想实现的功能。

注册图书:

利用结构体数组实现学生成绩的数据结构设计,用输入函数可以完成若干条记录的输入;

注销图书:

输入需要住校图书的书名,函数就会将与其相对应的图书信息给删除;

归还图书:

输入需要归还图书的书名,函数就会将与其相对应的图书信息返回;

借阅图书:

利用子函数实现借阅

输出:

用函数printf语句来实现将所有的数据都输出在界面上;

流程图:

主函数:

 

四.程序运行图

1.主菜单

2.借阅图书

3.归还图书

4.归还图书

五.编程源代码

#include

#include

#include

intb;

structBOOK

{

intid,usr[10],total,store,days[10];

charname[31],author[21];

}books[100];

/*上面是结构体的定义,用于存放书籍及借书的信息。

*/

voidpage_title(char*menu_item)

{

printf("\n\n\t\t\t>>>图书管理系统<<<\n\n%s\n\n",menu_item);

}

/*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。

*/

voidreturn_confirm(void)

{

printf("\n按任意键返回……\n");

getch();

}

/*上面是返回前请求确认的函数,以便在返回前观察结果*/

intsearch_book(void)

{

intn,i;

printf("请输入图书序号:

");//这里是输入图书序号的地方

scanf("%d",&i);//这里是输入的序号数保存在变量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("存数:

%dof",books[n].store);

printf("%d\n",books[n].total);

returnn;

}

}

printf("\n输入错误或无效图书序号.\n");

return-1;

}

/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返

回数组下标,如果找不到相应记录则提示错误并返回-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);

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();

}

intmain(void)

{

menu:

system("cls");

printf("制作人:

张焱\n");

page_title("操作选单\n");

printf("=======================================================");

printf("\n请用数字键选择操作\n");

printf("=======================================================\n");

printf("1借阅图书\t\t\t2归还图书\n\n");

printf("3注册新书(new)\t\t\t4注销旧书\n\n");

printf("0退出\n");

printf("请输入:

");

scanf("%d",&b);

switch(b)

{

case1:

book_out();break;

case2:

book_in();break;

case3:

book_add();break;

case4:

book_del();break;

case0:

exit(0);

}

gotomenu;

}

六设计人员

输入输出模块:

王亚雄

菜单、计算模块:

王亚雄

添加、修改、删除、查询、统计:

王亚雄

七参考文献:

《C语言程序设计(第三版)》文档来源网络,版权归原作者。

如有侵权,请告知,我看到会立刻处理。

........忽略此处.......

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1