
MFC计算器设计实验报告.docx
18页计算机学院课程设计报告课程名称: 面向对象程序设计课程设计课程设计题目: 基于 Winform 的多功能计算器的设计与实现姓 名: 杨栋专 业: 软件工程年 级: 08 软件学 号: 200824132130指导教师: 白伟华2010 年 12 月 20 日目录1.设计目的 ...................................................32.设计要求 ...................................................33.设计方案 ...................................................3(1)计算器的用例图: ........................................3(2)计算器的类图: ..........................................6(3)计算器的顺序图: ........................................6(4)计算器协作图 ............................................7(5)计算器的状态图: ........................................7(6)计算器的活动图: ........................................8(7)计算器系统框图: ........................................84 设计内容: .................................................9(1) 创建工程: ..............................................9(2) 设计用户界面 ............................................9(3)添加代码 ...............................................115 测试结果: ................................................156 总结: ....................................................177.参考文献: ................................................171.设计目的利 用 C++语 言 , 编 写 一 个 类 似 windows XP 系 统 的 计 算 器 , 实 现 计 算器 的 基 本 功 能 , 从 而 利 用 这 次 的 设 计 , 达 到 更 加 了 解 C++语 言 , 了 解 面 向对 象 的 设 计 方 法 , 加 深 对 面 向 对 象 设 计 过 程 的 了 解 等 目 的 。
2.设计要求( 1) 利 用 面 向 对 象 的 知 识 并 参 照 Windows XP 系 统 附 件 下 的 “科 学型 计 算 器 ”设 计 开 发 一 个 多 功 能 的 计 算 器 ;( 2) 不 限 制 采 用 的 开 发 平 台 和 编 程 语 言 ;( 3) 要 求 用 UML 描 述 设 计 过 程 ;( 4) 要 求 用 系 统 /程 序 运 行 时 的 截 图 描 述 实 现 的 测 试 过 程 , 系 统 的 功 能说 明 ;( 5) 用 原 代 码 ( 加 注 释 ) 描 述 主 要 的 功 能 实 现 过 程 及 算 法 ;( 6) 提 交 纸 质 打 印 课 程 设 计 报 告 及 项 目 工 程 原 代 码 ( 所 有 人 刻 录 在 一张 光 碟 中 , 两 份 , 一 份 用 以 存 档 ) 3.设计方案(1)计算器的用例图:用户四则运算三角函数X^Y记忆功能后退功能输出 PI 值角/弧度转换开方清零操作等号1/x 功能+/-功能用 例 名 称 : 四 则 运 算 参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 主 事 件 流 :用 户 输 入 操 作 数 一 。
用 户 选 择 加 、 减 、 乘 、 除 四 则 运 算 中 的 一 种 算 法 用 户 输 入 操 作 数 二 , 计 算 出 结 果 , 作 为 下 一 次 计 算 的 操 作 数 一 后 置 条 件 : 显 示 计 算 结 果 用 例 名 称 : 三 角 函 数 参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 主 事 件 流 :用 户 输 入 操 作 数 一 选 择 所 要 操 作 的 三 角 函 数 , 计 算 出 结 果 所 得 的 结 果 作 为 下 一 次 计 算 的 操 作 数 一 后 置 条 件 : 显 示 计 算 结 果 用 例 名 称 : X^Y参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 主 事 件 流 :用 户 输 入 操 作 数 一 选 择 X^Y 功 能 用 户 输 入 操 作 数 Y, 计 算 X 的 Y 次 方 , 所 得 结 果 作 为 下 一 次 操 作 的 操作 数 一 后 置 条 件 : 显 示 计 算 结 果 用 例 名 称 : 清 零 操 作 参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 。
主 事 件 流 :把 零 赋 值 给 操 作 数 一 后 置 条 件 : 显 示 计 算 结 果 用 例 名 称 : 角 /弧 度 转 换 参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 主 事 件 流 :用 户 进 行 选 择 , 选 择 角 度 , 则 用 角 度 制 进 行 计 算 , 选 择 弧 度 , 则 用 弧 度制 进 行 计 算 后 置 条 件 : 显 示 计 算 结 果 用 例 名 称 : 等 号 功 能 参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 主 事 件 流 :选 择 等 号 功 能 , 对 进 行 的 操 作 把 结 果 在 IDC_EDIT1 中 显 示 出 来 后 置 条 件 : 显 示 计 算 结 果 主 事 件 流 : 对 操 作 数 一 进 行 操 作 , 调 用 log( ) 函 数 , 所 得 结 果 作 为 下一 次 计 算 的 操 作 数 一 后 置 条 件 : 显 示 计 算 结 果 用 例 名 称 : 输 出 PI 值 参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 。
主 事 件 流 : 判 断 PI 值 是 赋 值 给 操 作 数 一 还 是 操 作 数 二 , 判 断 后 , 进 行赋 值 后 置 条 件 : 显 示 计 算 结 果 用 例 名 称 : 后 退 功 能 参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 主 事 件 流 : 选 择 后 退 功 能 , 则 可 以 将 对 操 作 数 的 赋 值 返 回 到 上 一 个 操 作 后 置 条 件 : 显 示 计 算 结 果 用 例 名 称 : +/-功 能 参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 主 事 件 流 : 对 操 作 数 进 行 操 作 , 是 操 作 数 的 值 乘 以 -1 后 赋 值 回 给 操 作数 后 置 条 件 : 显 示 计 算 结 果 用 例 名 称 : 1/X参 与 执 行 者 : 用 户 前 置 条 件 : 计 算 器 已 开 启 主 事 件 流 : 对 操 作 数 一 进 行 操 作 , 是 之 为 操 作 数 一 分 之 1, 结 果 作 为下 一 次 操 作 的 操 作 数 一 后 置 条 件 : 显 示 计 算 结 果 。
2)计算器的类图: (3)计算器的顺序图:用户1.输入操作数一1.1 选择操作方法1.1.1 操作后得到结果将结果作为操作数一请求操作数二2.输入操作数二2.1 进行操作得到结果将结果作为操作数一用户 操作数 操作方法 结果操作数 结果操作方法计算器的顺序图(4)计算器协作图1.输入操作数一 5.计算结果用户2.输入操作方法 4.[否]请求操作数二是否直接操作3.[是]直接操作是否直接操作计算器的协作图(5)计算器的状态图:开启计算器进行操作清零关闭计算器计算器的状态图操作数操作方法结果初始化开启计算器正常状态进行正常的操作错误状态 关闭计算器(6)计算器的活动图:用户请求操作数二 直接操作.计算器的活动图(7)计算器系统框图:开启计算器输入操作数一操作方法具体操作实行操作结果作为操作数一实行操作输入操作数二显示结果计算器输入功能输入操作数记忆功能三角函数 其他功能操作显示功能四则运算操作方法角/弧度选择计算器系统框图4 设计内容:(1) 创建工程:在 visual c++6.0 中 使 用 AppWizard 的 工 程 向 导 创 建 基 于 对 话 框 的 应用 程 序 , 工 程 名 设 置 为 calculator。
2) 设计用户界面( 1) 界 面 中 有 一 个 编 辑 框 空 间 和 25 个 命 令 按 钮 , 2 个 单 选 按 钮 , 1 个分 组 框 , 一 个 编 辑 框 分 别 用 于 数 字 键 , 操 作 键 , 角 弧 度 切 换 , 联系 , 显 示 结 果 界 面 完 成 后 如 下 效 果 2) 设 置 编 辑 框 属 性 Style 选 项 卡 NUMBER(数 字 ) Read-only( 只 读 ) ,Extend 选 项 Right Aligned text.(3)为 编 辑 框 连 接 一 个 double 型 的 value 变 量 值 m_result.其 他 控 件 设 置( 4) 控 件 属 性 表控件 ID Type Member Caption编辑框 IDC_EDIT1 double m_result单选按钮 IDC_RADIO1 Int m_radio 角度单选按钮 IDC_RADIO2 弧度命令按钮 IDC_NUMBER1 1命令按钮 IDC_NUMBER2 2命令按钮 IDC_NUMBER3 3命令按钮 IDC_NUMBER4 4命令按钮 IDC_NUMBER5 5命令按钮 IDC_NUMBER6 6命令按钮 IDC_NUMBER7 7命令按钮 IDC_NUMBER8 8命令按钮 IDC_NUMBER9 9命令按钮 IDC_NUMBER10 0命令按钮 IDC_NUMBER11 +/-命令按钮 IDC_NUMBER12 back命令按钮 IDC_NUMBER13 /命令按钮 IDC_NUMBER14 *命令按钮 IDC_NUMBER15 +命令按钮 IDC_NUMBER16 -命令按钮 IDC_NUMBER17 C命令按钮 IDC_NUMBER18 Sqrt命令按钮 IDC_NUMBER19 1/x命令按钮 IDC_NUMBER20 =命令按钮 IDC_NUMBER21 sin命令按钮 IDC_NUMBER22 cos命令按钮 IDC_NUMBER23 tan命令按钮 IDC_NUMBER24 PI命令按钮 IDC_NUMBER25 X^y( 5) 最 后 效 果(3)添加代码① 在 对 话 框 的 头 文 件 CalculatorDlg.h 中 添 加 头 文 件#include。
② 为 CCalculatorDlg 类 中 添 。
