您好,欢迎访问三七文档
计算机学院课程设计报告书课程名称:C语言课程设计班级:学号:姓名:指导教师:C语言课程设计----图书借阅管理系统一、总体设计1.概述(1)总体设计目标使用者可以利用本系统进行对图书馆借阅的各项运算操作,如根据用户的需求自动的进行添加图书,删除图书,借书还书。查找所要的图书,查阅图书的详细资料,查阅读者的详细资料。最后清晰完整的结果于屏幕中。大大方便使用者对图书借阅的操作,不仅节省时间,而且提高准确性,可以达到事半功倍的效果。(2)总体设计策本系统采用的是自顶向下、层次化的模块结构。对高层模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简单的模块。对低层模块,采用以变换为中心的设计策略。为了提高每个模块的内聚性、降低模块间的耦合性,将每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。2.计算机系统配置(1)硬件配置(2)软件配置操作系统:windowsXP;C语言编译系统:WIN-TC。3.系统结构(1)系统结构图图书馆借阅管理系统的系统结构图如下所示,总共由9个模块组成,其中一个是总控模块,另外8个是分别实现不同功能的子模块:(2)模块说明书A.图书馆借阅管理系统总控模块的模块说明书模块名称:图书馆借阅管理系统总控模块输入:主菜单选择项输出:相对应的信息处理:图书馆借阅管理系统总控模块添加图书子模块查找图书子模块借阅图书子模块归还图书子模块查找注册会员信息子模块其他子模块1.按以下格式显示主菜单和提示使用者选择:欢迎来到图书馆借阅管理系统(1)添加图书(2)查找图书(3)借阅图书(4)归还图书(5)图书信息(6)读者信息(7)注册会员(8)删除会员(0)结束操作,退出本系统请选择(1,2,3,4,5,6,7,8,0):2.接收主菜单选择项如果选择项的值为1,调用添加图书子模块。如果选择项的值为2,调用查找图书子模块。如果选择项的值为3,调用借阅图书子模块。如果选择项的值为4,调用归还图书子模块。如果选择项的值为5,调用图书信息子模块。如果选择项的值为6,调用读者信息子模块。如果选择项的值为7,调用添加会员子模块。如果选择项的值为8,调用删除会员子模块。如果选择项的值为0,调用结束操作,退出本系统子模块。B.添加图书子模块的模块说明书模块名称:添加图书子模块输入:根据给定图书的编号、书名、作者进行添加输出:整个所有图书的信息处理:1.按以下格式显示子菜单和提示使用者选择:添加图书子系统(1)请输入要添加的图书的信息C.查找图书子模块的模块说明书模块名称:查找图书子模块输入:图书的编号输出:图书信息,相对应书的状态处理:1.按以下格式显示子菜单和提示使用者选择:借阅图书子系统(1)请输入图书的编号D.借阅图书子模块的模块说明书模块名称:借阅图书子模块输入:读者的卡号输出:卡号信息,相对应书的状态处理:1.按以下格式显示子菜单和提示使用者选择:借阅图书子系统(1)请输入读者的卡号E.归还图书子模块的模块说明书模块名称:归还图书子模块输入:读者的卡号输出:卡号信息,还书状态处理:1.按以下格式显示子菜单和提示使用者选择:归还图书子系统(1)请输入读者的卡号信息F.图书信息子模块的模块说明书模块名称:图书信息子模块输入:图书的编号输出:相对应图书的信息处理:1.按以下格式显示子菜单和提示使用者选择:图书信息子系统(1)进行操作G.读者信息子模块的模块说明书模块名称:读者信息子模块输入:读者的编号输出:相对应读者的信息处理:1.按以下格式显示子菜单和提示使用者选择:读者信息子系统(1)进行操作。H.注册会员子模块的模块说明书模块名称:注册会员子模块输入:会员的相关信息输出:会员的相关信息处理:1.按以下格式显示子菜单和提示使用者选择:注册会员子系统(1)进行操作I.删除会员子模块的模块说明书模块名称:删除会员信息子模块输入:会员的信息输出:删除相对应会员的信息处理:1.按以下格式显示子菜单和提示使用者选择:删除会员子系统(1)进行操作。二、详细设计1.“图书馆借阅管理系统总控模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“A.图书馆借阅管理系统总控模块”的模块说明书。(2)程序流程图如下:2.“添加图书子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“B.添加图书子模块”的模块说明书。c1=1c1=2c1=3c1=4c1=5…开始定义整型变量c1显示主菜单,让使用者选择操作内容,给变量c1赋值(1—6)C1==6switch(c1)添加图书子模块查找图书子模块借阅图书子模块归还图书子模块注册会员子模块其他子模块结束(2)程序流程图如下:3.“查找图书子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“C.查找图书子模块”的模块说明书。(2)程序流程图如下:开始定义整型变量i示操作项目,显让使用者选择请输入所要添加的图书的信息继续添加书本返回请输入所要添加的图书的信息请输入所要添加的图书的信息开始定义整型变量i,n显示示操作项目,显让使用者选择请输入图书的编号相对应图书的信息显示出来4.“借阅图书子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“D.借阅图书子模块”的模块说明书。(2)程序流程图如下:5.“归还图书子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“E.归还图书子模块”的模块说明书。(2)程序流程图如下:开始定义整型变量i,n显示示操作项目,显让使用者选择请输入读者的卡号返回开始定义整型变量i,n显示操作项目,显让使用者选择输入读者的卡号读者借阅的相关信息显示出来返回6.“会员注册子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“H.会员注册子模块”的模块明书。(2)程序流程图如下:7.“删除会员子模块”的详细设计(1)概述本模块的详细设计的依据是:总体设计中的“I.删除会员子模块”的模块明书。(2)程序流程图如下:返回显示读者还书的相关状态开始定义整型变量i,n等显示操作项目,显让使用者选择返回请输入会员相关信息保存读者的相关信息开始定义整型变量i,n等显示操作项目,显让使用者选择三、编码1.说明“图书馆借阅管理系统总控模块”的功能由main函数实现,根据“图书馆借阅管理系统总控模块”的程序流程图编写main函数。“添加图书子模块”的功能由BookAdd函数实现,根据“添加成绩子模块”的程序流程图编写addbook函数。“查找图书子模块”的功能由BookConsult函数实现,根据“查找图书子模块”的程序流程图编写findbook函数。“借阅图书子模块”的功能由BookBorrow函数实现,根据“借阅图书子模块”的程序流程图编写lendbook函数。“归还图书子模块”的功能由BookReturn函数实现,根据“归还图书子模块”的程序流程图编写returnbook函数。“注册会员子模块”的功能由MemberAdd函数实现,根据“注册会员子模块”程序流程图编写memberadd函数。“删除会员子模块”的功能由MemberDel函数实现,根据“删除会员子模块”程序流程图编写memberdel函数。2.选择编写程序语言----C语言四、图书馆借阅管理程序代码:#includedos.h#includebios.h#includeconio.h#includestdio.h#includestdlib.h#includemath.h#includestring.h#defineLEFT0x4b00/*左*/#defineRIGHT0x4d00/*右*/#defineDOWN0x5000/*下*/#defineUP0x4800/*上*/#defineSPACE0x3920/*空格*/#defineESC0x011b/*ESC键*/#defineENTER0x1c0d/*回车键*/#defineBackspace0xe08/*擦除键*/#defineALT_B12288/*组合键ALT_B*/返回请输入要删除的会员相关信息删除对应会员的相关信息#defineALT_M12800/*组合键ALT_M*/#defineALT_H8960/*组合键ALT_H*/intkey;/*按键变量*/inttextx,texty;/*光标坐标,x行,y列*/structmenustruct/*菜单用的结构体*/{charname[10];/*主菜单名*/charstr[10][20];/*选项*/intn;/*选项数*/}ml[3];/*使用了3个,可根据需要增删*/typedefstructBookList/*书的结构体*/{charnum[20];/*图书编号*/charname[20];/*书名*/intprice;/*书的价格*/charperson[20];/*借阅人*/intyes;/*判断书是否存在或者已经借出,1存在,0借出*/structBookList*next;}Book;typedefstructMemberList/*会员的结构体*/{charname[20];/*会员的姓名*/charsex[2];/*会员的性别*/intage;/*会员的年龄*/structMemberList*next;}Member;charsave[4096];/*保存文本区域空间*//*charsav1[4096];*/charc[4096];/*清屏专用空间*/inti,j;/*常用变量*/voidMenu();/*初始化界面*/voidSelectitem();/*定义菜单*/voidDrawSelectitem();/*显示主菜单*/voidBlackText(intx,inty,char*z);/*选中菜单*/voidRedText(intx,inty,char*z);/*正常菜单*/voidRun();/*具体操作过程*/voidDrawMl(intn);/*显示下拉菜单*/voidMoveMl(intn,intx);/*菜单选项的控制*/voidEnter(intm,intn);/*菜单选项的具体功能*/voidBookAdd();/*添加图书*/voidBookConsult();/*图书查询*/voidBookDel();/*删除图书资料*/voidBookBorrow();/*借书*/voidBookReturn();/*还书*/voidMemberAdd();/*增加会员*/voidMemberConsult();/*查询会员*/voidMemberDel();/*删除会员*/voidMemberBook();/*查询会员借书信息*/voidHelp();/*帮助*/voidVer();/*版本信息*/voidClrScr();/*自定义清屏函数*/voidDrawFrame(intleft,intup,intright,intdown,inttextcolor,intbackgroundcolor);/*画边框*//***主函数****/voidmain(void){Menu();/*初始化界面*/Run();/*具体操作过程*/}/*初始化界面*/voidMenu(){system(cls);/*调用系统的清屏命令*/textbackground(BLUE);/*将背景设置为蓝色*/window(1,1,25,80);clrscr();textx=3;/*光标初始化位置*/texty=2;gotoxy(1,2);printf(%c,218);/*画左上角*/for(i=0;i78;i++)printf(%c,196);/*画水平直线*/printf(%c,191);/*画右上角*/for(i=3;i=23;i++){gotoxy(1,i);printf(%c,179);/*画垂直线*/gotoxy(80,i);printf(%c,179);}printf(%c,192);/*画左下角*/f
本文标题:图书借阅管理
链接地址:https://www.777doc.com/doc-5061797 .html