图书管理系统实验报告.pdf

上传人:tbuqq 文档编号:5215403 上传时间:2020-02-24 格式:PDF 页数:15 大小:1.21MB
返回 下载 相关 举报
图书管理系统实验报告.pdf_第1页
第1页 / 共15页
图书管理系统实验报告.pdf_第2页
第2页 / 共15页
图书管理系统实验报告.pdf_第3页
第3页 / 共15页
图书管理系统实验报告.pdf_第4页
第4页 / 共15页
图书管理系统实验报告.pdf_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《图书管理系统实验报告.pdf》由会员分享,可在线阅读,更多相关《图书管理系统实验报告.pdf(15页珍藏版)》请在三一文库上搜索。

1、. . 姓名成绩 学号年级、班 安阳师范学院计算机与信息工程学院 期末作品报告书 指导教师: 题目:图书管理系统 . . 一、试验目的、试验环境、设计思路: 1. 实验目的: 计算机网络的发展为人们打开了一种新的视野,促成了一个新领域新产业 的产生。网络的发展试图用一种全新的概念冲击各个传统的商业模式,改变人们 的生活方式。新的需求产生了,人们想通过网络进行个人通信、媒体传播、商业 运作、办公、教学等。总之网络技术的发展促进了社会经济结构的变革。反之, 社会经济对网络发展提出的新的需求又大大的促进了网络的发展,计算机网络及 其所涉及的一系列技术成为计算机领域新的研究热点。 在计算机日益普及的今

2、天,对个人而言若采用一套行之有效的图书管理系 统来管理自己的书籍, 会方便许多。 对图书管理部门而言, 以前单一的手工检索 已不能满足人们的要求, 为了便于图书资料的管理需要有效的图书管理软件。而 采用功能强大的数据库软件开发工具进行图书管理软件开发,具有很好的可移植 性,可在应用范围较广的WINDOWS系列等操作系统上使用。 除此以外, 图书馆管 理系统已成为方便了广大师生、学校与外界之间的沟通架起了一座桥梁。 2. 实验环境: 操作系统: Windows XP 以上 实验工具: Visual C+6.0 数据库: SQL Server 2005 3. 设计思路: 1. 系统登录 对登录系统

3、的人进行身份的验证,增强系统的安全性,有效防止了数据的 丢失。 2. 图书信息管理 对图书信息中的书籍名称、助记码、条形码、作者等信息的添加、修改、 删除等功能的实现。 3. 操作员信息管理 对操作员名称、密码、等级等信息的添加、修改、删除等功能的实现。 4. 图书销售管理 能有效的了解书籍的详细信息,并将原来的价格和打完折的价格反映给购 书者,节省了购书的时间,方便了顾客。 5. 关于系统 对系统进行大致的说明,方便了用户的使用。 . . 二、功能模块及结构描述(函数功能和数据结构类型的定义。 ) 1. 系统登录模块 对登录系统的人进行身份的验证,增强系统的安全性,有效防止了数据的 丢失。

4、2. 图书信息模块 对图书信息中的书籍名称、助记码、条形码、作者等信息的添加、修改、 删除等功能的实现。 3. 操作员信息模块 对操作员名称、密码、等级等信息的添加、修改、删除等功能的实现。 . . 4. 图书销售模块 能有效的了解书籍的详细信息,并将原来的价格和打完折的价格反映给购 书者,节省了购书的时间,方便了顾客。 5. 关于系统 对系统进行大致的说明,方便了用户的使用。 三、流程描述 : (函数流程图) 图书管理系统 图 书 信 息 管 理 操 作 员 信 息 管 理 图 书 销 售 管 理 信 息 添 加 信 息 删 除 信 息 添 加 信 息 删 除 图 书 折 扣 图 书 应 付

5、 金 额 图 书 实 付 金 额 图 书 数 量 图 书 增 加 登录界面 信 息 修 改 信 息 修 改 . . 验证 添加功能流程图 查询功能流程图 进入信息添加 输入信息 输入不合理 添加记录 添加成功到修改 生成查询命令 查询数据库 显示结果列表 退出 查询页面 查询 . . 四、源代码: 1. 登录验证信息代码 void SysReg:OnBUTTONConfirm() / TODO: Add your control notification handler code here CString c_user,c_password; m_username1.GetWindowText

6、(c_user); m_password1.GetWindowText(c_password); if (c_user.IsEmpty() | c_password.IsEmpty() MessageBox(“ 用户名称或密码不能为空“, “用户登录信息 “); return; CString sql; sql.Format(“select * from tb_operator where name = %s and password = %s“,c_user,c_password); m_pRs-raw_Close(); m_pRs-Open(_variant_t)sql,m_pCon.Ge

7、tInterfacePtr(),adOpenKeyset,adLockOptimistic,adCm dText); if (m_pRs-RecordCount0) Flag = true; username = m_pRs-GetCollect(“name“).bstrVal; password = m_pRs-GetCollect(“password“).bstrVal; /PostMessage(WM_CLOSE,0,0); . . /EndDialog(0); BookManMenu dlg; dlg.DoModal(); else username = “; password = “

