




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模拟计算器系统 说明书说明书 重庆工商大学派斯学院重庆工商大学派斯学院 计算机科学系计算机科学系 0909 计本一班计本一班 张黄江张黄江 2010 6 27 张黄江 模拟计算器系统 2 13 目录 1 介绍 程序简介程序简介 3 主要主要功能功能 3 异常处理异常处理 3 2 设计 设计设计思路思路 4 设计步骤设计步骤 5 附附源代码源代码 5 技术统计技术统计 13 张黄江 模拟计算器系统 3 13 模拟计算器系统 说明书 第一部分 介绍 程序简介 该程序可以完成对实数的 运算 也可以完成对分数的 运算 是一个比较完善的模拟计算器 主要功能 1 支持多次多次计算 计算完第一次后 还可以计算 直到在主菜单中选择 4 退出程序 才结束计算 2 支持整数整数 小数小数及分数分数 3 支持文件记录文件记录 保存在磁盘上 日后可以调出记录查看 文件格式为 log 可以用记事本打开查看 如果要删除计算记录 则要求输入密码 防止恶意删除 改密码为 012 4 记录时间时间信息 窗口中记录了每一次计算的时间 方便使用者查找记录 并且文件记录里加入了日期 使用者可以方便的查找到确定日期的计算记录 5 支持刷屏刷屏 当屏幕上显示的内容多了 调用一个刷新屏幕函数 使屏幕显得干净 6 延迟延迟退出程序 当手动打开 exe 文件进行计算 到结束程序时 会等到使用者敲下回车确认退出 这 样做的目的是 给使用者留出时间看退出时的计算统计信息 异常处理 1 如果被除数为 0 则要求重新输入 2 如果分母为 0 则重新输入 3 如果操作符有误 则重新输入 4 输入字符过多 则抛弃后面的字符 防止进入死循环 5 如果菜单选择有误 则重新选择 张黄江 模拟计算器系统 4 13 第二部分 设计 设计思路 图解如下 选选择择 计算计算 主菜单 多多分分枝枝结结构构 输入 判断数 据是否 合格 如果不 合格则 重新输 入 通过调 用计算 模板函 数计算 所给数 据 输出 到显示 器 到磁盘 文件记 录 返回 定时自 动返回 主菜单 读取磁盘文件 记录到显示器 是否要删除记 录 若是则输入密码 密 码错误则返回主菜 单 若否则返回主菜单 统计本次使用的 计算次数 并提 示计算记录已经 保存到磁盘文件 定时3秒钟 自动结束程序 张黄江 模拟计算器系统 5 13 设计步骤 对分数用类进行封装 通过函数调用使程序模块化 通过多文件结构使 主文件 更精简 更易读 函数概览 1 显示欢迎欢迎函数 2 强制退出退出函数 3 记录时间时间函数 4 计算模板模板函数 5 计算实数实数函数 6 计算分数分数函数 7 查看记录记录函数 文件概览 1 计算器 cpp 2 计算器函数 h 3 分数类 h 更多内容请参见源代码 附源代码 该程序分为 3 个文件 计算器计算器 cpp cpp 计算器函数计算器函数 h h 和 分数类分数类 h h 计算器 cpp include 计算器函数 h int main int n 0 统计计算次数 char temp new char 字符数组 屏蔽输入过多字符 welcome 欢迎界面 功能实现部分 while 1 循环计算 if n 0 system cls for int i 0 i 37 i 在屏幕上输出 张黄江 模拟计算器系统 6 13 cout cout n a 主菜单 1 实数 2 分数 3 看记录 4 退出程序 n temp 选择类型 getchar 以下为整个程序的核心部分 以一个多分枝语句为主体 switch temp case 1 浮点型数据 n shishu n 参数 n 为统计计算次数 break case 2 数据分数型 n fenshu n break case 3 查看记录 view break case 4 退出程序 goout n 调用程序结束函数 default 缺省 cout 你的选择无效 break return 0 返回给操作系统 计算器 cpp 结束 计算器函数 h include include include 文件系统 include include 分数类 h using namespace std 文件操作 ofstream outf 计算器操作记录 log ios base app 时间操作 内联函数 inline timeout int x x 有两个参数 1 2 SYSTEMTIME time 张黄江 模拟计算器系统 7 13 GetLocalTime if x 1 到显示器 cout fill 0 cout 计算于 setw 2 time wHour setw 2 time wMinute setw 2 time wSecond n cout fill else if x 2 到文件 outf time wYear 年 setw 2 time wMonth 月 setw 2 time wDay 日 setw 2 time wHour setw 2 time wMinute setw 2 time wSecond 显示欢迎界面 void welcome 制作载入效果 for int i 0 i 10 i cout n n n t t t 系统 载入 中 i 0 system cls 刷新屏幕 cout n n n t t t 载入成功 n Sleep 1000 暂停 1000 毫秒 system cls cout endl cout t endl cout t 模拟计算器系统 endl cout t endl cout t c All Right 张黄江 endl cout t E mail xaigb endl cout t version 2010 build endl cout t endl 欢迎使用 endl 强制退出程序的函数 inline goout int n system cls cout a for int i 0 i 6 i 张黄江 模拟计算器系统 8 13 cout n n n t t t 系统 退出 中 15 i if i 100 Sleep 500 system cls cout n n 共计算了 n 次 记录保存在 计算器操作记录 log 中 n n 谢谢使用 n t 程序即将 退出 Sleep 3700 延迟退出 exit 0 程序结束函数 模板函数 template T compute T a char p T b bool 计算次数 switch p case return a b case return a b case return a b case return a b default cout 运算符错误 请检查输入是否有误 n pr 0 pr 置零 输出语句关闭 break return a 计算实数 int shishu int n char p 存放 bool pr 1 输出结果开关 如果没有计算则不输出 double a b s system cls 刷新屏幕 do cout a p b cin get 读掉最后面的回车符 if p while p 若分母为 0 则重新输入 张黄江 模拟计算器系统 9 13 s compute a p b pr n 计算 pr 为输出开关 n 为计算次数 个性化显示 if pr 1 cout 结果为 n setiosflags ios base left 左对齐 t setw 13 s t 设置位宽 resetiosflags ios base left 恢复对齐方式的默认值 timeout 1 写入时间到显示器 cout t n 输出到文件 计算器操作记录 log timeout 2 写入时间到文件记录 outf a p b s endl cout 即将返回 主菜单 Sleep 3500 暂停 3500 毫秒 system cls 刷新屏幕 return n 返回计算次数 计算分数 int fenshu int n char p 存放 bool pr 1 输出结果开关 FenShu A B C int c d e f char ptemp new char 2 存放分数线 system cls do cout c ptemp d p e ptemp 1 f cin get if d 0 f 0 cout 分母不能为 0 while d 0 f 0 A Setxy c d B Setxy e f C compute A p B pr n 计算 张黄江 模拟计算器系统 10 13 if pr 1 个性化显示 cout 结果为 n t if C Gety 1 如果分母为 1 则只输出分子 cout setiosflags ios base left setw 8 C Getx else cout setw 3 C Getx setiosflags ios base left setw 4 C Gety resetiosflags ios base left cout resetiosflags ios base left t timeout 1 cout t n 输出到文件 计算器操作记录 log timeout 2 outf A Getx A Gety p B Getx B Gety if C Gety 1 outf C Getx endl else outf C Getx C Gety endl cout 即将返回 主菜单 Sleep 3000 暂停 3000 毫秒 system cls 刷新屏幕 return n 查看记录 int view char temp ifstream inf new ifstream 计算器操作记录 log ios base in system cls if temp inf get EOF cout n 我们没有找到相关记录 n t t 你是不是没有创建 n else cout a 记录如下 n for int i 0 i 11 i 在屏幕上输出 cout cout endl 张黄江 模拟计算器系统 11 13 while temp inf get EOF cout put temp 读取数据 for i 0 i 11 i cout inf close cout n t 要删除记录 请按 D 回车返回 if temp cin get d temp D cout temp 读取密码 if temp 0 0 tout close system cls cout n 记录清除成功 n t 即将返回 主菜单 n Sleep 1000 system cls return 0 else cout n 密码错误 n t 即将返回 主菜单 n Sleep 1500 system cls return 0 else system cls return 0 cout n 系统即将返回 主菜单 Sleep 1500 system cls return 0 计算器函数 h 结束 分数 h 该头文件用于定义 分数类 x y include using namespace std 使用标准命名空间 class FenShu 张黄江 模拟计算器系统 12 13 private int x y int GongYueShu int xx int yy 求最大公约数 public FenShu 默认构造函数 FenShu int xx int yy 带参数构造函数 x xx y yy 计算 操作符重载 FenShu operator FenShu p FenShu operator FenShu p FenShu operator FenShu p FenShu operator FenShu p 输出 int Getx 提取 x int Gety 提取 y 设置参数 void Setxy int xx int yy 更改 xy 实现 int FenShu GongYueShu int xx int yy 求最大公约数 int i xx yy yy xx for i 0 i if xx i 0 return 0 FenShu FenShu operator FenShu p int m y p y 分母 int n x p y p x y 分子 int s GongYueShu n m return FenShu n s m s 建立一个临时无名分数对象 FenShu FenShu operator FenShu p int m y p y 分母 int n x p y p x y 分子 if n 0 return FenShu 0 y int s GongYueShu abs n m return FenShu n s m s 临时建立一个无名分数对象 FenShu FenShu operator FenShu p 张黄江 模拟计算器系统 13 13 int m y p y 分母 int n x p x 分子 int s GongYueShu n m return FenShu n s m s FenShu FenShu operator FenShu p int m y p x 分母 int n x p y 分子 int s GongYueShu n m return FenShu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源行业上市公司股权激励计划设计与实施指南报告
- 第15课《女娲补天》教学设计-四年级上册语文统编版
- 第十一单元课题2化学肥料说课稿-2023-2024学年九年级化学人教版下册
- 低空经济2025年保险市场创新产品与风险控制策略研究
- 难点解析人教版八年级上册物理光现象《光的直线传播》综合测评试题(含解析)
- 第二课 计算机与信息技术说课稿-2025-2026学年初中信息技术粤教版2019七年级上册-粤教版2019
- 线上线下广告整合传播方案创新创业项目商业计划书
- 织物手绘颜料行业跨境出海项目商业计划书
- 2025-2030合成生物学在医药领域的创新应用与投资价值报告
- 2025-2030合成生物学在化工材料领域应用前景预测
- GB/T 44329-2024混合气体的制备称量法
- 动物生理学智慧树知到期末考试答案章节答案2024年浙江大学
- 2023浙教版八年级上数学知识点
- 安全总结模板
- 2024年四川成都市青白江区弥牟镇执法辅助人员招聘笔试参考题库附带答案详解
- 《电力设备典型消防规程》(DL 5027-2015)宣贯
- 数字孪生应用技术员职业技能竞赛试题及答案
- 昆虫学与农业害虫防治
- 信访工作培训课件
- 道路保洁安全培训课件
- 第12课+自觉抵制犯罪(课时2)【中职专用】中职思想政治《职业道德与法治》高效课堂(高教版2023·基础模块)
评论
0/150
提交评论