您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 基于vc++的C语言图书馆管理系统课程设计报告
图书管理课程设计学生姓名:学生学号:所在班级:任课教师:图书馆管理系统【设计目的】图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等.试设计一图书信息管理系统,使之能提供以下功能:1)系统以菜单方式工作2)图书信息录入功能(图书信息用文件保存)--输入3)图书信息浏览功能--输出4)查询和排序功能:(至少一种查询方式)--算法5)按书名查询6)按作者名查询7)图书信息的删除与修改(可选项)*/【设计思路】根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中去,所以应该提供下个结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的。【总体设计】图1系统功能模块图【详细设计】1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】图书馆管理系统数据输入数据修改删除数据添加查找浏览#includestdio.h#includestdlib.h#includeconio.hintget(){into;scanf(%d,&o);}structBOOK{intID,usr[10],total,store,days[10];charname[31],aurthor[21];}books[100];/*上面是结构体的定义,用于存放书籍及借书的信息。*/voidpage_title(char*menu_item){printf(图书管理系统\n-%s-\n,menu_item);}/*通过参数menu_item,可以显示当前的状态。*/voidreturn_confirm(){显示一系列功能选项输入n,判断n是否是1~4?根据n的值调用各功能模块函数结束开始nprintf(\n按任意返回\n);getch();}/*上面是返回前请求确认的函数,以便在返回前观察结果*/intsearch_book(){intn,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(存数:%dof,books[n].store);printf(%d\n,books[n].total);returnn;}}printf(\n输入错误或无效图书序号\n);return-1;}/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返回数组下标,如果找不到相应记录则提示错误并返回-1。*/voidbook_out(){intn,s,l,d;page_title(借阅图书);if((n=search_book())!=-1&&books[n].store0){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();}/*上面是借书的函数,首先调用找书函数*/voidbook_in(){intn,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(请输入借书证序号:);scanf(%d,&s);for(l=0;l10;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(){intn;page_title(注册新书);for(n=0;n100;n++)if(books[n].ID==0)break;printf(序号:);scanf(%d,&books[n].ID);printf(书名:);scanf(%s,&books[n].name);printf(作者:);scanf(%s,&books[n].aurthor);printf(数量:);scanf(%d,books[n].total);books[n].store=books[n].total;return_confirm();}voidbook_del(){intn;page_title(注销旧书\n);if((n=search_book())!=-1)books[n].ID=0;printf(该书已注销\n);return_confirm();}voidmain(){while(1){menu:page_title(操作选单);printf(请用数字选择操作\n\n);printf(1,借阅图书\n2,归还图书\n);printf(3,注册新书\n4,注销旧书\n\n);printf(\n0,退出\n);switch(get()){case1:book_out();break;case2:book_in();break;case3:book_add();break;case4:book_del();break;default:exit(0);}return;}}【设计体会】通过为期一周的课程设计,对《C语言》这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们软件工程专业的学习中占据着十分重要的地位。这个程序的结构大体是从网络上借鉴的,但是结果无法运行,只能自己修改,最后终于调试通过,同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。
本文标题:基于vc++的C语言图书馆管理系统课程设计报告
链接地址:https://www.777doc.com/doc-5309066 .html