8、; MessageBox(“ 用户名或密码不正确.“,“提示 “,64); return; EndDialog(0); / CDialog:OnCancel(); 2. 添加信息代码 void OperatorDlg:OnAdd() / TODO: Add your control notification handler code here if (!InfoIsNull() CString c_operator,c_password,c_level; m_opename1.GetWindowText(c_operator); m_opepwd1.GetWindowText(c_passwo

9、rd); m_level.GetWindowText(c_level); int level= atoi(c_level); CString sql; sql.Format(“insert into tb_operator values (%s,%s,%d)“,c_operator,c_password,level); . . if (m_pRs-State =adStateOpen) m_pRs-raw_Close(); try m_pRs-Open(_bstr_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCm

10、dTe xt); LoadOperatorInfo(); ClearInterface(); MessageBox(“ 操作成功 .“,“提示 “,MB_OK); catch(_com_error) MessageBox(“ 操作失败 .“,“提示 “,MB_OK|MB_ICONERROR); else MessageBox(“ 基础信息不能为空.“,“提示 “,MB_OK+MB_ICONINFORMATION); 3. 修改信息代码 void OperatorDlg:OnChangeope() / TODO: Add your control notification handler cod

11、e here if (!InfoIsNull() if (m_list.GetSelectionMark()!=-1) if (MessageBox(“确实要修改数据吗?“,“ 提示 “,MB_YESNO|MB_ICONINFORMATION)=IDYES) . . CString c_operator,c_password,c_level; m_opename1.GetWindowText(c_operator); m_opepwd1.GetWindowText(c_password); m_level.GetWindowText(c_level); int level= atoi(c_le

12、vel); int i = m_list.GetSelectionMark(); CString c_name = m_list.GetItemText(i,0); CString sql; sql.Format(“update tb_operator set name = %s,password = %s,level = %d where name = %s“,c_operator,c_password,level,c_name); m_pRs-raw_Close(); try m_pRs-Open(_variant_t)sql,m_pCon.GetInterfacePtr(),adOpen

13、Keyset,adLockOptimistic,adCm dText); ClearInterface(); LoadOperatorInfo(); MessageBox(“ 操作成功 .“,“提示 “,64); catch(.) MessageBox(“ 操作失败 .“,“提示 “,MB_OK|MB_ICONERROR); else MessageBox(“ 请选择欲修改的信息.“,“提示 “,MB_OK|MB_ICONINFORMATION); . . else MessageBox(“ 基础信息不完整 .“,“提示 “,MB_OK|MB_ICONINFORMATION); 4. 删除信息

14、代码 void OperatorDlg:OnDelope() / TODO: Add your control notification handler code here if (m_list.GetSelectionMark()!=-1) if (MessageBox(“确实要删除数据吗?“,“ 提示 “,MB_YESNO|MB_ICONINFORMATION)=IDYES) int i = m_list.GetSelectionMark(); CString c_name = m_list.GetItemText(i,0); CString sql; sql.Format(“delete

15、 tb_operator where name= %s“,c_name); m_pRs-raw_Close(); try m_pRs-Open(_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCm dText); ClearInterface(); LoadOperatorInfo(); MessageBox(“操作成功 .“,“提示 “,64); catch(.) MessageBox(“操作失败 .“,“提示 “,MB_OK|MB_ICONERROR); . . else MessageBox(

16、“ 请选择欲删除的信息.“,“提示 “,MB_OK|MB_ICONINFORMATION); 5. 图片显示代码 void BookManDlg:OnPaint() CPaintDC dc(this); / device context for painting CRect rect; GetClientRect( CDC dcMem; dcMem.CreateCompatibleDC( CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP1); /IDB_BITMAP是自己的图对应的ID BITMAP bitmap; bmpBa

17、ckground.GetBitmap( CBitmap *pbmpOld=dcMem.SelectObject( dc.StretchBlt(0,0,rect.Width(),rect.Height(), / TODO: Add your message handler code here / Do not call CDialog:OnPaint() for painting messages . . 五、 使用说明: 1. 系统登录 2. 图书管理系统界面 . . 3. 图书信息管理 4. 操作员信息管理 . . 5. 图书销售管理 六、 问题及解决方法 问题: 在作品编写中遇到了很多的困

18、难,比如:动态链接库无法链接, 数据库中的 信息无法映射进 MFC 界面中,还有使用时的类之间和界面之间的调用等等。 解决方法: 通过在书本上参考有关的程序的代码,在网上查阅相关的资料及和别的同学 通过不断的讨论来解决问题。 七、 总结: 在这次的期末作品编写中,我认识到后台数据库在整个系统设计中的 支撑作用。它是整个系统实现的保证,因此,数据库的设计关乎整个系统 的成败。设计之前的需求分析更是必不可少,保证数据的真实可靠也是数 据库之中很重要的一部分,它是保证系统正确性的前提。针对计算机硬件 结构提前做好物理结构的分析,尽量让其占少量的存储空间,提高空间利 用率,还应进行逻辑概念分析,尽量避免纪录的重复,不需要建表的时候 可以利用视图提取所需信息查看。属于同一个数据库的每张表都不是独立 存在的,表与表之间必然存在某种联系,分析时应格外注意这个问题,这 样才能使得整个系统联系更加密切,从而使系统更加完善,功能更加齐全。 . .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1