c语言课程设计 图书管理系统 高校教师人事管理系统12108.docx
《c语言课程设计 图书管理系统 高校教师人事管理系统12108.docx》由会员分享,可在线阅读,更多相关《c语言课程设计 图书管理系统 高校教师人事管理系统12108.docx(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图书借阅管理系统图书借阅管管理是图书书馆一个最最基本的工工作,这里里用C语言的知知识设计开开发一个简简单的图书书借阅管理理系统,系系统主要实实现图书信信息和学生生信息的管管理,图书书查询及图图书借阅管管理。系统设计要要求系统主要实实现以下六六个功能:用户登录录。系统用用户分为管管理员和学学生。管理理员登录时时必须输入入密码,密密码正确才才能进入系系统;学生生登录时无无需密码,输输入学号即即可。图书信息息管理。图图书信息包包括:书号号、书名、作作者、图书书分类、出出版社、出出版时间、单单价、总量量和库存量量。图书信信息管理包包括:输入入图书信息息(从键盘盘或从文件件)、保存存图书信息息、修改图图
2、书信息、增增加图书信信息、删除除图书信息息和输出图图书信息。学生信息息管理。学学生信息包包括:学号号、姓名、借借书卡(借借阅标记、书书号、借阅阅时间)。学学生信息管管理包括:输入学生生信息(从从键盘或从从文件)、保保存学生信信息、修改改学生信息息、增加学学生信息、删删除学生信信息和输出出学生信息息。图书查询询功能。图图书查询分分为:按书书名查询、按按作者查询询、按图书书分类查询询、按出版版社查询和和按出版时时间查询。借书功能能。借书时时,先判断断学生是否否有空闲的的借书卡,若若没有则应应输出提示示信息;若若有空闲的的借书卡,则则要求学生生输入所借借图书的书书号,若该该书库存量量不为0,则将该该
3、书借出,同同时在借书书卡上记录录该书的书书号和借阅阅时间,并并修改该书书的库存量量。还书功能能。还书时时,先检查查学生的借借书卡,若若借书卡都都为空,则则不能进行行还书操作作,若有借借书卡不为为空,则可可以还书,此此时要求学学生输入所所还图书的的书号,将将对应借书书卡上的记记录清零,并并修改该书书的库存量量。系统总体设设计1. 功能能模块图用户登录管理模块图书借阅管理系统图书信息管理模块学生信息管理模块图书信息查询模块图书借阅管理模块系统功能模块图管理员登录学生登录输入图书信息保存图书信息修改图书信息增加图书信息删除图书信息输出图书信息输入学生信息保存学生信息修改学生信息增加学生信息删除学生信
4、息输出学生信息按书名查询按作者查询按图书分类查询按出版社查询按出版时间查询借书管理还书管理2. 数据据结构设计计系统共定义义了四个结结构体类型型,包括日日期类型、借借书卡类型型、图书类类型和学生生类型,其其中在图书书类型中要要使用日期期类型,而而在学生类类型中要使使用日期和和借书卡类类型,定义义如下:typeddef sstrucct daate /日期类类型 sshortt yeear; /年年 sshortt moonth; /月 sshortt daay; /日SDATTE;typeddef sstrucct liibrarry_caard /借书卡卡类型 SShortt fllag;
5、/是否否借阅标记记 CChar ISBBN200; /所借图书书的书号 SSDATEE boor_tiime; /借借阅时间SLCAARD;typeddef sstrucct sttudennt /学学生类型 cchar numm15; /学学号 cchar namme200; /姓姓名 SSLCARRD ccard5; /借书书卡(规定定每人最多多有5张)SSTUUD;typeddef sstrucct boook /图书书类型 cchar ISBBN200; /书号号 cchar boooknamme400; /书名名 cchar autthor20; /作作者 cchar pubblis
6、hher330; /出版社 cchar boookclaass220; /图书分类类 sshortt tootal_num, stoock_nnum; /总量,库库存量 ffloatt prrice; /单价 SSDATEE puublissh_tiime; /出版版时间SBOOOK;系统定义了了两个全局局变量数组组,分别存存放图书信信息和学生生信息,因因数组大小小是固定的的,为使用用方便在系系统中定义义两个符号号常量,具具体定义如如下:#defiine BBOOKNNUM 11000 / BBOOKNNUM为系系统允许的的最大图书书数量#defiine SSTUDNNUM 1100 / SS
7、TUDNNUM为系系统允许的的最多学生生人数SSTUDD sttudenntSTTUDNUUM=0; /学生数数组,初始始化为0SBOOKK boookBBOOKNNUM=0; /图图书数组,初初始化为003. 功能能模块设计计(1) mmain函函数的设计计:由于图图书信息和和学生信息息都保存在在文件中,系系统运行的的第一个工工作是从文文件中将图图书信息和和学生信息息读入到内内存数组bbook和和数组sttudennt中,在在读入信息息的过程中中同时统计计出目前图图书的数量量和学生的的人数,并并将数据分分别存放在在整型变量量bn和sn中,bn为图书书数量,ssn为学生生人数。如如果bn=0或
8、sn=00,系统会会输出提示示信息,让让管理员输输入图书信信息和学生生信息。然然后系统会会显示主菜菜单,用户户必须登录录后才能使使用系统提提供的各种种服务。(2) 用用户登录管管理模块包包括2个函数:ManaagerLLoginn()和StuddentLLoginn(),该该模块由mmain函函数调用。函数MannagerrLogiin()用用来完成管管理员登录录工作,首首先要求管管理员用户户输入密码码,若密码码错误,则则直接返回回主菜单界界面;密码码正确时将将显示管理理员用户的的功能菜单单,输入数数字可执行行相应的功功能。函数StuudenttLogiin()用用来完成学学生登录工工作,要求
9、求学生输入入学号,若若学号错误误则要求学学生重新输输入学号;输入学号号正确则显显示学生用用户的功能能菜单,输输入数字可可执行相应应的功能。(3) 图图书信息管管理模块包包括11个函数数:InpputOnneboook()、LoaddBookks()、SaveeOnebbook()、SaveeAllbbookss()、OrigginallBookk()、ModiifyBoook()、AddBBook()、DelBBook()、OutpputOnneboook()、OutpputAlllboooks()和OutpputBrrief ()。只只有管理员员用户可以以调用图书书信息管理理模块。函数Inp
10、putOnneboook()用用来实现从从键盘输入入一本图书书的全部信信息。函数LoaadBoooks()用来实现现从文件“bbook.dat”中输入全部图书的信息,并将这些数据存放到内存数组book中。函数SavveOneebookk()用来来实现将一一本图书的的信息保存存到文件“bbook.dat”中。函数SavveAlllbookks()用用来实现将将全部图书书的信息保保存到文件件“boook.daat”中。函数OriiginaalBoook()用用来实现图图书信息的的初始化,在在程序第11次运行时时必须调用用该函数,输输入若干本本图书的信信息,并将将这些信息息保存在文文件中。该该函数是
11、通通过循环多多次调用IInputtOnebbook()函数实实现多本图图书信息的的输入,然然后调用SSaveAAllboooks()函数将将已输入的的所有图书书的信息保保存在文件件“boook.daat”中。函数ModdifyBBook()用来实实现对图书书信息的修修改,用户户首先输入入书号,书书号错误则则输出提示示信息,要要求用户重重新输入;书号正确确则用户可可以选择要要修改的数数据项对图图书信息进进行修改(用用swittch结构构实现),一一本图书的的信息修改改完毕后,调调用SavveOneebookk()函数数,将修改改后的信息息保存到文文件中。然然后询问用用户是否继继续修改其其他图书的
12、的信息,用用户选择y,则则重复上述述的修改过过程;用户户选择nn,则结结束函数,返返回到管理理员菜单界界面。函数AdddBookk()用来来实现添加加图书信息息,通过调调用InpputOnneboook()函函数,从键键盘输入一一本图书的的信息,然然后将该信信息写入文文件。然后后询问用户户是否继续续添加其他他图书的信信息,用户户选择yy,则重重复上述过过程;用户户选择nn,则结结束函数,返返回到管理理员菜单界界面。函数DellBookk()用来来实现删除除图书信息息,用户首首先输入书书号,书号号错误则输输出提示信信息,要求求用户重新新输入;书书号正确则则会先输出出该书号对对应图书的的信息,然然
13、后询问用用户是否确确定要删除除该书的信信息,用户户选择yy才能真真正删除该该书信息。最最后询问用用户是否继继续删除其其他图书的的信息,用用户选择y,则则重复上述述过程;用用户选择n,则则结束函数数,返回到到管理员菜菜单界面。函数OuttputOOneboook()用来实现现输出一本本图书的全全部信息。函数OuttputAAllboooks()通过多多次调用OOutpuutOneebookk()函数数来实现输输出全部图图书的信息息。函数OuttputBBrieff()用来来实现以列列表方式输输出全部图图书的简要要信息,简简要信息包包括:书号号、书名、作作者和总量量。(4) 学学生信息管管理模块包
14、包括10个函数数:InpputOnnestuud()、LoaddStudds()、SaveeOnesstud()、SaveeAllsstudss()、OrigginallStudd()、ModiifySttud()、AddSStud()、DelSStud()、OutpputOnnestuud()和和OutpputAlllstuuds()。管理员用用户可以使使用学生信信息管理模模块的全部部功能,学学生用户只只能使用该该模块中的的一个功能能,即OuutputtOnesstud()函数(输输出一个学学生的信息息)。学生信息管管理模块中中函数的实实现方法与与图书信息息管理中的的类似,以以下仅作简简单说
15、明。函数InpputOnnestuud()用用来实现从从键盘输入入一个学生生的信息。函数LoaadStuuds()用来实现现从文件“sstud.dat”中输入全部学生的信息,并将这些数据存放到内存数组student中。函数SavveOneestudd()用来来实现将一一各学生的的信息保存存到文件“sstud.dat”中。函数SavveAlllstudds()用用来实现将将全部学生生的信息保保存到文件件“stuud.daat”中。函数OriiginaalStuud()用用来实现学学生信息的的初始化,在在程序第11次运行时时必须调用用该函数。该该函数是通通过循环多多次调用IInputtOnesst
16、ud()函数实实现多个学学生信息的的输入,然然后调用SSaveAAllsttuds()函数将将已输入的的所有学生生的信息保保存在文件件“stuud.daat”中。函数ModdifySStud()用来实实现学生信信息的修改改。函数AdddStudd()用来来实现添加加学生信息息。函数DellStudd()用来来实现删除除学生信息息。函数OuttputOOnesttud()用来实现现输出一个个学生的全全部信息。函数OuttputAAllsttuds()用来实实现输出全全部学生的的基本信息息(即学号号和姓名)。(5) 图图书信息查查询模块包包括6个函数:SearrchMeenu()、SearccBn
17、amme()、SearrchAuuthorr()、SearrchBcclasss()、SearrchPuublissher()、SearrchPuubtimme()。管管理员和学学生都可以以使用图书书信息查询询模块。函数SeaarchMMenu()用来显显示图书查查询服务菜菜单,用户户输入数字字可执行相相应的查询询服务。函数SeaarcBnname()用来实实现按书名名进行图书书信息的查查询。用户户可以输入入完整的书书名进行精精确查询(如如输入“CC语言程序序设计”),精确确查询是使使用字符串串比较函数数strccmp(),将输入入的书名与与已有图书书的书名逐逐一进行比比较,当该该函数的返返回
18、值等于于0,表示这这两个书名名完全相同同,即找到到要查询的的图书。另另外,用户户也可以输输入书名中中的几个字字进行模糊糊查询(如如输入“CC语言”,或输入入“程序设计计”),模糊糊查询是使使用求子串串函数sttrstrr(),在在已有图书书的书名中中寻找输入入的字符串串,如果该该函数的返返回值不为为空,则说说明该书名名中包含这这个字符串串,那么就就应该输出出这本图书书的信息。通通常,模糊糊查询会列列出多个查查询结果。函数SeaarchAAuthoor()用用来实现按按作者姓名名进行图书书信息的查查询。用户户可以输入入完整的姓姓名进行精精确查询(如如输入“谭浩强”),也可可以只输入入姓氏进行行模
19、糊查询询(如只输输入“张”),具体体方法与按按书名查询询类似。函数SeaarchBBclasss()用用来实现按按图书分类类进行图书书信息的查查询。考虑虑到用户可可能不能输输入完全正正确的图书书分类名称称,所以在在该函数中中只采用模模糊查询方方式。函数 SeearchhPubllisheer()用用来实现按按出版社名名称进行图图书信息的的查询。用用户在输入入出版社名名称时,一一般不会输输入“出版社”这三个字字(如想查查询清华大大学出版社社的图书,通通常用户会会输入“清华大学学”),所以以在该函数数中也是只只采用模糊糊查询方式式。函数 SeearchhPubttime()用来实实现按出版版日期进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言课程设计 图书管理系统 高校教师人事管理系统12108 语言 课程设计 图书 管理 系统 高校教师 人事管理系统 12108
限制150内