c语言大作业程序报告模版.docx

上传人:汽*** 文档编号:562538619 上传时间:2023-12-16 格式:DOCX 页数:13 大小:259.36KB
返回 下载 相关 举报
c语言大作业程序报告模版.docx_第1页
第1页 / 共13页
c语言大作业程序报告模版.docx_第2页
第2页 / 共13页
c语言大作业程序报告模版.docx_第3页
第3页 / 共13页
c语言大作业程序报告模版.docx_第4页
第4页 / 共13页
c语言大作业程序报告模版.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《c语言大作业程序报告模版.docx》由会员分享,可在线阅读,更多相关《c语言大作业程序报告模版.docx(13页珍藏版)》请在金锄头文库上搜索。

1、图书信息管理系统设计大连理工大学综合编程训练设计报告图书信息管理系统设计学 生 姓 名:潘永鹏院系、班级:电子信息与电气工程学部学号:2012 81482联 系 电 话:187 2873 5432Email:完 成 日 期:2013年5月20日- 3 -图书信息管理系统设计一、 设计任务1. 设计目标本次设计任务为“图书信息管理系统”设计,实现基本图书管理功能,包括借阅、归还、查询,留言等。2. 选题意义该实验中,首先一方面可以切身体验到图书管理的操作流程,对管理工作有简单的认识,为以后的工作学习积累宝贵经验;再一方面对个人的逻辑判断,问题分析,模块化处理问题等能力进行了考查与提高;最后一方面

2、又对所学的C语言语法、算法进行有效检验与巩固。3. 系统功能系统实现的功能主要有:管理员/读者登录、菜单选择、借/还书、留言/查看留言、增加/删除书目等。二、 系统使用说明1. 使用环境本次程序编译平台为Microsoft Visual C+,版本6.0.0.0,代码规范为“标准C”,系统为Windows 8 Professional 32位,VC6.0下调试通过;理论上兼容所有标准C编译平台,路径默认。2. 文件组成程序组成及相应功能如下:_图书信息管理系统_Beta_1.9.0.c源代码文件LibrarySystem.c同上LibrarySystem.h自定义头文件,功能如下:包含头文件,

3、编译预处理,结构体定义,函数声明,全局变量,BookData.dat图书信息数据BorrowUser.dat借书用户数据UserData.dat用户数据Message.dat留言数据_图书信息管理系统_Beta_1.9.0.exe可执行文件readme.txt自述文件3. 操作说明初始管理员账号:admin,管理员密码:admin;其它账户默认为读者;进入系统后按提示操作。三、 程序设计与实现1. 程序结构图书信息管理系统用户登录系统管理员,密码验证普通用户图书借阅归还功能图书信息编辑功能文件I/O增加功能删除功能查看留言按书名查找按作者查找按索书号查找留言用户退出系统图1 图书信息管理系统功

4、能组成框图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;/借书用户名字l

5、ong int phone;/借书用户联系方式short int year;/借出日期:年short int month;/借出日期:月short int day;/借出日期:日BORROWUSER;本程序中为了节省内存,并未采用数组或链表方式,而是创新地利用文件指针的移动,每次读取一个sizeof(struct BookList) 或 sizeof(struct BorrowUser) 字节内容,通过反复读取文件的方式,完成设计。3. 函数说明(1) 函数原型:int Login()函数功能:登录模块入口参数:无出口参数:登录用户权限级别,1代表管理员,0代表读者算法描述:读取用户名、密码判

6、断用户身份返回级别(2) 函数原型:int ChooseMenu_Admin()函数功能:管理员菜单模块入口参数:无出口参数:操作选项算法描述:显示提示管理员菜单读取输入判断选项返回选项流程图描述:开始显示菜单读取选项增加书目删除书目查看留言借书统计退出查找书目结束图2 函数ChooseMenu_Admin()流程图(3) 函数原型:int ChooseMenu_Reader()函数功能:读者菜单模块入口参数:无出口参数:操作选项算法描述:显示提示读者菜单读取输入判断选项返回选项(4) 函数原型:void Contro_Admin(int n)函数功能:管理员控制模块入口参数:操作选项出口参数

