C++程序设计 教学课件 ppt 作者 任化敏 chapter13-项目实例

上传人:E**** 文档编号:89422805 上传时间:2019-05-25 格式:PPT 页数:43 大小:585KB
返回 下载 相关 举报
C++程序设计 教学课件 ppt 作者 任化敏 chapter13-项目实例_第1页
第1页 / 共43页
C++程序设计 教学课件 ppt 作者 任化敏 chapter13-项目实例_第2页
第2页 / 共43页
C++程序设计 教学课件 ppt 作者 任化敏 chapter13-项目实例_第3页
第3页 / 共43页
C++程序设计 教学课件 ppt 作者 任化敏 chapter13-项目实例_第4页
第4页 / 共43页
C++程序设计 教学课件 ppt 作者 任化敏 chapter13-项目实例_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《C++程序设计 教学课件 ppt 作者 任化敏 chapter13-项目实例》由会员分享,可在线阅读,更多相关《C++程序设计 教学课件 ppt 作者 任化敏 chapter13-项目实例(43页珍藏版)》请在金锄头文库上搜索。

1、C+程序设计 第三部分:案例开发,第十三章 项目实例,第十三章 项目实例,Visual Studio开发环境简介 核心功能与原型设计 MFC 建立数据库连接 设计友好的用户界面 程序功能分析,13.1 Visual Studio开发环境简介,Visual C+是Microsoft对C+的一个特定的实现,里面添加了Microsoft特有的语言扩展。第一个版本问世于20世纪90年代初,经过十多年的发展,已经推出了Visual C+的多个版本,最新版本为Visual C+.NET。Visual C+是一种可视化程序语言,开发者可使用Visual Studio.NET这种图形化开发工具来创建应用程序。

2、,Visual Studio是一套完整的开发工具,可以用于生成 ASP.NET Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic、Visual C# 和 Visual C+ 都使用相同的集成开发环境 (Integrated Development Environment,IDE),这样就能够进行工具共享,并能够轻松地创建混合语言解决方案。此外,这些语言均使用了.NET 框架提供的功能。.NET 框架在Visual C+2005以及微软公司所有其他.NET开发产品中都是核心概念,它提供了可简化 ASP Web 应用程序和 XML Web s

3、ervices 开发的关键技术。,.NET由两个要素组成:CLR(Common Language Runtime,公共语言运行库)和一组名为.NET 框架类库的程序。用户应用程序是在CLR中执行的;.NET 框架类库提供了用户代码在CLR中执行时所需的功能支持,这种功能支持与所用的编程语言无关。因此,用C+,C#或任何其他支持.NET 框架的语言编写的.NET程序,都使用相同的.NET程序库。,“项目”是一些相互关联的源文件的集合,这些源文件经过编译、连接,然后被组合在一起形成可执行的Windows应用程序或者DLL。 每个项目的源文件一般被存储在一个单独的子目录中,但它也需要依赖于该子目录之

4、外的许多文件,比如包含文件、库文件等。在项目中,一个扩展名为VCPROJ的文本格式文件维护着该项目各部分之间的依赖关系,一个独立的方案文件针对该方案中的每一个项目都有一个入口项,该方案文件的扩展名为SLN。方案文件将项目、项目条目以及方案条目组织到一个单独的方案中,方案文件引用了它们在磁盘上的位置信息,并将这些信息提供给开发环境。,13.2 核心功能与原型设计,需求分析 分析得出期望应用程序满足的所有需求 总体设计 确定应用程序的输入及输出的格式,详细描述有关应用程序运行的所有规范 详细设计 对应用程序要使用的各个模块的详细设计 编码与测试 构建应用程序,并对应用程序的功能进行测试,13.2.

