温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
网上
书店
管理
系统
网上书店管理系统
言
各种信息资源的有效管理已经成为人们获取信息的关键所在,这也将是社会资源信息化建设的重点。书是人类不可缺少的精神食粮,也是现代社会步入文明的见证。网上书店管理系统的目的是应用信息化的技术对图书进行的管理,减少大量的数据冗余和传统管理的繁琐工作量,实现管理的系统化、科学化。
系统的主要子模块有图书管理,顾客管理等,可实现日常图书进货、发货业务,最终到达提高工作效率的目的。visualc++6.0是一种功能强大行之有效的可视化编程工具,因此此软件是在visualc++6.0环境下编写的。对于我们,随着学习的深入,已经根本全部掌握了visualc++6.0环境下的程序开发。为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于visualc++6.0环境的软件开发,利用sqlserver2023作为后台的数据库,以网上书店管理系统作为开始,对visualc++6.0环境和面向对象程序设计进行回忆和熟悉。
本文档详细表达了基于visualc++6.0环境下的网上书店管理系统的设计过程以及程序源代码。
本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。
此次网上书店管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握数据库的连接、mfc的设计、类的设计和使用以及c++语法。
本文档的安排如下:
第一章主要介绍了对面向对象c++语言以及vc、sqlserver2023编程环境。第二章主要的介绍说明了本软件的编程思想和总体设计。第三章主要介绍关于软件各个功能的详细设计。
第四章主要对软件进行调试,运行程序并截图,显示运行界面。第五章对课程设计进行总结。
程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,本软件和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在
此表示感谢以及敬意。
1课程设计概述
1.1visualc++6.0概述
visualc++是微软公司的重要产品之一,是一种功能强大行之有效的可视化编程工具。(1)自动化和宏功能。
(2)可以灵活地定制工具栏和菜单。
(3)可以直接运行和调试程序,还可以使用宏语言来自动操作调试器。(4)支持internet连接。
(5)一个新的便捷的工程系统可以允许一个工作区内包含多个不同的工程类型。(6)在工作区内可以包含多个并列的工程文件。
(7)可以在对话框中使用wizardbar将程序同可视化元素联系起来。
(8)findinfile命令支持两个独立的输出窗格,可以保存上一次搜索的结果。这些新特性可以更好地利用visualc++开发工具进行windows应用程序开发。它提供了mfc类库,使用户可以方便的开发自己想实现的功能。visualc++6.0的主要特点:
1.2visualc++6.0运行环境
图1.1visualc++6.0运行环境
1.3关于数据库
数据库的创立是在sqlservermanagementstudioexpress里面用可视化的操作完成。下面用类似的方法建了四个表,分别起名为:book、customer、manager、orders,建表的同时建立约束条件。然后分别在表中输入列名等数据,分析好数据的安排后注意表之间的联系,属性相对应。
图1.2数据库建表
2软件总体设计
2.1软件总体设计思想
目前社会上信息管理系统开展飞速,越来越多的企事业单位都引入了信息管理软件来管理自己日益增长的各种信息。各种网店也相继采用了不同的管理系统来管理商品信息,取得了很大的成效,网上书店管理系统也在功能上不但完善和加强,为了使书店管理更加标准化,程序化,科学化,我们研发了这次的网上书店管理系统。
本系统的功能是为管理者提供方便的管理、为顾客提供快捷的购置,管理者可以通过管理界面实现对图书的添加、修改、删除操作以及发货和查看顾客信息,顾客可以进入图书查询界面通过图书类别、图书名称、图书编号、折扣额度等四种方式查询图书,查到满意的图书后可点击购置。
2.2系统层次图
图2.1系统层次图
2.3各表数据
1)图书信息表book。记录书籍的编号、类别、名称、价格、简介、折扣、库存数量等。
图2.2book表
2)顾客信息表customer。记录顾客的编号、密码、姓名、性别、年龄、住址、联系 等。
图2.3customer表
3)管理员信息表manager。记录管理员的名和密码。
图2.4manager表
4)订单表orders。记录订单号、图书编号、顾客编号、顾客姓名、顾客地址、联系 、付款方式、发货方式等。
图2.5orders表
2.4根本e-r图
图2.6根本e-r图
3软件详细设计
3.1数据库连接
本软件使用odbc连接数据库,根本思想为为数据库中每个表建立一个recordset类,当要对表中数据进行操作时,创立相关记录集,即可引用类中的响应函数进行添加、修改、删除、查询等操作。
3.2主界面
主界面中显示顾客、管理员和顾客注册三个按钮,顾客输入名和密码后点击顾客后进入顾客查询界面,管理员输入名和密码后点击管理员后进入管理界面,假设是新顾客,直接点击注册即可进入注册界面,各对话框之间的连接通过domodal函数实现,假设需要进行身份验证,未输入用户名或密码那么将弹出提示对话框“请输入用户名和密码。〞,输入后系统将进入相应的数据库表查询是否有此信息,假设无对应信息那么弹出对话框提示输入信息错误,信息正确方可进入下一界面,如顾客时,系统使用以下代码完成身份验证功能,同时记录下用户信息以便参加订单://生成查询用户账号和密码的sql语句
msqlstr="selectxfromcustomerwherecno='";msqlstr=msqlstr+m_no;msqlstr=msqlstr+"'andcpass='";msqlstr=msqlstr+m_password;msqlstr=msqlstr+"'";if(。customer.open(afx_db_use_default_type,msqlstr)){
afxmessagebox("customer表翻开失败。");
return;}if(。customer.isbof){
//openallfunctionforuser
m_customer_no=customer.m_cno;
m_customer_name=customer.m_cname;
m_customer_phone=customer.m_cphone;
m_customer_add=customer.m_cadd;afxmessagebox("密码正确,欢迎。");enddialog(idcancel);cgkcxa;a.domodal;}else{
}afxmessagebox("密码输入错误。。");return;3.3添加功能
本软件的添加功能使用addnew函数,应用在顾客注册、顾客购书、管理员添加新书等模块。
1)顾客注册:新顾客在主界面中点击注册后即可进入注册界面填写自己的各项信息,完成后点击确定,信息添加到customer表中,并利用触发器自动生成顾客编号作为名。相关代码如下:
setcustomerc;c.open;c.addnew;updatedata(true);if(m_name.isempty||m_phone.isempty||m_add.isempty||m_password.isempty||m_mima.isempty){
messagebox("请输入全部信息。");
return;}if(m_password。=m_mima){
messagebox("密码错误,请确认。");
return;}c.m_cpass=m_password;c.m_cname=m_name;if(m_sex==0)
c.m_csex="男";elsec.m_csex="女";c.m_cage=m_age;c.m_cphone=m_phone;
c.m_cadd=m_add;c.m_cpass=m_password;if(m_sex==0)
c.m_csex="男";elsec.m_csex="女";c.update;c.requery;m_customer_zhanghao=c.m_cno;updatedata(false);m_customer_xingming=m_name;m_customer_mima=m_password;
enddialog(idcancel);cxxqra;a.domodal;2)顾客购书:顾客在查询界面中选择想要购置的图书后点击购置可进入购置界面,选择付款方式、送货方式并确认后,相关信息添加到orders表中,并利用触发器自动生成订单号。相关代码如下:
csetordersorder;setbookbook;order.open;order.addnew;updatedata(true);if(m_zhifu==0)
order.m_opay="网银支付";elseorder.m_opay="货到付款";if(m_songhuo==0)
order.m_oconvey="快递";elseorder.m_oconvey="ems";order.m_bno=m_book_no;
order.m_cadd=m_customer_add;order.m_cname=m_customer_name;order.m_cno=m_customer_no;order.m_cphone=m_customer_phone;order.update;order.requery;m_order_no=order.m_ono;book.open;book.edit;book.m_bstock--;book.update;book.requery;
book.close;updatedata(false);
cstringtemp;temp.format("购置成功。");afxmessagebox(temp);enddialog(idcancel);cgkcxa;a.domodal;3)管理员添加新书:管理员在管理界面中输入各项信息后点击添加,图示信息即可被添加到book表中,相关代码如下:
setbooka,b;a.open;a.addnew;updatedata(true);if(m_no.isempty||m_kind.isempty||m_name.isempty||m_price.isempty||m_intro.isempty||m_dis==0||m_stock==0){messagebox("请输入全部信息。");
return;}if(b.isopen)b.close;if(m_no。=_t("")){
b.m_strfil