




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算器 I 题目 目录 1 绪论 绪论 1 2 2 系统分析系统分析 1 2 1 数据需求 1 2 2 数据需求 1 3 总体设计总体设计 1 3 1 功能模块设计 1 3 2 系统设计方案 2 4 4 详细设计详细设计 6 4 1 四则运算模块 6 4 2 小数点模块 6 4 3 数字 0 9 模块 7 4 4 开平方模块 8 4 5 取倒数模块 8 4 6 等于号模块 9 4 7 清零符号模块 10 5 调试与测试调试与测试 10 5 1 调试 10 5 2 测试 10 结束语结束语 11 参考文献参考文献 11 附录 用户手册附录 用户手册 12 计算器 1 1 绪论 绪论 计算器一般是指 电子计算器 该名词由日文传入中国 计算器能进行数 学运算的手持机器 拥有集成电路芯片 但结构简单 比现代电脑结构简单得 多 可以说是第一代的电子计算机 电脑 且功能也较弱 但较为方便与廉价 可广泛运用于商业交易中 是必备的办公用品之一 本实验通过按钮输入数字 运算符 实现整数和小数的加减乘除 开平方 取倒数等运算功能 以及必要 的错误处理 2 2 系统分析系统分析 2 1 数据需求数据需求 本实验通过按钮输入数字 运算符 通过按钮实现退格 清零功能 实现整 数和小数的加减乘除四则运算 开平方 取倒数等运算功能 以及必要的错误 处理 如在进行除零的操作 以及负数开平方操作时弹出错误窗口 2 2 数据需求数据需求 计算器主要用于商业交易中 所包含的数据有 加 减 乘 除 小数点 数字 0 9 开平方 取倒数 等于号 退格 清除符号 3 总体设计总体设计 3 1 功能模块设计功能模块设计 通过分析 整个系统根据要实现的功能可分为四则运算模块包含加号 减 号 乘号 除号四个字模块 小数点模块 数字模块 开平方模块 取倒数模 块 等于号模块 清零符号模块包含退格和清除两个子模块 功能 能够实现整数小数的四则运算 能够进行开平方 取倒数 清除操 作 计算器 2 计算器 四则运算模块 小数点模块 数字0 9模块 开平方模块 取倒数模块 等于号模块 清零符号模块 加号子模块 减号子模块 乘号子模块 除号子模块 退格子模块 清除子模块 图图 1 1 功能模块图功能模块图 3 2 系统设计方案系统设计方案 文件和类的说明 创建一个头文件 Caculate h 内容如下 eum signl en LastSignl BOOL b Hasdiv BOOL b Hasmul void RunOperation eum signl en signl void InitAllDate void PutIntoNum int n BOOL b Hasport 是否输入了小数点 BOOL b Start 是否开始输入一个数据 int m i 记录当前使用哪个 CString CString cs Num 2 存两个数据 if b Start 退格 将数字逐渐减一位 return double num CString temp int len CHAR temp ch 32 GetDlgItemText IDC EDIT SHOW temp AfxMessageBox temp num atof temp sprintf temp ch g num num 0 计算器 3 AfxMessageBox temp ch len strlen temp ch int te i len 1 if temp ch te i te i 1 b Hasport FALSE temp ch te i 0 AfxMessageBox temp ch if strlen temp ch 0 temp ch 0 0 temp ch 1 0 sscanf temp ch lf temp Format g num AfxMessageBox temp SetDlgItemText IDC EDIT SHOW b Hasport temp temp InitAllDate 清空 能将所有数字清空 PutIntoNum 1 数字 1 PutIntoNum 2 数字 2 PutIntoNum 3 数字 3 PutIntoNum 4 数字 4 PutIntoNum 5 数字 5 PutIntoNum 6 数字 6 PutIntoNum 7 数字 7 PutIntoNum 8 数字 8 PutIntoNum 9 数字 9 if cs Num m i 0 数字 0 如果第一次输入数字 0 return cs Num m i 0 SetDlgItemText IDC EDIT SHOW cs Num m i if b Hasport CString temp GetDlgItemText IDC EDIT SHOW temp temp SetDlgItemText IDC EDIT SHOW temp if b Hasport 小数点 可以实现小数的四则运算以及开平方 取倒数 已有小数点时 计算器 4 return 无小数点 cs Num m i b Hasport TRUE b Start TRUE SetDlgItemText IDC EDIT SHOW cs Num m i if b Start 除法的实现 可以实现整数小数的除法运算 return if en LastSignl en none cs Num 1 1 en LastSignl en div RunOperation en LastSignl en LastSignl en div if b Start 乘法的实现 可以实现整数小数的乘法运算 return if en LastSignl en none cs Num 1 1 en LastSignl en mul RunOperation en LastSignl en LastSignl en mul if en LastSignl en none 减法的实现 可以实现整数小数的乘法运算 en LastSignl en sub RunOperation en LastSignl en LastSignl en sub if b Start 加法的实现 可以实现整数小数的加法运算 return if en LastSignl en none 计算器 5 en LastSignl en add RunOperation en LastSignl en LastSignl en add if b Start 开平方的实现 当开方数为负数时 弹出对话框 return double num CString temp GetDlgItemText IDC EDIT SHOW temp num atof temp num sqrt num temp Format lf num if temp Find 1 SetDlgItemText IDC EDIT SHOW temp else SetDlgItemText IDC EDIT SHOW temp if num 0 MessageBox 笨啊 负数开平方开不出来的 if b Start 取倒数的实现 return double num CString temp GetDlgItemText IDC EDIT SHOW temp num atof temp num 1 num temp Format lf num if temp Find 1 SetDlgItemText IDC EDIT SHOW temp else SetDlgItemText IDC EDIT SHOW temp RunOperation en LastSignl 等号的实现 en LastSignl en none b Start TRUE 所用的控件 按钮 编辑框 计算器 6 4 4 详细设计详细设计 4 1 四则运算模块四则运算模块 建立四则运算模块时 首先建立一个新的窗体 看看是什么符号 四则运 算具体实现程序流程图如图 2 所示 结束 开始 b Start Return en LastSignl en sub en LastSignl en sub RunOperation en Las tSignl N Y Y N 图图 2 四则运算模块流程图四则运算模块流程图 4 2 小数点模块小数点模块 建立小数点模块时 首先建立一个新的窗体 先判断是否有小数点 还需 要判断第一个数字是否为 0 小数点具体实现程序流程图如图 3 所示 计算器 7 开始 cs Num m i Cs Num m 1 0 Cstringtemp b Hasport Return 结束 Y Y 图图 3 小数点模块流程图小数点模块流程图 4 3 数字数字 0 9 模块模块 建立数字 0 9 模块时 首先建立一个新的窗体 将数字输入到编辑框中 数字 0 9 实现程序流程图如图 4 所示 Cstringtem i b start Cs Num m i t em i Cs Num m i tem i bHasport GetDlgItemText IDC EDIT SHOW temp 结束 开始 N Y N Y 图图 4 数字数字 0 9 模块流程图模块流程图 计算器 8 4 4 开平方模块开平方模块 尖利开平方模块时 首先建立一个新的窗体 判断有没有小数点 如果开 方数小于 0 弹出错误窗口 开平方具体实现程序流程图如图 5 所示 开始 b Start Return N Y Doublenum Temp Find 1 SetDlgItemText IDC EDIT SHOW temp Num 0 MessageBox error 结束 N Y N Y 图图 5 开平方模块流程图开平方模块流程图 4 5 取倒数模块取倒数模块 建立取倒数模块时 首先建立一个新的窗体 将数字进行取倒数 并判断 是否有小数点 取倒数实现程序流程图如图 6 所示 计算器 9 开始 b Start Return N Y Doublenu m Temp Find 1 SetDlgItemText IDC EDIT SHOW temp SetDlgItemText IDC E DIT SHOW temp 结束 N Y 图图 6 取倒数模块流程图取倒数模块流程图 4 6 等于号模块等于号模块 建立等于号模块时 首先建立一个新的窗体 定义两个数字变量和一个输 出数的变量 选择是加减乘除哪个运算 当除数为 0 的时候 弹出错误窗口 等于号具体程序流程图如图 7 所示 开始 E signl en add Sum nAd1 nA dd2 Break cs Num 0 Format g sum 结束 E signl en sub Sum nAdd1 nAdd2 Break E signl en mul N N N Y Y Y 图图 7 等于号模块流程图等于号模块流程图 计算器 10 4 7 清零符号模块清零符号模块 建立清零符号模块时 首先建立一个新的窗体 等于号具体程序流程图如 图 8 所示 开始 b Start Return N Y Doublenum Temp ch te i Te i 1 b Hasport Faulse Temp ch te i 0 结束 N Y 图图 8 清零符号模块流程图清零符号模块流程图 5 调试调试与测试与测试 5 15 1 调试调试 问题 当进行除零操作时 结果出现了乱码 解决方法 加入 MessageBox 函数 当进行除零操作的时候 自动弹出 错误窗口 error 5 25 2 测试测试 测试数据如下 输入数字 10 选择运算方式 加号 输入数字 5 输出结果 15 输入数字 7 5 选择运算方式 减号 计算器 11 输入数字 2 5 输出结果 5 输入数字 10 选择运算方式 乘号 输入数字 5 输出结果 50 输入数字 10 选择运算方式 除号 输入数字 5 输出结果 2 输入数字 100 选择运算方式 开平方 输出结果 10 输入数字 2 选择运算方式 取倒数 输出结果 0 5 结束语结束语 通过两个星期的课设 我终于把课程设计给完成了 看着劳动成果 很欣 慰 刚开始的时候可以说是没有头绪 于是去图书馆找资料 找到了一些关于 程序方面的 课设这点小进展还远远不够 这只是一个小小的开始 下一步是 上网查 找到了与我题目相似的 那是我很高兴 可是这不是我需要的 于是 我就上网找了些我需要的函数等等 终于在我的努力下 完成了这个程序 虽 然对着电脑有点热有点累 课设当我看到劳动成果的时候 我还是很开心 做 完这个程序设计 我的自信一下子提高了 我也会写程序了 这次体验为以后 学习计算机的我增强了信心 参考文献参考文献 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 想象作文铅笔盒里的故事500字11篇
- 房地产租赁与回购协议
- 融资借款居间协议书
- 水产养殖技术交流与资源利用协议
- 2025短期用工合同协议书模板
- 酒店住宿入住退押金协议
- 人力资源管理服务合作协议书
- 产品分销代销合同协议
- 2025购销合同协议范本
- 2024年电力调度与管理自动化系统资金筹措计划书代可行性研究报告
- 大学生心理健康十六讲(第3版) 课件 樊富珉 第1讲 心理健康知多少-大学生心理健康导论-第7讲 人际关系你我他-人际交往
- 曲靖市罗平县人民医院招聘考试真题2024
- 肾结石患者的护理
- 战术搜索教学课件
- 公园水面安全管理办法
- 2025年福建厦门港务控股集团有限公司招聘考试笔试试题(含答案)
- 2025年陕西省行政执法资格考试模拟卷及答案(题型)
- 2025年长三角湖州产业招聘笔试备考题库(带答案详解)
- 2025包头辅警考试真题
- 吉林延边州汪清县公安局招聘留置看护警务辅助人员考试真题2024
- 量子计算入门:通过线性代数学习量子计算 课件 第1章 量子奇旅
评论
0/150
提交评论