5、1 核心功能分析,图13-1 学生信息管理系统的功能模块图,13.2.2 原型设计,13.2.3 原型分析,原型系统完成后,需要来分析程序这样设计能否满足实际的需求,13.3 MFC,MFC(Microsoft Foundation Classes)是由微软公司编写的一套专门用于Windows编程的基础类库,借助AppWizard可以创建非常灵活的应用程序框架,使开发者摆脱那些每次都必须写的基本代码。与其他所有的Windows应用程序一样,使用MFC的应用程序中也要处理Windows消息,但是在MFC中消息处理更加容易,封装的更好,也更容易进行维护。,13.3.1 MFC简介,文档 文档是给予

6、应用程序中与用户交互的数据集合的名称,程序中的文档是作为文档类的对象定义的 文档类派生自MFC库中的CDocument类,需要添加数据成员来存储应用程序需要的数据,还需要添加成员函数来支持对数据的处理 可以选择让程序每次处理一个文档还是多个文档 MFC库支持的单文档界面简称为SDI,用于每次只需要打开一个文档的程序 而对于需要一次打开多个文档的程序来说,可以使用多文档界面,简称为MDI,视图 视图总是与特定的文档对象相关 文档包含程序中的一组应用程序,而视图对象可以提供一种机制来显示文档中存储的部分或者全部数据 视图定义了在窗口中显示数据的方式以及与用户交互的方式 文档对象可以拥有任意多个与其

7、相关的视图对象,各个视图对象可以提供文档数据或文档数据子集的不同表示方法,文档模板 MFC提供了使文档与视图结合、各个框架窗口与当前活动视图结合的机制 MFC中的文档模板负责着文档、视图和框架类窗口之间的协作 文档模板还管理与文档相关的窗口和视图 应用程序中每种文档类型都需要一个文档模板,如果有两个或多个相同类型的文档,则可以通过一个文档模板来进行管理 文档模板对象创建文档对象和框架窗口类对象,而文档的视图是由框架窗口对象创建的,13.3.2 文件结构,应用程序类:CMyAppApp 框架窗口类:CMainFrame 视图类:CMyAppView,该类定义如何在框架窗口类创建的窗口区中显示文档

8、类对象包含的数据 文档类CMyAppDoc,该类定义包含应用程序数据的文档,图13-13 应用程序各类的继承关系图,CObject是MFC类库的根类,它几乎描述了所有MFC类的一些公共特性,CCmdTarget类是MFC库中所有具有消息映射属性的类的公共基类,它的子类CWinThread、CWnd、CDocument和CDocTemplate能在程序运行时动态创建对象和处理命令消息,应用程序类CWinApp封装了初始化、运行、终止应用程序的代码,文档类CDocument负责装载和维护文档,视图类CView用于管理框架窗口的客户区,CFrameWnd类是所有其他框架窗口类的基类,主要用来管理一个

9、窗口,13.4 建立数据库连接,在Visual C+中,用户可以选择使用开放数据库连接(ODBC)、数据访问对象(DAO)、OLE DB或ActiveX数据对象(ADO)方式来访问数据库,MFC中也提供了数据库类可以使用户方便地进行数据库操作。,13.4.1 ODBC简介,ODBC是Open Database Connectivity的缩写,意思为“开放数据库链接”。ODBC为不同的数据库资源提供标准的接口,一个基于ODBC的应用程序对数据库的操作不依赖任何数据库管理系统,所有的数据库操作由对应的数据库管理系统的ODBC驱动程序完成。也就是说,不论是Access还是Oracle数据库,均可用O

10、DBC API进行访问。,ODBC的组成部分 应用程序 ODBC管理器 驱动程序管理器 ODBC API ODBC 驱动程序 数据源,图13-14 ODBC的组织结构图,ODBC的数据访问方式 应用程序要访问一个数据库时,首先必须动态或者用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。,MFC的ODBC类 ODBC提供了访问数据库管理系统的统一接口,但是直接使用ODBC API创建的数据库应用程序需要编制大量的代码,MFC提供

