C语言图书管理系统.doc_第1页
C语言图书管理系统.doc_第2页
C语言图书管理系统.doc_第3页
C语言图书管理系统.doc_第4页
C语言图书管理系统.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计与算法综合实习课程设计报告图书馆管理系统题 目:班 级: 软件学院软件工程R6班学生学号: 学生姓名: 指导老师: 提交时间:2014年5月2号成 绩:华南农业大学 信息学院一、需求分析1、系统概述:(1)题目概述:设计一个图书登记管理程序,该程序具有以下功能:a.录入某本图书的信息(图书信息包括的内容:ISBN号、书名、作者、出版社、出版日期、价格) b.给定图书ISBN编号,显示该图书信息;c.给定图书ISBN编号,修改该图书信息;d.给定图书ISBN编号,删除该图书信息;e.给定某个字符串,查找并显示所有书名中包括该字符串的图书的信息;f.给定出版社名称,查找并显示该出版社的所有图书的信息;g.统计功能:提供一些统计各类信息的功能。(2)题目要求:a.按照分析、设计、编码、调试和测试过程完成应用程序;b.学习并使用流程图等工具,并在撰写报告中使用;c.程序的各项功能在程序运行时,以菜单方式选择并执行;d.要求用户输入数据时,要给出清晰、明确的提示,包括:输入数据的内容、格式及结束方式等;e.所有的信息存储在一个文件或多个中,并实现文件读写操作。f.记录添加删除操作时,先从文件载入数据,用链表存放,批量操作完后,数据从链表写入文件;g查看数据时,先从文件载入数据,用数组存放,并排序,使用二次查找加速查找过程,一次载入允话使用者多次查看数据。(3)系统功能:管理员功能:(1)图书管理: a.增加图书 b.删除图书 c.修改图书 d.查找图书 (2).用户管理: a.增加用户 b.删除用户 c.查找用户 (3)修改管理员密码普通用户功能:(1)查找图书: a.图书借阅 b.图书归还 c.查询图书信息 (2)修改用户密码2、系统运行环境: (1)硬件环境: CPU:奔腾3以上内存:1G以上 显卡:集成显卡 硬盘:10M (2)软件环境: 操作系统:windows 7/8 DOS系统支持中文输出3、功能需求描述: (1)管理员功能:在图书管理功能中,管理员能够将新购的图书信息录进系统中,也能将已丢失的图书的信息从系统中删除,还能将录入有错误信息的图书进行信息修改;在查找图书功能上,显示图书信息时,管理员查找出现的图书信息能显示该图书的借阅者情况。若被借阅,便会显示出借阅者的用户名;若是没被借阅,则显示“无”。在用户管理功能中,管理员能够添加新的普通用户并且为该用户设置初始密码。还能删除普通用户,查看普通用户。最后,就是剩下修改管理员密码这个功能。第一次进入该系统时,管理员的初始密码是“123456”,管理员第一次进去后必须进行修改。避免被非管理员人员登录后进行操作,造成灾难性的损失。修改密码成功后,密码经过加密程序被写进文件里面。避免被他人打开该文件直接找到密码。(2)普通用户功能:普通用户能查找图书,并且在查找过程中后能够对图书进行借阅或者事归还。借阅和归还都必须进行信息的登记和消除。这是管理员所不具备的功能。最后还有一个修改自己用户名密码的功能,这起到信息保密的作用,避免有人使用其他人的账号进行借书。二、总体设计1、总体开发思想:(1)主要的数据结构:两个单链表结构,其中一个单链表存放图书信息,另一个存放普通用户信息。 数据域里面存放图书的ISBN码;书名;作者;出版社;出版时间;价格;状态;借出者信息;书本类型指针域Headnull数据域图书信息链表数据域里面存放普通用户的账号;姓名以及用户所在学院专业班级。指针域Headnull数据域普通用户链表(2)数据存贮方式:顺序存储。每当数据发生变动时,都将文件里面的数据清空,再重新把链表里面的数据写进文件中。.(3)使用的语言: C语言。 2、系统模块结构图:用户选择管理员普通用户增加图书删除图书查找图书修改图书修改密码用户管理修改密码查找图书增加用户删除用户查找用户图书借阅图书归还查看图书信息按ISBN码查找按书名查按出版社查退出系统3、功能设计: 1.选择管理员登陆程序框图输入管理员密码密码是否正确管理员功能界面是用户选择是否继续输入密码否是否2.增加图书程序框图管理员功能界面增加图书输入图书信息图书信息是否正确否修改图书是图书入库是否继续添加图书是否3删除图书程序框图管理员功能界面删除图书输入图书信息是否删除该图书否什么也不做是删除图书是否继续删除图书是否4修改图书程序框图管理员功能界面修改图书输入图书信息是否继续修改图书是否修改完毕5.查找图书程序框图管理员功能界面查找图书选择条件输入图书信息是否继续查找图书是否显示信息 6.修改密码程序框图(管理员和普通用户一样)功能界面修改密码输入原密码,新密码原密码是否正确并且新密码规范修改成功是是否继续进行密码修改否是否7.添加新用户用户管理界面增加用户输入用户信息是否添加该新用户否是用户添加成功是否继续添加用户是否8.删除用户用户管理界面删除用户输入用户信息是否删除该新用户否是用户删除成功是否继续删除用户是否9.查找用户用户管理界面查找用户选择条件输入用户信息是否继续查找用户是否显示信息10.借书,还书程序框图普通用户查找图书查找图书该图书是否存在否是是否继续查找图书是否借书还书什么都不做输入用户名和用户密码用户名和用户密码是否都正确否借书 / 还书成功是三、功能实现1、主要函数:函数名及参数含义;void read_txt ( ); /对文件进行读操作,把图书信息读取到链表中;int write_txt ( ); /对文件进行写操作,把链表中图书信息写进文件,成功则返回1;失败则返回0;vcoid add_book ( );/添加图书,申请一个链表结点用以添加图书;void book_ISBN (linklist p);/p为要操作图书所在的结点,将p结点数据域所存的ISBN码按顺序插入图书链表中;void delete_book( );/删除图书;void delete_ISBN( linklist p);/p为指定要删除图书所在的结点,将结点p删除;void alter_book(Linklist p,int bookkey);/修改图书;p为所要修改的图书所在的结点;bookkey为判断功能;若是在添加图书时图书信息错误进行修改,则执行bookkey的功能;若是在修改图书功能进入进行修改,则不执行bookk功能;void seek( );/查找图书总菜单;void seek_ISBN( );/按ISBN码查找(二分查找);void seek_name( );/按书名查找(管理员页面进入时使用模糊查找,普通用户则是精确查找);void seek_press( );/按出版社找(遍历同个出版社的所有图书);void manage_user( );/用户管理;void read_user_txt( );/ 对文件进行读操作,把普通用户的信息读取到链表中;int write_user_txt( );/对文件进行写操作,把链表中普通用户的信息写进文件,成功则返回1;失败则返回0;void add_user( );/添加用户,申请一个链表结点用以添加新图书;void delete_user( );/删除用户;void seek_user( );/查找用户;void read_password( );/将文件中加密的管理员密码解密并且放到字符数组里面;void enter_password( );/输入密码,并使密码在屏幕显示成星号;int lend_return_book(char s );/s 为图书的ISBN码;图书借阅和归还,借阅成功或者归还成功返回1,失败则返回0;int user_judge(char ss );ss 为普通用户账号;图书借阅和归还时对普通用户身份进行鉴别,用户正确则返回1,不正确并且返回放弃继续输入则返回0;2、各菜单页面开机界面 =|* *|* *|* 欢迎使用图书馆系统 *|* *|* 管理员的初始密码为:123456 *|* 请务必在第一次登陆后进行修改 *|* *|* *|=按Enter键继续_用户选择界面=|* *|* 用户选择 *|* *|* *|* 1.图书管理员 * | |* *|* 2. 普通用户 * |* *|* 0.退出系统 * |* *|=请输入你的操作选择_输入密码界面 =|* *|* 是否输入密码进行管理员操作 *|* *|* *|* 1. 输入密码 * |* *|* 0.返回前一菜单 * |* *|= 请输入你的操作选择_管理员功能界面=|* 功能选择 *|* *|* 1.增加图书 * |* 2.删除图书 * |* 3.修改图书 * |* 4.查找图书 * |* 5.用户管理 * |* 6.修改密码 * |* 0.返回前一菜单 * |* *|=请输入你的操作选择_查找图书界面=|* 查找图书条件 *|* *|* 1.按图书ISBN码查找 *|* *|* 2.按书名查找 * |* *|* 3.按出版社查找 * |* *|* 0.返回前一菜单 * |* *|=请输入你的操作选择_用户管理界面=|* 选择用户操作 *|* *|* 1添加用户 * |* *|* 2.删除用户 * |* *|* 3.查找用户 * |* *|* 0.返回前一菜单 * |* *|=请输入你的操作选择_修改密码界面 =|* *|* 功能选择 *|* *|* *|* 1.输入原密码进行密码修改 * |* *|* 0.返回前一菜单 * |* *|= 请输入你的操作选择_四、总结在做课程设计的作业时,我分到的题目是图书馆管理系统。开始时,我并不知道如何起步,后来,经过一个星期的思考,做了一个小小的设计思路。由于我是第一次编写软件,所以,程序写了又改,改了又写。直到思路很清晰以后才一直写下去,不用做大的改动。最开始写的是,管理员登录和管理员密码修改。由于缺乏经验,所以写得很乱,用了很多函数,有些子函数很短很短。写到后来,才发现其实前面几个子函数是可以合并在一起的。可以减少子函数的数目,方便对程序的检查。接下来是做增删查改,这个要用到链表和文件。在把文件里面的数据加载到链表这里总是出错。因为用了eof( ) 函数。总是多循环了一次了;上网找了一下,发现问题所在,也按照网上所说方法进行改正,但还是出错。在尝试了几个钟之后,用了最笨最直接的方法。在用eof( ) 函数把文件的的数据加载到链表时,当eof( ) 函数结束后,直接把链表最后一个结点给删除掉。很容易地解决了该函数做为循环条件时多循环一次的问题。有时候,某些很基础的方法就能解决掉问题,多实践多尝试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论