




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 VC 的可视化编程入门 冯耀霖 2 本课程简要介绍Windows应用程序的形式和在VC 集成开发环境下使用MFC编写Windows应用程序的基本方法 以使同学们对面向对象的可视化 Visual 程序设计建立一个初步的概念并掌握一些基本方法 为深入学习和使用VC 和其他可视化编程工具打下基础 3 主题 可视化编程概述 使用MFC进行可视化编程 常用控件及其应用 菜单设计 4 1可视化编程概述 可视化编程的基本特点 可视化编程方法 窗口 5 1 1可视化编程的基本特点 可视化 Visual 编程有三个基本特点 可视化的图形用户界面设计 使用面向对象方法编程 采用事件驱动的程序运行方式 6 1 可视化的图形用户界面设计 我们已经相当熟悉以下小程序 例1 1 includeusingnamespacestd intmain cout VC 是功能强大的编程工具 endl cout VC 是面向对象的编程工具 endl cout VC 是可视化的编程工具 endl return0 7 例1 2 includeusingnamespacestd intmain doubler cout r cout 圆周长 2 3 1416 r endl cout 圆面积 3 1416 r r endl return0 这是基于控制台的文本用户界面应用程序 运行这种程序之后 屏幕出现MS DOS窗口 并且按照程序代码的流程执行 用户输入数据后即显示执行结果 8 9 进行可视化编程 同样可以写出相同功能的程序 程序运行出现如图1和图2所示的窗口 图1中的窗口称为文档窗口 图2中的窗口称为对话框 显然 它们比MS DOS的文本用户界面更为友好且方便 这种界面称为图形用户界面 GUI GraphicalUserInterface 在非可视化环境下 图形用户界面的设计都需通过编写程序代码来实现 且在设计过程中是看不到界面的实际显示效果的 10 VisualStudio支持可视化的图形用户界面设计 Windows应用程序的每个图形界面元素 如对话框 菜单 命令按钮 文本框等 都是可视的 即设计时在显示器屏幕上是可见的 且所见即所得 编程者可根据具体用户界面设计的要求 直接使用VS系统提供的标准工具在屏幕上 画 出各种Windows风格的图形界面元素 而不必为这些界面元素的构建设计大量代码 VS会自动生成这些界面元素的设计代码 开发人员只需为每个图形界面元素设置特定的属性值 代码编写只针对界面元素所要实现的具体功能 11 2 面向对象编程方式 由于Windows应用程序的复杂性 从图形用户界面到整个应用程序 都是采用面向对象的方法组织的 Windows中的对象可以是所有的规范部件 如窗口 菜单 工具栏 按钮 文本框 以及程序模块等 从用户的观点看 Windows应用程序有一个窗口 窗口上有若干菜单 命令按钮 图标等界面图形元素 而窗口背后是一些对应的程序 从MFC的面向对象模型看 一个Windows应用程序可以拆分成许多功能独立的对象 各自负责不同类型的工作 其最基本的构成对象可以分为两大类 程序对象和窗口对象 12 一个应用程序的执行就像一场舞台演出 应用程序对象是幕后人员 导演 剧务等 它们负责安排并指挥 演员 窗口 上场 准备和调度各种演出 资源 如菜单 工具栏 图标等 从操作系统来看 具有 法人 地位的是应用程序对象而非窗口对象 应用程序可以占有CPU时间和内存空间 还可拥有演出所需的 资源 VisualStudio系统给每个对象分配一个句柄 handle 它是一个4字节长的整数值 是对象的唯一内部编号 应用程序通过句柄访问相应的对象 每个对象除了句柄外 还有一个对象标识符ID 可看作是对象的外部名 ID与句柄的区别主要在于 ID可以是用户自行设定的 而句柄是系统内定的 对用户是透明的 这能防止应用程序直接访问对象的内部信息 13 3 事件驱动的程序运行机制 传统的文字用户界面的应用程序都有一个起点和终点 程序中的各模块 函数或对象 的控制过程和执行顺序是在编写程序时精心设置好的 是预知的 确定的 整个程序的运行过程是明确的 这种程序运行机制称为过程驱动 可视化应用程序则采用的是事件驱动的程序运行机制 事件发出消息 消息激活对象 即应用程序的运行没有严格的起点和终点以及固定的流程 各对象之间没有规定的执行顺序 即程序的运行过程是不明确的 而是由事件及其消息控制着对象的激活和程序的运行过程 对象通常处于循环休眠状态 当发生了某个事件并有相应消息传递给对象 才会按照消息的指示执行程序代码 一次消息的处理工作完毕后又恢复休眠状态以等待下一个事件的发生及其消息的到来 14 事件 event 是什么 事件的含义很广泛 简单地说 事件就是激活对象执行程序代码的一种动作 在Windows的操作环境中 无论系统产生的动作还是运行程序时用户产生的动作都称为事件 最常见的用户事件是鼠标事件和键盘事件 实际上 任何一个拥有设备驱动程序的系统输入设备 包括端口 都可以产生各种事件 发送自己的消息 消息 message 是VisualStudio定义 WinUser h头文件 的一种特殊的数据结构 MSG 它打包了 事件 发生的相关信息 例如 消息接收者的句柄 事件的类型和来源 消息参数等 15 Windows系统有各种各样的消息 消息的传递无时不在发生 即使电脑闲置时 还会有系统时间的消息传递出来 任何一个看似十分简单的动作都会引发窗口之间许多消息的交换 在VisualC 中 什么对象可以产生或接收什么事件 是由MFC规定的 例如 命令按钮有鼠标单击 BN CLICKED 和双击 BN DOUBLECLICKED 事件 文本编辑框有改变文本 EN CHANGE 接受输入焦点 EN SETFOCUS 失去输入焦点 EN KILLFOCUS 单击垂直滚动条 EN VSCROLL 等事件 16 当在对象上发生了某个事件并发出了相应的消息后 接收者对象就要响应并处理该消息 每个需要响应的消息要求对应一个处理该消息的程序 事件驱动程序 响应消息就是启动相应的事件驱动程序 VisualStudio中将响应消息的过程称为消息映射 17 1 2可视化编程方法 使用VC 进行可视化编程有两种方法 基于WindowsAPI函数的编程方法 基于MicrosoftMFC的编程方法 18 1 基于WindowsAPI函数的编程方法 API是应用程序编程接口 ApplicationProgrammingInterface 的缩写 是Windows操作系统与Windows应用程序之间的标准接口 作为Windows操作系统的组成部分 shell API提供了1000多个可供应用程序直接调用的C函数 在WindowsAPI参考手册中有详细介绍 这些函数大致可分为三类 窗口管理函数 实现窗口的创建 移动和修改功能 图形设备接口函数 实现与具体显示设备无关的图形操作 系统服务函数 实现操作系统提供的各种实用服务功能 19 使用API设计Windows应用程序 对于理解和掌握面向对象程序设计的思想和方法是相当关键的 是想成为Windows编程高手的必经之路 但它要求编程者必须熟知Windows应用程序的架构 事件驱动以及消息传递等内部机制 并且仍然必须编写大量代码 即它要求编程者具备较高的专业素质 这对初学者来说无疑是比较困难的 当然 使用API编程更具灵活性和个性化 API支持所有Windows应用程序的开发系统 如VC VB Java等 20 2 基于MicrosoftMFC的编程方法 MFC是微软基础类库 MicrosoftFoundationClass 的缩写 与API不同 MFC不是Windows操作系统的组成部分 而是微软公司专为VC 开发的配套软件包 与VC6配套的是MFC6 0 MFC充分使用了面向对象方法中的继承和多态性技术 以类的方式封装了Windows应用程序所涉及的几乎所有的标准部件 如Windows应用程序的架构 各种标准的图形界面元素 其核心是它以C 的形式封装了WindowsAPI的大部分函数 21 MFC是一个很大的类层次体系 MFC6 0中包含了200多个类 它由一个称为CObject的类作为根基类 其他类大部分从该类派生而来 其整个类体系可大致划分为 基类 应用程序框架类 包括 应用程序类 命令类 文档 视窗类 框架窗口类 文档模板类等 可视对象类 包括 窗口类 对话框类 控件类等 绘图类 包括 绘图工具类 设备描述表类等 简单数据类型类 通用类包括 数组类 类表类 映像类 文件和数据库类包括 文件I O类 ODBC类 ADO类 Internet和网络工作类包括 Win32Internet类 WindowsSocket类等 对象链接和嵌入 OLE ObjectLingkingandEmbedding 类 调试和异常类 22 事实上 MFC封装了一个Windows应用程序操作的每一方面 因此使用MFC编程 编程者可以把注意力集中于自己程序所特有的部分 不需要事事亲自动手 与直接调用API函数相比 这将大大减少编程者编写的代码数量 使编程工作变得更容易 同时 程序标准部分由MFC的类来提供 可使程序变得更规范 更具可读性 效率也更高 对编程新手来说 MFC的最大优点是它以高效简洁的方式为编程者做了所有标准部分的工作 特别是编程者可以在不需要写一行代码的情况下完成一个完整的应用程序架构 约需千行代码 MFC中包含了成千上万行功能强大的 经过优化的Windows程序代码 编程者只要定义了某个MFC类的对象 就可以调用该类的成员函数 轻轻松松完成本该由你自己一行行编写的程序代码 从这点上说 MFC极大地降低了程序开发难度 23 1 3窗口 窗口是Windows图形用户界面的最基本和最重要的部件 每一个Windows程序至少有一个窗口 故Windows图形用户界面也称窗口界面 24 1 框架窗口 框架窗口是应用程序的主窗口 负责管理其包容的其他窗口 一个应用程序的最顶层的框架窗口是应用程序启动时创建的第一个窗口 MFC提供了由基类CWnd 窗口类 派生的4个框架窗口类 CFrameWndCMDIFrameWndCMDIChildWndCdialog用于支持三种标准框架窗口 25 单文档 Singledocument 窗口由CframeWnd类支持 文档窗口主要由边框 标题栏 菜单栏 工具栏 编辑区等组成 多文档 Multipledocuments MDI 窗口由多个文档窗口组成 其中第一个打开的是主框架窗口 由CMDIFrameWnd类支持 其他为子框架窗口 由CMDIChildWnd类支持 子框架窗口没有菜单栏和工具栏 它们共享主窗口的菜单栏和工具栏 对话框 Dialog 对话框是一种特殊类型的窗口 它没有菜单栏和工具栏 且一般不能改变窗口的大小 对话框由Cdialog类支持 26 2 对话框与控件 对话框是应用程序用于显示或提示 并且等待用户输入信息的弹出式窗口 对对话框的操作一般是通过在对话框上添加控件来实现的 对话框与控件密不可分 在每个对话框内都有一些控件 对话框依靠这些控件与用户交互 可以说 对话框是Windows应用程序中最重要的用户界面元素 是应用程序与用户进行交互的主要部件 控件VisualStudio把主要设置在对话框上的一些标准的图形界面元素定义为控件 Control 如文本框 列表框 命令按钮 复选框等 它们中的大多数可以捕获事件并向对话框发送消息 控件实际上也都是窗口 所有的控件类都是CWnd类的派生类 控件通常是作为对话框的子窗口而创建的 Over 27 2使用MFC进行可视化编程 建立项目架构 设计图形用户界面 设计对象的事件驱动程序 编写相关代码 项目的编译 链接和运行 28 VisualStudio把开发一个应用程序的过程称之为 项目 Project 很多人把它翻译成 工程 开发一个Windows应用程序的项目远比开发一个控制台应用程序项目要复杂得多 工作量也要浩大得多 好在VisualStudio提供了一组强大的MFC项目的开发工具 开发一个MFC项目通常有四个步骤 Step 1建立项目架构Step 2设计图形用户界面Step 3设计对象的事件驱动程序Step 4项目的编译 链接和运行下面结合一个简单的编程实例 Case1 计算圆的周长和面积 来介绍这四个步骤 29 2 1建立项目架构 建立项目架构 skeleton 类似于一个项目的总体设计 它需要确定项目的类型 根据项目类型创建并组织各种基本组件 包括 所有的类 一些基本对象 项目所需的必要资源等 从而为项目搭建起一个完整的架构 30 所谓项目类型 是以项目采用什么框架窗口作为主窗口来界定的 MFC支持三种标准项目类型 单文档 Singledocument 项目以单文档窗口作为项目主窗口 多文档 Multipledocuments 项目以多文档窗口作为项目的主窗口 对话框 Dialogbased 项目以对话框作为项目主窗口 这是最紧凑 最简单的一种标准项目架构 31 VC 为用户建立项目架构提供了一个强大的工具 MFCAppWizard MFC应用程序向导 本实例采用的是对话框架构 32 操作步骤 1 选择VC6主窗口菜单栏中的 文件 新建 菜单项 弹出一个如图3所示的 新建 对话框 2 在对话框中选择 项目 project 选项卡 选择MFCAppWizard exe 项 在对话框右部输入项目的路径和项目名 然后单击 确定 按钮 VC 以文件夹方式管理项目 如图3所示 case1是D CPPMFC PRJ 下的一个文件夹 该项目的各种文件都将存放在这个文件夹中 3 在系统弹出如图4所示的 MFC应用程序向导 步骤1 对话框中进行项目类型选择 先选择单选按钮 Dialogbased 对话框项目 再单击 下一个 按钮 33 4 依次选择系统弹出的图5至图7 步骤2至步骤4 中对话框的选项 用户可以先全部采用默认选择 然后在编程过程中再按需要修改 单击图7中的 完成 按钮 或者在出现其中任一个对话框时单击 完成 按钮 表示默认其他选项 系统就不再弹出其他对话框 5 系统弹出如图8所示的 新建项目信息 对话框 其中列出前面所做的选择内容 单击 确定 按钮 至此 项目架构创建完成 系统回到VC6的集成开发环境 如图9所示 从该窗口的左窗格的各选项卡中可以观察到MFCAppWizard为一个对话框项目的架构创建的所有组件 34 CCase1Dlg等三个类其中最主要的是CCase1Dlg类 项目case1的对话框类 它由Cdialog类派生 35 case1Dlg h等四个头文件case1Dlg h是最主要的一个头文件 它包含了CCase1Dlg类的声明 36 case1Dlg cpp等四个C 源程序文件case1Dlg cpp是CCase1Dlg类的实现 它不仅是最重要的源程序文件 而且是整个项目的核心 用户的编程工作主要是在这个文件上完成 它将包含实现具体应用功能的全部代码 case1 cpp是项目的启动程序 类似于非Windows应用程序中的main函数 37 另外 MFCAppWizard为项目生成了一个对话框窗体 一个项目图标 项目版本等资源 38 至此 虽然一行代码都没有编写 但这个应用程序架构是可以运行的程序 进行编译链接后 其运行结果如图10所示 以这种方式建立的应用程序 其主窗口即是对话框 图10 对话框项目架构的运行结果 39 2 2设计图形用户界面 设计工具与设计方案 操作步骤 40 1 设计工具和设计方案 在完成了对话框项目架构的创建后 VC6窗口上弹出了MFC的对话框编辑器 图11 对话框编辑器主要用于创建 编辑对话框窗口 向对话框窗体上添加控件和调整布局 对话框编辑器主要包括如下组件 对话框窗体 控件箱 调整 布局 工具栏以及对话框和控件的属性对话框 对话框窗体是MFC给每个工程默认生成的一个图形资源 它是CCase1Dlg类的图形化 所谓窗体即窗口毛坯 是还未完全成形的初始窗口 它如同一块 画布 在它上面可以画上各种控件来构成项目所需的实际窗口 窗体的标题栏上显示的是本项目的名字 窗体上可设置网格 用于安排控件的位置和大小 在程序运行时 网格会自动消失 41 控件箱 MFC设计有20多个标准控件类 每个控件类就是制作控件的工具 控件工具箱 简称控件箱 图12 是存放控件类的容器 这些控件类都以图标式按钮表示 开发人员可利用控件箱在对话框上创建各种所需的控件 将控件箱中的控件工具复制到对话框窗体中 即在对话框中创建了相应的控件对象 这可通过可视化操作实现 方法1 用鼠标按住控件箱上所选中的控件图标 拖到对话框中合适的位置 或 方法2 先单击控件箱上所选中的控件图标 然后移动鼠标到对话框中合适的位置 复制到对话框上的控件 可以移动 复制 调整或删除 也可拖动鼠标缩放控件的大小 42 对于本实例 可在对话框上建立如下控件 1个编辑框 用于用户输入半径值 5个静态文本框 静态文本框只能显示文本而不能输入文本 其中 2个静态文本框分别用于显示圆周长和圆面积 其余3个静态文本框分别用于对上述三个文本框进行文字说明 2个命令按钮 确定 和 退出 前者用于确定输入值 计算圆周长和圆面积 然后把结果显示在对应的输出框上 后者用于结束程序的执行 效果如图2 43 2 操作步骤 1 设置主窗口的属性值 单击对话框窗体 使其成为当前窗口 周围出现8个小方块 从VC6窗口的菜单栏上的 查看 菜单中选择 属性 选项 或者用鼠标右击窗体 从弹出的快捷菜单中选择 属性 都将弹出图13所示的 对话框属性 对话框 在 常规 General 选项卡下 该对话框对象的ID默认为 IDD CASE1 DIALOG将标题值设置为 计算圆周长和圆面积单击 字体 按钮 进行字体属性的设置其余属性采用默认值 关闭属性对话框 上述设置在CCase1Dlg类的代码中立即被反映 44 2 添加编辑框控件 用鼠标把控件工具箱上的编辑框拖到对话框窗体的合适位置 就建立了一个编辑框控件 用鼠标右击该编辑框 从弹出的快捷菜单中选择 属性 弹出如图14所示的编辑框属性对话框 该编辑框对象的ID默认为 IDC EDIT1在 样式 Styles 选项卡中设置相关属性值为 靠左 Left 和 垂直居中 Center 其余属性采用默认值 关闭属性对话框 45 3 添加静态文本框控件 用鼠标把控件工具箱上的静态文本框拖到对话框窗体的合适位置 就建立了一个静态文本框控件 用同样的操作 或复制 建立其他四个静态文本框 用鼠标右击静态文本框 从弹出的快捷菜单中选择 属性 弹出如图15所示的静态文本框属性对话框 可对这5个静态文本框的属性值设置如下 ID标题其他属性 IDC STATIC1输入半径 居中 垂直居中IDC STATIC2圆周长居中 垂直居中IDC STATIC3圆面积居中 垂直居中IDC STATIC4默认靠左 垂直居中 ClientedgeIDC STATIC5默认靠左 垂直居中 Clientedge 其中 IDC STATIC4 5作为结果输出框 分别显示圆周长和圆面积 IDC STATIC1 3分别作为输入框和输出框的文字说明 46 4 建立命令按钮控件 建立2个命令按钮 它们的属性值设置如下 ID标题 IDC BUTTON1确定IDC BUTTON2退出 至此 控件在窗体上 摆放 完毕 可以用鼠标调整它们的大小和位置 也可以用调整工具栏调整控件之间的对齐方式 分布 大小规格 以及测试效果 设计好的图形用户界面如图16所示 47 2 3设计对象的事件驱动程序 设计的工作和方法 设计工具与设计方案 操作步骤 48 1 设计的工作和方法 对象的事件驱动程序在VC 中称为消息处理成员函数 对于对话框工程 作为工程的主界面 对话框对象需要响应并处理所有的控件消息 设计对话框的消息处理成员函数的工作主要包括 确定各个控件要传递的数据 确定对象的消息映射 即接收什么消息 建立什么消息处理函数 在消息处理函数的函数体内添加代码 49 在实际应用中 读取或更新控件上的数据是对话框的非常重要的工作 MFC为此提供了一套标准方法 DDX DataExchange 数据交换 和DDV DataValidation 数据校验 技术 DDX通过成员变量 membervariable 的方式实现对话框与控件之间的数据传递 如果要在对话框的消息处理函数中访问控件上的数据 就必须先在对话框类 CCase1Dlg类 中分别为这些控件添加 声明 一个成员变量 每一个成员变量绑定一个控件 在消息处理函数中是通过成员变量访问控件的 50 成员变量是对话框的public数据成员 有两类成员变量 Value类成员变量 表示该变量的值为控件的数据 Control类成员变量 表示该成员变量就代表控件本身 即它是控件的一个对象 其值实际上就是控件的句柄 DDV用于数据的校验 例如自动校验字符串的长度和取值范围 51 使用MFCDDX DDV的流程是 首先定义用于接收控件数据的成员变量 例如 为编辑框IDC EDIT1定义一个Value类的double型的成员变量 用于接收用户输入的半径值 定义变量的同时可以设定数据取值范围 提供校验 然后 在对应的消息处理成员函数中调用MFC函数传递数据 最简单的相关MFC函数有 UpdateData 更新成员变量 将控件上的数据传递给成员变量UpdateData FALSE 更新控件 将成员变量的值传递给控件 52 2 设计工具和设计方案 完成上述工作可使用VC 提供的一个强大工具 MFCClassWizard 类向导 它主要是用来管理项目中的对象和消息及其消息处理函数的 是MFC编程必不可少的重要工具 53 对于本实例 可设计如下成员变量和消息处理函数 为编辑框IDC EDIT1定义一个double型的成员变量m r 用于接收用户在编辑框中输入的半径值 为静态文本框IDC STATIC4和IDC STATIC5分别定义一个Cstring型成员变量m girth和m area用于向静态文本框传递计算结果 静态文本框只能处理Cstring 字符串 型数据 注意 成员变量名的前缀 m 是MFC的风格 MFC也有自己的数据类型 不过与C 很相似 容易理解 为 确定 按钮建立一个 单击 BN CLICKED 消息处理函数 用于计算圆周长和圆面积 并显示计算结果 为 退出 按钮建立一个 单击 消息处理函数 用于结束程序的运行 建立一个对话框的初始化函数 对成员变量m r m girth m area进行初始化 54 2 操作步骤 1 添加成员变量 打开 MFCClassWizard 类向导 对话框 如图17所示 方法可以是 从VC6窗口的菜单栏上的 查看 菜单中选择 建立类向导 选项 或者用鼠标右击窗体 从弹出的快捷菜单中选择 建立类向导 或者按快捷键Ctrl W 选择 MemberVariables 成员变量 选项卡 从 ControlIDs 控件ID 列表框中 可以看到已经建立的各控件对象的ID 为编辑框添加成员变量 选择IDC EDIT1 单击右边的 AddVariable 添加变量 按钮 弹出如图18所示的 添加成员变量 对话框 55 在第一个文本框 Membervariablename 中输入成员变量名 如m r 在第二个下拉框 Category 中选择成员变量的种类 Value 在第三个下拉框 VariableType 中选择成员变量的数据类型 double 单击OK按钮 回到 MemberVariables 选项卡 设置变量m r的取值范围 如最小值为0 最大值为1000 0 用同样的方法为静态文本框IDC STATIC4和IDC STATIC5添加Cstring型成员变量m girth和m area 最大字符个数为10 图19 56 2 编写消息处理成员函数 主窗口的初始化函数 切换到类向导的 MessageMap 消息映射 选项卡 如图20所示 在 ObjectIDs 对象名 列表框中选择主窗口的对象名CCase1Dlg 在 Messages 消息 列表框中选择消息WM INITDIALOG 此时在 Memberfunctions 成员函数 列表框中会自动指出相应的MFC已定义的虚函数OnInitDialog 主窗口对象是由MFC默认生成的 57 单击 EditCode 编辑代码 按钮 弹出Case1Dlg cpp文件的编辑窗口 并显示OnInitDialog 函数的代码清单 找到注释提示处 TODO Addextrainitializationhere 在此下边添加你初始化的代码 对于本实例 可添加如下代码 m r 0 0 m girth m area 0 000 UpdateData FALSE 将数据传给控件并显示 58 BOOLCCase1Dlg OnInitDialog CDialog OnInitDialog TODO Addextrainitializationherem r 0 0 m girth m area 0 000 UpdateData FALSE 将数据传给控件并显示returnTRUE returnTRUEunlessyousetthefocustoacontrol 59 确定 按钮的消息处理函数类似上述方法 在 ObjectIDs 列表框中选择IDC BUTTON1 在 Messages 列表框中选择消息BN CLICKED 单击 AddFunction 添加函数 按钮 此时在 Memberfunctions 列表框中会出现一个新的函数名OnButton1 表示系统为该对话框生成了一个新成员函数 图21 单击 EditCode 编辑代码 按钮 弹出Case1Dlg cpp文件的编辑窗口 并显示OnButton1 函数的代码清单 找到注释提示处 TODO Addyourcontrolnotificationhandlercodehere 在此下边添加控件消息的处理代码 60 对于本实例 可添加如下代码 UpdateData 将编辑框的数据传递给成员变量doublegirth 2 3 1416 m r 计算圆周长doublearea 3 1416 m r m r 计算圆面积m girth Format 10 3f girth 按格式写入成员变量m area Format 10 3f area Up
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC/IEEE 8802-1DC:2025 EN Telecommunications and exchange between information technology systems - Requirements for local and metropolitan area networks - Part 1DC: Qual
- 【正版授权】 IEC TS 62257-301:2025 EN Renewable energy off-grid systems - Part 301: Generators - Integration of solar with other forms of power generation within hybrid power systems
- 初中数学相交线第1课时++相交线(教学课件)数学苏科版2024七年级上册
- 人教版八年级英语上册期末测试试卷-含答案03
- 人教版八年级英语上册单元同步知识点与语法训练 unit6 section B
- 儿童生长发育全阶段特点与指南
- 人教版八年级英语上册Unit9标准检测卷(含答案)
- 新解读《GB-T 2383-2014粉状染料 筛分细度的测定》
- 图文转换-2026年高三语文一轮复习专项训练解析版
- 完形填空暑假提升练 (15空) 含答案-2025年新高一英语暑假专项提升(译林版)
- 卡丁车俱乐部管理制度
- 代理记账财务会计管理制度范文
- T/CHC 1001-2019植物源高有机硒食品原料
- 青岛租房合同协议书下载
- 企业内部培训合格证明书(5篇)
- 医疗设备采购项目实施进度计划
- 国内安全保卫学课件
- 高校干部面试试题及答案
- 农村宅基地审批培训课件
- 教科版科学小学科学三年级上册:全册 教案教学设计(新教材)
- 船员四小证Z01基本安全理论考试题及答案
评论
0/150
提交评论