1 / 44
文档名称:

可视化编程课程设计(含源码)计算器系统实现.doc

格式:doc   页数:44
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

可视化编程课程设计(含源码)计算器系统实现.doc

上传人:164922429 2014/1/6 文件大小:0 KB

下载得到文件列表

可视化编程课程设计(含源码)计算器系统实现.doc

文档介绍

文档介绍:设计题目:计算器系统实现
分别用API与MFC编程来实现计算器的以下功能。
实现计算器的基本功能:连续数据的无优先级混合运算(加减乘除)
可以实现其他附加功能:优先级运算,加入括号,加入其他函数运算功能等。(不在要求范围之内)
要求界面良好,功能完整。


打开MFC应用操作界面,布局计算器界面,利用组框将计算器界面分为三个部分,一个是编辑输入,一个是数字界面,一个是功能键部分。利用布局参考线对齐按钮,使界面美观。然后就是对各个按钮进行属性设置,关联类设置,接着对各个按钮进行源代码编程。最后,调试找出问题,解决问题,运行MFC成品计算器。
简单操作以及功能说明
由于本人技术有限,所以本程序只能按照正确的计算运算顺序进行,该简单计算器能进行四则混合运算,除了加减乘除外,添加了一个括号,对于有些未知的错误,由于时间有限,并未来得及全面测试使用。该简单计算器能实现四则运算,退格运算,清零运算,并且支持输出的结果保留给直接的下一个运算。
系统实现的各个模块
编辑框模块
由于编辑框模块需要连续输入字符串,所以在给编辑框建立类向导时,给编辑框定义的成员变量应该是字符串(String)变量。编辑框模块用于运算算式的输入,以及结果的输出。
数字键模块
数字键模块比较简单,该简单计算器数字键模块设置有0~9数字,还设置有小数点,以及正负数转换实现按钮。数字键模块按钮在建立类向导时无需定义成员变量,但是需要定义按钮响应链接,用于实现点击按钮,在编辑框上显示点击按钮信息。
功能键模块
功能键模块包括加减乘除基本按钮,以及一个输入错误是后能用于退格功能的退格键按钮,还有一个用于区别优先级运算的括号功能,当然有最重要的计算结果输入按钮,等于号按钮。在编辑框附近还有一个功能键,就是清除功能键,用于清除编辑框,以便实现下一轮输入。
设计过程
设计总流程图

界面的设计

建立的变量,控件的命名,对应的消息处理函数对应表

ID
CAPTION
MessageHandler
IDD_JISUANQI_DIALOG
简易计算器
N/A
IDC_NUM0
0
OnNum0
IDC_NUM1
1
OnNum1
IDC_NUM2
2
OnNum2
IDC_NUM3
3
OnNum3
IDC_NUM4
4
OnNum4
IDC_NUM5
5
OnNum5
IDC_NUM6
6
OnNum6
IDC_NUM7
7
OnNum7
IDC_NUM8
8
OnNum8
IDC_NUM9
9
OnNum9
IDC_OPER_ADD
+
OnOperAdd
IDC_OPER_SUB
-
OnOperSub
IDC_OPER_MULTI
*
OnOperMulti
IDC_OPER_DIV
/
OnOperDiv
IDC_ADD_SUB
+/-
OnAddSub
IDC_POINT
.
OnPoint
IDC_EQUAL
=
OnEqual
IDC_LBRACKET
(
OnLbracket
IDC_RBRACKET
)
OnRbracket
IDC_BACKSPEACE

OnBackspace
IDC_CLEAR
C
OnClear
各模块源程序
数字键模块
void CJiSuanQiDlg::OnNum0()
{
if(calculated == TRUE) //已经按了等号,不让其再接受字符
return;
UpdateData(TRUE);//刷新编辑框界面
calcutateString += "0";//存储输入的数字
m_data += "0";//显示输入的数字
UpdateData(FALSE);
}
功能键模块
加法功能键源程序
void CJiSuanQiDlg::OnOperAdd()
{
if(calculated == TRUE)///其前一步按了= 号
{
calculated = FALSE;
m_data = oldResult;
double temp = atof(oldResult);//定义临时变量存储上一步结果
if(temp < 0)
{
calcutateString = "0" + oldResult;
}
else
{
calcutateString = oldResult;
}
calcutateString += "+";//存储做完该功能后的结果
m_data += "+";//显示该步

最近更新

高速高效切割技术 36页

2025年兴国县招教考试备考题库含答案解析(夺.. 30页

结构方程模型在产品创新策略制定中的作用 24页

绩效考核与薪酬管理结合 37页

2025年南京视觉艺术职业学院单招职业技能考试.. 45页

2025年南阳职业学院马克思主义基本原理概论期.. 13页

绩效数据可视化技术-第1篇 35页

风湿性关节炎的肠道免疫网络分析 35页

高速光传输技术 36页

风道系统维护策略 39页

2025年哈尔滨师范大学马克思主义基本原理概论.. 13页

2025年商洛职业技术学院单招职业倾向性测试题.. 45页

2025年四川希望汽车职业学院单招职业倾向性考.. 45页

育种政策对林种选择的影响 36页

2025年天府新区信息职业学院单招综合素质考试.. 44页

骨关节炎治疗新策略 38页

铬酸盐在固态电解质中的界面稳定性研究 35页

购物中心品牌升级 40页

肝内胰岛素抵抗病理生理分析 35页

聚合物相变行为 35页

航空安全文化培育 37页

绿色金融产品创新路径探索 29页

2025年射洪县招教考试备考题库附答案解析(必.. 30页

2025年山阳县幼儿园教师招教考试备考题库含答.. 31页

2025年平陆县幼儿园教师招教考试备考题库含答.. 31页

2025年广州珠江职业技术学院马克思主义基本原.. 12页

2025年广西英华国际职业学院单招职业技能考试.. 44页

2025年开江县招教考试备考题库附答案解析(夺.. 30页

2025年惠州工程职业学院马克思主义基本原理概.. 12页

2025年晴隆县幼儿园教师招教考试备考题库含答.. 31页