11、的ODBC类对较复杂的ODBC API进行了封装,提供了简化的调用接口,从而方便了数据库应用程序的开发。编程人员不必了解ODBC API和SQL的具体细节,只需要利用ODBC类即能完成对数据库的大部分操作。,常用的MFC提供的ODBC类包括 CDatabase类 CRecordset类 CRecordView类 CFieldExchange类 CDBException类,13.4.2 建立数据库,表13-1 学生表的表结构,表13-2 选课表的表结构,表13-3 课程表的表结构,表13-4 教师表的表结构,图13-15 数据库各表之间的关系图,13.4.3 MFC ODBC数据库类,CData

12、base类 CDatabase类主要用于对数据库的连接,应用程序通过该连接能够访问数据源 使用CDatabase类的操作步骤如下: 构造一个Cdatabase对象 通过调用该对象的成员函数OpenEx()来打开一个连接 当用户在程序中构造CRecordset对象来处理连接的数据源时,将一个指向Cdatabase对象的指针传递给CRecordset对象 使用完毕后,调用Close()来关闭连接,并删除CDatabase对象,CRecordset类 CRecordset类主要用来与数据库进行交互 构造函数: CRecordset(CDatabase* pDatabase = NULL); Open

13、函数: virtual BOOL Open( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = none );,Close函数: 用于关闭记录集 Update函数: 调用这个函数将完成现有记录的更新或者新纪录的添加,操作失败会抛出CDBException异常 Requery函数: 用于重新刷新记录集,调用这个函数后,记录集将获得从数据源中重新获取的数据而重建记录集,所有相关的应用程序进行的修改将反映在新的记录集上,Edit函数: 调用这个函数将开始更新现有的记录。如果不能更新表

14、,函数会抛出CDBException异常,如果出现了内存不足的情况,将抛出CMemoryException异常 AddNew函数: 调用这个函数将在数据表的末尾添加一条新的记录。如果不能将新增的记录添加到表中,函数会抛出CDBException异常,Delete函数: 通过创建和执行SQL语言的Delete语句删除当前记录,执行函数后,记录集将移动到下一条记录。如果数据库是只读的,函数会抛出EDBException异常。 CancelUpdate函数: 与Update相反,本函数用于取消Edit和AddNew函数进行的更新操作,MoveFirst函数: 将当前位置移动到记录集的开始位置,即指向

15、记录集的第一条记录 MoveLast函数: 将当前位置移动到记录集的末尾位置,即指向记录集的最后一条记录 MoveNext函数: 将当前位置向后移动一个记录的位置,即指向当前记录的下一条记录,MovePrev函数: 将当前位置向前移动一个记录的位置,即指向当前记录的上一条记录 Move函数: 用于移动记录集指针到指定位置 GetRecordCount函数: 用于获得记录集中记录的数目 GetTableName函数: 用于获得记录集对应的数据库表的名称,IsBOF函数: 用于判断当前记录集指针的位置是否为起始位置 IsEOF函数: 用于判断当前记录集指针的位置是否为最后一条记录的位置,13.4.

16、4 优化程序-建立数据库连接,创建MFC的数据库应用程序需要以下三个主要步骤: 建立ODBC数据源 建立MFC包含ODBC数据源的应用程序 运行显示数据表的数据,13.5 设计友好的用户界面,13.5.1 界面,对话框 主要功能是输出信息和接受用户的输入 组成: 对话框模板资源:定义了对话框的特性,如大小、位置和风格,以及对话框中每个控件的类型和位置 对话框类:用来实现对话框的功能。由于对话框行使的功能各不相同,因此一般需要从CDialog类派生出一个新类,在派生类中管理相应的对话框,常用控件,表13-7 控件类型,表13-8 控件的共有属性,13.5.2 优化程序-设计界面,浏览数据库的数据 更新数据源,13.6 程序功能分析,系统功能列举 学生基本信息管理 当有新生到校时,启动信息管理功能,对所有的学生信息进行入库工作,随时掌握学生的基本情况变化,及时地做出更改 学生照片管理 对学生照片进行录入、修改、查询、删除操作 学籍管理 对学生的学籍变更情况进行控制和管理,课程设置管理 设置课程编号、课程名称、学分、任课教师编

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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