没有合适的资源?快使用搜索试试~ 我知道了~
首页简易计算器(c语言课程设计)
简易计算器(c语言课程设计)
5星 · 超过95%的资源 需积分: 50 287 下载量 178 浏览量
更新于2023-03-03
评论 20
收藏 173KB DOC 举报
简易计算器(c语言课程设计)简易计算器(c语言课程设计)简易计算器(c语言课程设计)简易计算器(c语言课程设计)简易计算器(c语言课程设计)
资源详情
资源评论
资源推荐
07 网络工程本
北苑 4 栋-627、628 室
负责人:杨永清
第 15 章 简易计算器
就计算机工具地历史而言,中国古代最早采用地一种计算工具叫筹策,又叫做算筹,
这种算筹多用竹子制成,也有用木头,兽骨充当材料的,大约 270 枚一束,放在布袋里可
随身携带。直到今天仍在使用的住算盘,是中国古代计算工具领域中的另一项发明明代时
的住算盘已经与现代的住算盘几乎相同。
17 世纪初,西方国家的计算工具有了较大的发展。英国数学家纳尔发现了“纳皮尔算
筹”;英国牧师奥却德发明了圆柱形对数计算尺,这种计算尺不仅能做加减乘涂,乘方和开
方运算,甚至可以计算三角函数,指数函数和对数函数。这些计算工具不仅带动了计算的
发展,也为现代计算器发展尊定了良好的基础,成为现代社会应用广泛的计算工具,如手
机,操作系统上附带的多功能计算器。
15.1 设计目的
本程序旨在训练读者的基本编程能力,使读者熟悉 C 语言图形模式下的编程。本程序中
涉及结构体,数组,绘图,等方面地知识。通过本程序的训练,适度只能对 C 语言有一个
深刻的了解,掌握利用 C 语言相关函数开发机算起的基本原理,为进一步开发出高质量得
多功能计算器打下坚实地基础。
15.2 功能描述
如图 15.1,本计算其主要由 5 个功能模块组成。
(1)计算机界面显示模块。计算机界面显示必须在执行实际计算操作之前完成,在这里主
要调用了 C 语言图形系统函数和字符函数画出类似 Windows 自带的计算器的界面。此界面
包括一个主窗口,一个文本输入框,一个表示记忆功能已启用的标签和 28 个按钮,其中
28 个按钮分别由 10 数字键按钮,4 命令按钮,4 个记忆操作按钮呵另外 3 个包括小数点,正
负号,等号在内的按钮构成。
(2)计算器按键控制模块。按键控制模块主要完成两大部分功能。第一,当用户在键盘
上按下计算器中定义的有效键时,计算器必须执行模拟用户案件的操作。第二,计算器通
过键盘按键值的判断,执行相应的操作,如接收数字输入等。
(3)计算器计算处理模块。计算处理模块主要完成双目四则运算和单目运算操作。四则
运算包括加,减,乘,凃。单目运算包括求平方根,取倒数和取百分数。计算处理模块在
按键控制模块中被调用执行。
(4)计算器记忆处理模块。记忆处理模块使计算其具有记忆功能。在此模块可以执行
的操作有:第一,可以将当前文本框中的数值存入及邮编两种;第二,可以将记忆变量中
数值与当前文本框中的数值相加,作为既有变量地新值:第三,可以取出记忆器中记录地
数值;;第四,可以清除记忆变量的值。
(5)计算器退出系统模块。计算器退出系统模块主要执行清除图形屏幕,关闭图形系统
和退出计算器系统的操作。
15.3 总体设计
15.3.1 功能模块设计
1.计算器执行流程
计
算
器
界
面
显
示
模
块
简易计算器
计
算
器
按
键
控
制
模
块
计
算
器
计
算
处
理
模
块
计
算
器
记
忆
处
理
模
块
计
算
器
退
出
系
统
模
块
本计算器执行流程如图 15.2 所示。首先,程序调用 Initapp()函数,使系统进入图形模式,
并对窗口,标签,文本框和按钮的相关结构变量进行赋值操作;调用 Showme()函数显示计
算机界面;调用 Load()函数初始化全局变量的值。然后,程序进入 while(1)循环,等待用户
按键,并读取所按键值,若用户按下 Alt+X 组合键,程序调用 Unload()函数退出系统,否
则程序调用 CommandButton_Keybown(key)和 CommandButton_KeyboadrdUP(key)函数来 完
成在计算器上的模拟按键操作。最后,程序调用 CommandButton_Click(ley)函数,根据 key
的值,进行相关操作,相关操作完成厚还回到 while(1)入口,继续等待用户按键。
2.计算机界面显示
此计算机界面由一个窗口,一个文本输入框,一个表是基因功能是否启用的标签和 28
个按钮构成。这 4 个组成部分分别由 3 个结构变量和 28 个元素的结构数组来实现。
在绘制主窗口的 Form()函数中,主要调用 bar()函数画出一个淡灰色的填充窗口作为主窗
口,调用 line()函数化初 这个填充窗口的边框,又调用 bar()函数化出一个红色的窗口标题
栏。
在绘制文本的 Textbox()函数中,主要调用 bar()函数在主窗口中画出一个白色的填充窗口
Showme()
输 入 是 否
为 Alt+X
键 ?
开始
结束
InitApp()
调用 bioskey(), 获取用户
按键值
Load()
完 成 按 键 模 拟 , 调 用
CommandButton_Click()
完成相应功能
调用 Unload(),
退出系统
进入 while() 主循环
是
否
及深灰色的边框,设置文本的对齐方式和颜色等属性值,并显示文本的初始值,标签的绘
制呵文本框相似。
在绘制按钮的 CommandButton()函数中,先确定此按钮在主窗口中的左下角和右下角
的坐标值,然后根据按钮的状态选择不同的颜色的线条绘制矩形按钮。注意,此处按钮的
初始值为 1,若有键按下,其状态变为 0,处理玩按键操作后,又恢复为状态 1。这样用不
同的颜色在不同的时间在同一位置绘制同样大小的矩形,即可以表示有按键的动画效果。
3. 计算器按钮控制
如前所述,按键控制模块主要完成模拟用户按键操作和判断按键值厚执行相应的操
作 任 务 。 模 拟 按 键 操 作 主 要 由 CommandButton_keyboardDown() 和
CommandButton_keyboardup()两函数通过改变按钮的状态值,然后调用 CommandButton()函
数来实现。同样,判断按键值后执行相应的操作任务主要由 CommandButtn_Click(int key)
函数来实现,在此函数中用 28 个键值的判断,并对不同的键值进行相应的处理。
CommandButton_Click(int key)函数为实现计算器的核心函数,因此举例作以说明.假如
用户准备进行 123+2 计算,即用户先分别输入数字 1、2、3,然后输入”+”操作符,接着输入数
字 2,最后按”=”符号后,计算器在文本框中输出 125 的结果值.程序的处理过程如下。
(1) 因为数字 1、2、3 都属于数值,程序将 1、2、3 存储在字符数组 strbutf[]
中 , 即 strbutf[1]=‘1’ , strbutf[2]=‘2’ , strbutf[3]=‘3’ , strbutf[0]=‘ ’,
strbutf[0]存储此操作数的正负号,为正时此数组元素为空,为负时此数组
元素为字符‘-’。
(2) 输入“+”操作符后,程序将数组 strbutf 中的值转换成数值,保存在全局变
量 num2 中,并将 strbutf 元素中的值清空。
(3) 输入完数字 2 后,strbutf[1]=‘2’。
(4) 输入完“=”符号后,程序将数组 strbutf 中的值转换成数值,保存在全局变
量 num1 中,并调用 DoubleRun()执行四则运算,运算完后将结果显示在
文本框中,并将 strbutf 元素中的值勤清空。
4.计算器计算处理
计算处理模块主要完成四则运算和单目运算操作。四则运算由 DoubleRun()函数来实现,在
此函数中,先对操作符进行判断,然后 num1 和 num2 进行相关运算,操作符为加、减、乘、
除。注意,在进行除法运算时,除数 num1 不能为 0。单目运算由 SingleRun(int key)函数来
实现,执行求平方根、求倒数、求百分数运算。注意,求平方根时,操作数不能小于 0;
求倒数时,操作数不能 0,否则程序会打印错误信息。
5.计算器记忆处理
当用户按下 Ctrl+M 组合键里时,程序调用 StoreSet()函数将当前文本框中的数值存入记忆
变量 store 中,并在标签中输出标记“M”;当用户按下 Ctrl+P 组合键时,程序调用 StoreSet()
函数将记忆变量 store 中的数值与前文本框中的数值相加,作为 store 的新值;当用户按下
Ctrl+R 组合键时,程序调用 StoreSet()函数取出记忆变量 store 的值;当用户按下 Ctrl+组合
键时,程序调用 StoreSet()函数清除记忆变量 store 的值,并在标签中输出空标记,表示记
忆功能暂未使用。
剩余25页未读,继续阅读
Felix常温
- 粉丝: 71
- 资源: 75
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 数据结构1800题含完整答案详解.doc
- 医疗企业薪酬系统设计与管理方案.pptx
- 界面与表面技术界面理论与表面技术要点PPT学习教案.pptx
- Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf
- 网页浏览器的开发 (2).pdf
- 路由器原理与设计讲稿6-交换网络.pptx
- 火电厂锅炉过热汽温控制系统设计.doc
- 企业识别CIS系统手册[收集].pdf
- 物业管理基础知识.pptx
- 第4章财务预测.pptx
- 《集成电路工艺设计及器件特性分析》——实验教学计算机仿真系.pptx
- 局域网内共享文件提示没有访问权限的问题借鉴.pdf
- 第5章网络营销策略.pptx
- 固井质量测井原理PPT教案.pptx
- 毕业实习总结6篇.doc
- UGNX建模基础篇草图模块PPT学习教案.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论26