c语言大作业程序报告模版.docx_第1页
c语言大作业程序报告模版.docx_第2页
c语言大作业程序报告模版.docx_第3页
c语言大作业程序报告模版.docx_第4页
c语言大作业程序报告模版.docx_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

图书信息管理系统设计大连理工大学综合编程训练设计报告图书信息管理系统设计学 生 姓 名:潘永鹏院系、班级:电子信息与电气工程学部学号:2012 81482联 系 电 话:187 2873 5432Email:完 成 日 期:2013年5月20日- 3 -图书信息管理系统设计一、 设计任务1. 设计目标本次设计任务为“图书信息管理系统”设计,实现基本图书管理功能,包括借阅、归还、查询,留言等。2. 选题意义该实验中,首先一方面可以切身体验到图书管理的操作流程,对管理工作有简单的认识,为以后的工作学习积累宝贵经验;再一方面对个人的逻辑判断,问题分析,模块化处理问题等能力进行了考查与提高;最后一方面又对所学的C语言语法、算法进行有效检验与巩固。3. 系统功能系统实现的功能主要有:管理员/读者登录、菜单选择、借/还书、留言/查看留言、增加/删除书目等。二、 系统使用说明1. 使用环境本次程序编译平台为Microsoft Visual C+,版本,代码规范为“标准C”,系统为Windows 8 Professional 32位,VC6.0下调试通过;理论上兼容所有标准C编译平台,路径默认。2. 文件组成程序组成及相应功能如下:_图书信息管理系统_Beta_1.9.0.c源代码文件LibrarySystem.c同上LibrarySystem.h自定义头文件,功能如下:包含头文件,编译预处理,结构体定义,函数声明,全局变量,BookData.dat图书信息数据BorrowUser.dat借书用户数据UserData.dat用户数据Message.dat留言数据_图书信息管理系统_Beta_1.9.0.exe可执行文件readme.txt自述文件3. 操作说明初始管理员账号:admin,管理员密码:admin;其它账户默认为读者;进入系统后按提示操作。三、 程序设计与实现1. 程序结构图书信息管理系统用户登录系统管理员,密码验证普通用户图书借阅归还功能图书信息编辑功能文件I/O增加功能删除功能查看留言按书名查找按作者查找按索书号查找留言用户退出系统图1 图书信息管理系统功能组成框图2. 核心数据结构设计a) 图书信息typedef struct BookList/图书信息char name20;/书名long int num;/索书号float price;/价格char author20;/作者char press20;/出版社char version20; /版本short int sum;/库存量short intleft;/剩余量BOOK; b) 借书用户信息typedef struct BorrowUser/借书用户信息char bookname20;/被借书名字long int num;/被借书序列号char username20;/借书用户名字long int phone;/借书用户联系方式short int year;/借出日期:年short int month;/借出日期:月short int day;/借出日期:日BORROWUSER;本程序中为了节省内存,并未采用数组或链表方式,而是创新地利用文件指针的移动,每次读取一个sizeof(struct BookList) 或 sizeof(struct BorrowUser) 字节内容,通过反复读取文件的方式,完成设计。3. 函数说明(1) 函数原型:int Login()函数功能:登录模块入口参数:无出口参数:登录用户权限级别,1代表管理员,0代表读者算法描述:读取用户名、密码判断用户身份返回级别(2) 函数原型:int ChooseMenu_Admin()函数功能:管理员菜单模块入口参数:无出口参数:操作选项算法描述:显示提示管理员菜单读取输入判断选项返回选项流程图描述:开始显示菜单读取选项增加书目删除书目查看留言借书统计退出查找书目结束图2 函数ChooseMenu_Admin()流程图(3) 函数原型:int ChooseMenu_Reader()函数功能:读者菜单模块入口参数:无出口参数:操作选项算法描述:显示提示读者菜单读取输入判断选项返回选项(4) 函数原型:void Contro_Admin(int n)函数功能:管理员控制模块入口参数:操作选项出口参数:控制函数算法描述:判断选项返回控制函数(5) 函数原型:void Contro_Reader(int n)函数功能:读者控制模块入口参数:操作选项出口参数:控制函数算法描述:判断选项返回控制函数(6) 函数原型:void FindBook()函数功能:控制书目查找方式模块入口参数:无出口参数:查找方式选项算法描述:判断选项返回控制函数(7) 函数原型:void FindBookName()函数功能:按书名查找模块入口参数:无出口参数:无算法描述:读取书名按顺序比对图书数据库判断是否相等返回查找结果流程图描述:是否非文件尾文件尾失败成功开始清屏,输出提示打开数据库读取书名读取数据库,指针移位当前书名=查找名指针指向查找成功结束图3 函数FindBookName()流程图(8) 函数原型:void FindBookAuthor()函数功能:按作者查找模块入口参数:无出口参数:无算法描述:读取作者名按顺序比对图书数据库判断是否相等返回查找结果(9) 函数原型:void FindBookNum()函数功能:按索书号查找模块入口参数:无出口参数:无算法描述:读取索书号按顺序比对图书数据库判断是否相等返回查找结果(10) 函数原型:void AddBook()函数功能:增加书目模块入口参数:无出口参数:无算法描述:读取增加书目信息判断是否合法存入数据库(11) 函数原型:void DeleteBook()函数功能:删除书目模块入口参数:无出口参数:无算法描述:读取删除书目信息判断是否合法从数据库删除(12) 函数原型:void ShowBorrow()函数功能:显示借阅信息模块入口参数:无出口参数:无算法描述:打开借阅用户数据库读入内存标准输出设备显示(13) 函数原型:void AddBook()函数功能:增加书目模块入口参数:无出口参数:无算法描述:读取增加书目信息判断是否合法存入数据库(14) 函数原型:void ContactManager()函数功能:留言模块入口参数:无出口参数:无算法描述:读取留言信息判断是否合法存入留言数据库(15) 函数原型:void ShowMessage()函数功能:查看留言模块入口参数:无出口参数:无算法描述:打开留言数据库标准输出设备显示询问是否清空清空/不清空(16) 函数原型:void ReturnBook()函数功能:归还图书模块入口参数:无出口参数:无算法描述:读取归还书目信息判断是否合法比对删除借阅用户数据库删除记录(17) 函数原型:void LendBook()函数功能:借阅图书模块入口参数:无出口参数:无算法描述:读取借阅图书信息判断是否满足借阅条件保存借阅信息修改库存信息(18) 函数原型:int AskQuit()函数功能:询问退出模块入口参数:无出口参数:退出选项,1代表退出,0代表继续算法描述:询问是否退出读取选项返回选项代码(19) 函数原型:void Farewell()函数功能:退出处理模块入口参数:无出口参数:算法描述:显示退出信息结束程序四、 设计难点与解决方法本次实验中,主要遇到以下问题: 关于feof()函数的使用,按照清华大学出版社的基于Visual C+的标准C使用程序设计教程中的附录E 标准C语言库函数中讲解该函数在文件结束时返回值为0,实际使用中出现严重逻辑错误。经反复调试与查找资料,发现feof()函数在文件结束时返回值为1。 打开文件后,未对文件操作,文件却丢失。经反复调试与查找资料,发现fopen()函数,只要文件以写的方式(fopen(char* file,”w”))打开,文件就会被重写,既清空。 fwrite()函数在赋值使用中出现乱码,经反复调试与查找资料,发现其赋值方式与之前的文件打开方式有关。当文件以文本方式打开时,fwrite()函数相当于从标准输入文件(比如键盘)等赋值,优先考虑数据类型的对应;当文件以二进制方式打开时,相当于从内存中赋值,优先考虑字长大小的对应。五、 设计效果与不足之处1. 经调试,系统运行正常,图4-1至4-10所示为各运行窗口截图: 图4-1 登陆界面图4-2管理员菜单界面图4-3增加书目界面图4-4删除书目界面图4-5读者留言界面图4-6管理员查看留言界面图4-7还书界面图4-8借书界面图4-9查找书籍界面图4-10退出界面2. 本程序存在以下不足之处: 只有一个管理员账户,且没有提

温馨提示

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

评论

0/150

提交评论