c语言课程设计 图书管理系统 高校教师人事管理系统5316.docx
《c语言课程设计 图书管理系统 高校教师人事管理系统5316.docx》由会员分享,可在线阅读,更多相关《c语言课程设计 图书管理系统 高校教师人事管理系统5316.docx(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图书借阅管理系统图书借阅管理是图书馆一个最基本的工作,这里用C语言的知识设计开发一个简单的图书借阅管理系统,系统主要实现图书信息和学生信息的管理,图书查询及图书借阅管理。系统设计要求系统主要实实现以下下六个功功能:用户登录录。系统统用户分分为管理理员和学学生。管管理员登登录时必必须输入入密码,密密码正确确才能进进入系统统;学生生登录时时无需密密码,输输入学号号即可。图书信息息管理。图图书信息息包括:书号、书书名、作作者、图图书分类类、出版版社、出出版时间间、单价价、总量量和库存存量。图图书信息息管理包包括:输输入图书书信息(从从键盘或或从文件件)、保保存图书书信息、修修改图书书信息、增增加图书
2、书信息、删删除图书书信息和和输出图图书信息息。学生信息息管理。学学生信息息包括:学号、姓姓名、借借书卡(借借阅标记记、书号号、借阅阅时间)。学学生信息息管理包包括:输输入学生生信息(从从键盘或或从文件件)、保保存学生生信息、修修改学生生信息、增增加学生生信息、删删除学生生信息和和输出学学生信息息。图书查询询功能。图图书查询询分为:按书名名查询、按按作者查查询、按按图书分分类查询询、按出出版社查查询和按按出版时时间查询询。借书功能能。借书书时,先先判断学学生是否否有空闲闲的借书书卡,若若没有则则应输出出提示信信息;若若有空闲闲的借书书卡,则则要求学学生输入入所借图图书的书书号,若若该书库库存量不
3、不为0,则将将该书借借出,同同时在借借书卡上上记录该该书的书书号和借借阅时间间,并修修改该书书的库存存量。还书功能能。还书书时,先先检查学学生的借借书卡,若若借书卡卡都为空空,则不不能进行行还书操操作,若若有借书书卡不为为空,则则可以还还书,此此时要求求学生输输入所还还图书的的书号,将将对应借借书卡上上的记录录清零,并并修改该该书的库库存量。系统总体设设计1. 功能能模块图图用户登录管理模块图书借阅管理系统图书信息管理模块学生信息管理模块图书信息查询模块图书借阅管理模块系统功能模块图管理员登录学生登录输入图书信息保存图书信息修改图书信息增加图书信息删除图书信息输出图书信息输入学生信息保存学生信
4、息修改学生信息增加学生信息删除学生信息输出学生信息按书名查询按作者查询按图书分类查询按出版社查询按出版时间查询借书管理还书管理2. 数据据结构设设计系统共定义义了四个个结构体体类型,包包括日期期类型、借借书卡类类型、图图书类型型和学生生类型,其其中在图图书类型型中要使使用日期期类型,而而在学生生类型中中要使用用日期和和借书卡卡类型,定定义如下下:typeddef strructt daate /日期期类型 sshorrt yeaar; /年 sshorrt monnth; /月月 sshorrt dayy; /日日SDATTE;typeddef strructt liibraary_carrd
5、 /借借书卡类类型 SShorrt flaag; /是否借借阅标记记 CCharr IISBNN200; /所借借图书的的书号 SSDATTE borr_tiime; /借阅时时间SLCAARD;typeddef strructt sttudeent /学生生类型 ccharr nnum15; /学号 ccharr nnamee200; /姓名 SSLCAARD caard5; /借借书卡(规规定每人人最多有有5张)SSTUUD;typeddef strructt boook /图书类类型 ccharr IISBNN200; /书号 ccharr bbookknamme440; /书名 cch
6、arr aauthhor20; /作者者 ccharr ppubllishher30; /出出版社 ccharr bbookkclaass20; /图图书分类类 sshorrt tottal_numm, sstocck_nnum; /总量,库库存量 ffloaat priice; /单单价 SSDATTE pubblissh_ttimee; /出版时时间SBOOOK;系统定义了了两个全全局变量量数组,分分别存放放图书信信息和学学生信息息,因数数组大小小是固定定的,为为使用方方便在系系统中定定义两个个符号常常量,具具体定义义如下:#defiine BOOOKNUUM 110000 / BOOOK
7、NNUM为为系统允允许的最最大图书书数量#defiine STUUDNUUM 1100 / STTUDNNUM为为系统允允许的最最多学生生人数SSTUDD sstuddenttSTTUDNNUM=00; /学学生数组组,初始始化为00SBOOKK bbookkBOOOKNNUM=00; /图书数数组,初初始化为为03. 功能能模块设设计(1) mmainn函数的的设计:由于图图书信息息和学生生信息都都保存在在文件中中,系统统运行的的第一个个工作是是从文件件中将图图书信息息和学生生信息读读入到内内存数组组boook和数数组sttudeent中中,在读读入信息息的过程程中同时时统计出出目前图图书的
8、数数量和学学生的人人数,并并将数据据分别存存放在整整型变量量bn和sn中,bnn为图书书数量,sn为学生人数。如果bn=0或sn=0,系统会输出提示信息,让管理员输入图书信息和学生信息。然后系统会显示主菜单,用户必须登录后才能使用系统提供的各种服务。(2) 用用户登录录管理模模块包括括2个函数数:MaanaggerLLogiin()和StuudenntLooginn(),该该模块由由maiin函数数调用。函数MannageerLooginn()用用来完成成管理员员登录工工作,首首先要求求管理员员用户输输入密码码,若密密码错误误,则直直接返回回主菜单单界面;密码正正确时将将显示管管理员用用户的功
9、功能菜单单,输入入数字可可执行相相应的功功能。函数StuudenntLooginn()用用来完成成学生登登录工作作,要求求学生输输入学号号,若学学号错误误则要求求学生重重新输入入学号;输入学学号正确确则显示示学生用用户的功功能菜单单,输入入数字可可执行相相应的功功能。(3) 图图书信息息管理模模块包括括11个函函数:IInpuutOnneboook()、LoaadBoookss()、SavveOnneboook()、SavveAlllboookss()、OriiginnalBBookk()、ModdifyyBoook()、AdddBoook()、DellBoook()、OuttputtOnee
10、boook()、OuttputtAlllboooks()和OuttputtBriief ()。只只有管理理员用户户可以调调用图书书信息管管理模块块。函数InpputOOnebbookk()用用来实现现从键盘盘输入一一本图书书的全部部信息。函数LoaadBoookss()用用来实现现从文件件“boook.datt”中输输入全部部图书的的信息,并并将这些些数据存存放到内内存数组组boook中。函数SavveOnneboook()用来来实现将将一本图图书的信信息保存存到文件件“boook.datt”中。函数SavveAlllboookss()用用来实现现将全部部图书的的信息保保存到文文件“bbook
11、k.daat”中中。函数OriiginnalBBookk()用用来实现现图书信信息的初初始化,在在程序第第1次运行行时必须须调用该该函数,输输入若干干本图书书的信息息,并将将这些信信息保存存在文件件中。该该函数是是通过循循环多次次调用IInpuutOnneboook()函数数实现多多本图书书信息的的输入,然然后调用用SavveAlllboookss()函函数将已已输入的的所有图图书的信信息保存存在文件件“boook.datt”中。函数ModdifyyBoook()用来实实现对图图书信息息的修改改,用户户首先输输入书号号,书号号错误则则输出提提示信息息,要求求用户重重新输入入;书号号正确则则用户
12、可可以选择择要修改改的数据据项对图图书信息息进行修修改(用用swiitchh结构实实现),一一本图书书的信息息修改完完毕后,调调用SaaveOOnebbookk()函函数,将将修改后后的信息息保存到到文件中中。然后后询问用用户是否否继续修修改其他他图书的的信息,用用户选择择y,则重重复上述述的修改改过程;用户选选择nn,则则结束函函数,返返回到管管理员菜菜单界面面。函数AdddBoook()用来实实现添加加图书信信息,通通过调用用InpputOOnebbookk()函函数,从从键盘输输入一本本图书的的信息,然然后将该该信息写写入文件件。然后后询问用用户是否否继续添添加其他他图书的的信息,用用户
13、选择择y,则重重复上述述过程;用户选选择nn,则则结束函函数,返返回到管管理员菜菜单界面面。函数DellBoook()用来实实现删除除图书信信息,用用户首先先输入书书号,书书号错误误则输出出提示信信息,要要求用户户重新输输入;书书号正确确则会先先输出该该书号对对应图书书的信息息,然后后询问用用户是否否确定要要删除该该书的信信息,用用户选择择y才能真真正删除除该书信信息。最最后询问问用户是是否继续续删除其其他图书书的信息息,用户户选择y,则则重复上上述过程程;用户户选择n,则则结束函函数,返返回到管管理员菜菜单界面面。函数OuttputtOneeboook()用来实实现输出出一本图图书的全全部信
14、息息。函数OuttputtAlllboooks()通过过多次调调用OuutpuutOnneboook()函数数来实现现输出全全部图书书的信息息。函数OuttputtBriief()用来来实现以以列表方方式输出出全部图图书的简简要信息息,简要要信息包包括:书书号、书书名、作作者和总总量。(4) 学学生信息息管理模模块包括括10个函函数:IInpuutOnnesttud()、LoaadSttudss()、SavveOnnesttud()、SavveAlllsttudss()、OriiginnalSStudd()、ModdifyyStuud()、AdddStuud()、DellStuud()、Out
15、tputtOneestuud()和OuttputtAlllstuuds()。管理员员用户可可以使用用学生信信息管理理模块的的全部功功能,学学生用户户只能使使用该模模块中的的一个功功能,即即OuttputtOneestuud()函数(输输出一个个学生的的信息)。学生信息管管理模块块中函数数的实现现方法与与图书信信息管理理中的类类似,以以下仅作作简单说说明。函数InpputOOnesstudd()用用来实现现从键盘盘输入一一个学生生的信息息。函数LoaadSttudss()用用来实现现从文件件“sttud.datt”中输输入全部部学生的的信息,并并将这些些数据存存放到内内存数组组stuudennt
16、中。函数SavveOnnesttud()用来来实现将将一各学学生的信信息保存存到文件件“sttud.datt”中。函数SavveAlllsttudss()用用来实现现将全部部学生的的信息保保存到文文件“sstudd.daat”中中。函数OriiginnalSStudd()用用来实现现学生信信息的初初始化,在在程序第第1次运行行时必须须调用该该函数。该该函数是是通过循循环多次次调用IInpuutOnnesttud()函数数实现多多个学生生信息的的输入,然然后调用用SavveAlllsttudss()函函数将已已输入的的所有学学生的信信息保存存在文件件“sttud.datt”中。函数Moddify
17、yStuud()用来实实现学生生信息的的修改。函数AdddStuud()用来实实现添加加学生信信息。函数DellStuud()用来实实现删除除学生信信息。函数OuttputtOneestuud()用来实实现输出出一个学学生的全全部信息息。函数OuttputtAlllstuuds()用来来实现输输出全部部学生的的基本信信息(即即学号和和姓名)。(5) 图图书信息息查询模模块包括括6个函数数:SeearcchMeenu()、SearrcBnnamee()、SeaarchhAutthorr()、SeaarchhBcllasss()、SeaarchhPubblissherr()、SeaarchhPub
18、btimme()。管理理员和学学生都可可以使用用图书信信息查询询模块。函数SeaarchhMennu()用来显显示图书书查询服服务菜单单,用户户输入数数字可执执行相应应的查询询服务。函数SeaarcBBnamme()用来实实现按书书名进行行图书信信息的查查询。用用户可以以输入完完整的书书名进行行精确查查询(如如输入“CC语言程程序设计计”),精精确查询询是使用用字符串串比较函函数sttrcmmp(),将输输入的书书名与已已有图书书的书名名逐一进进行比较较,当该该函数的的返回值值等于00,表示示这两个个书名完完全相同同,即找找到要查查询的图图书。另另外,用用户也可可以输入入书名中中的几个个字进行
19、行模糊查查询(如如输入“CC语言”,或输输入“程序设设计”),模模糊查询询是使用用求子串串函数sstrsstr(),在在已有图图书的书书名中寻寻找输入入的字符符串,如如果该函函数的返返回值不不为空,则则说明该该书名中中包含这这个字符符串,那那么就应应该输出出这本图图书的信信息。通通常,模模糊查询询会列出出多个查查询结果果。函数SeaarchhAutthorr()用用来实现现按作者者姓名进进行图书书信息的的查询。用用户可以以输入完完整的姓姓名进行行精确查查询(如如输入“谭浩强强”),也也可以只只输入姓姓氏进行行模糊查查询(如如只输入入“张”),具具体方法法与按书书名查询询类似。函数Seaarch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言课程设计 图书管理系统 高校教师人事管理系统5316 语言 课程设计 图书 管理 系统 高校教师 人事管理系统 5316
限制150内