7、:控制函数算法描述:判断选项返回控制函数(5) 函数原型:void Contro_Reader(int n)函数功能:读者控制模块入口参数:操作选项出口参数:控制函数算法描述:判断选项返回控制函数(6) 函数原型:void FindBook()函数功能:控制书目查找方式模块入口参数:无出口参数:查找方式选项算法描述:判断选项返回控制函数(7) 函数原型:void FindBookName()函数功能:按书名查找模块入口参数:无出口参数:无算法描述:读取书名按顺序比对图书数据库判断是否相等返回查找结果流程图描述:是否非文件尾文件尾失败成功开始清屏,输出提示打开数据库读取书名读取数据库,指针移位当

8、前书名=查找名指针指向查找成功结束图3 函数FindBookName()流程图(8) 函数原型:void FindBookAuthor()函数功能:按作者查找模块入口参数:无出口参数:无算法描述:读取作者名按顺序比对图书数据库判断是否相等返回查找结果(9) 函数原型:void FindBookNum()函数功能:按索书号查找模块入口参数:无出口参数:无算法描述:读取索书号按顺序比对图书数据库判断是否相等返回查找结果(10) 函数原型:void AddBook()函数功能:增加书目模块入口参数:无出口参数:无算法描述:读取增加书目信息判断是否合法存入数据库(11) 函数原型:void Delet

9、eBook()函数功能:删除书目模块入口参数:无出口参数:无算法描述:读取删除书目信息判断是否合法从数据库删除(12) 函数原型:void ShowBorrow()函数功能:显示借阅信息模块入口参数:无出口参数:无算法描述:打开借阅用户数据库读入内存标准输出设备显示(13) 函数原型:void AddBook()函数功能:增加书目模块入口参数:无出口参数:无算法描述:读取增加书目信息判断是否合法存入数据库(14) 函数原型:void ContactManager()函数功能:留言模块入口参数:无出口参数:无算法描述:读取留言信息判断是否合法存入留言数据库(15) 函数原型:void ShowM

10、essage()函数功能:查看留言模块入口参数:无出口参数:无算法描述:打开留言数据库标准输出设备显示询问是否清空清空/不清空(16) 函数原型:void ReturnBook()函数功能:归还图书模块入口参数:无出口参数:无算法描述:读取归还书目信息判断是否合法比对删除借阅用户数据库删除记录(17) 函数原型:void LendBook()函数功能:借阅图书模块入口参数:无出口参数:无算法描述:读取借阅图书信息判断是否满足借阅条件保存借阅信息修改库存信息(18) 函数原型:int AskQuit()函数功能:询问退出模块入口参数:无出口参数:退出选项,1代表退出,0代表继续算法描述:询问是否

11、退出读取选项返回选项代码(19) 函数原型:void Farewell()函数功能:退出处理模块入口参数:无出口参数:算法描述:显示退出信息结束程序四、 设计难点与解决方法本次实验中,主要遇到以下问题: 关于feof()函数的使用,按照清华大学出版社的基于Visual C+的标准C使用程序设计教程中的附录E 标准C语言库函数中讲解该函数在文件结束时返回值为0,实际使用中出现严重逻辑错误。经反复调试与查找资料,发现feof()函数在文件结束时返回值为1。 打开文件后,未对文件操作,文件却丢失。经反复调试与查找资料,发现fopen()函数,只要文件以写的方式(fopen(char* file,”w

12、”))打开,文件就会被重写,既清空。 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. 本程序存在以下不足之处: 只有一个管理员账户,且没有提供会员注册功能。其实现与图书信息数据库的建立类似,可建立一个文件记录注册用户信息,通过比对信息登陆。 没有提供注销功能,不能实现用户之间切换功能。可建立注销函数void Logout(void),通过“Logout() Login()”实现用户切换。 图形界面不够友好,程序运行基于MS-DOS系统。可通过TURBOC 2.0平台图形处理函数,实现更加友好的人机交互功能。- 9 -

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号