MFC编简单加减乘除计算器,我的邮箱是786574004@qq.com,谢谢各位大侠!!

 我来答
zhangjiaminggo
2011-07-12 · TA获得超过544个赞
知道小有建树答主
回答量:310
采纳率:100%
帮助的人:129万
展开全部

简单计算器设计报告

一、 基本功能描述

通过文本编辑框实现基本整数的加减乘除运算

二、 设计思路

如下图是整个程序进行的流程图,基本方法是在ItemText文本编辑框输入字符,程序对字符进行判断,若输入不是数字则提示错误。输入正常时,通过下拉框ComboBox_InsertString选择相应运算符。点击等号IDC_OK,即可得出运算结果。操作简便,算法简单。

1、 设计步骤

打开Microsoft Visual C++ 6.0,在文件中点击新建,在弹出框内选择MFC AppWizard[exe]工程,输入工程名zhoutong及其所在位置,点击确定

 

将弹出MFC AppWizard-step 1对话框,选择基本对话框,点击完成

 

MFC AppWizard就建立了一个基于对话窗口的程序框架

 

2、 界面设计

对象 ID 说明

文本编辑框 IDC_EDIT1 输入数字

下拉框 IDC_COMBOOP 运算符

文本编辑框 IDC_OK 输入数字

文本编辑框 IDC_EDIT3 运算结果输出

按钮 IDC_EXIT 退出键

设计界面

 

四、 主要程序分析

1、字符判定函数

BOOL IsInt(TCHAR*str)

{

int i=atoi(str);

TCHAR strtemp[256];

wsprintf(strtemp,"%i",i);

if(strcmp(str,strtemp)!=0)

{

return FALSE;

}

Else

{

return TRUE;

}

}

该函数通过atoi把文本编辑框读取的字符转换为数字,再通过wsprintf把转换数字转换为字符,通过strcmp比较原字符和转换得来的字符。如相同返回true,不通则返回false.

3、 运算符选择程序

BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)

{

HWND hwndComboOP=GetDlgItem(hwnd,IDC_COMBOOP);

ComboBox_InsertString(hwndComboOP,-1,TEXT("+"));

ComboBox_InsertString(hwndComboOP,-1,TEXT("-"));

ComboBox_InsertString(hwndComboOP,-1,TEXT("*"));

ComboBox_InsertString(hwndComboOP,-1,TEXT("/"));

return TRUE;

}

通过ComboBox_InsertString插入要输入的运算符

4、 主程序

字符获取

TCHAR str1[256];

TCHAR str2[256];

GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1));

GetDlgItemText(hwnd,IDC_EDIT2,str2,sizeof(str2));

调用子程序判断输入是否为数字

if(IsInt(str1)==FALSE)

{

MessageBox(hwnd,TEXT("第一个数不是合法整数"),TEXT("错误"),MB_OK|MB_ICONERROR);

return;

}

if(IsInt(str2)==FALSE)

{

MessageBox(hwnd,TEXT("第二个数不是合法整数"),TEXT("错误"),MB_OK|MB_ICONERROR);

return;

}

将输入字符转换为数字

int i1=atoi(str1);

int i2=atoi(str2);

int i3=0;

获取运算符

HWND hwndComboOp=GetDlgItem(hwnd,IDC_COMBOOP);

int curIndex=ComboBox_GetCurSel(hwndComboOp);

运算

switch(curIndex)

{

case 0:

{

i3=i1+i2;

}

break;

case 1:

{

i3=i1-i2;

}

break;

case 2:

{

i3=i1*i2;

}

break;

case 3:

{

i3=i1/i2;

}

break;

}

运算结果转换为字符

TCHAR str3[256];

itoa(i3,str3,10);

输出运算结果

SetDlgItemText(hwnd,IDC_EDIT3,str3);

}

break;

退出程序

case IDC_EXIT:

{

exit(0);

}

break;

五、 结果分析

该计算器只能实现简单的整数运算,不能对小数分数进行运算。并且只能进行简单的加减乘除运算,功能有待完善。

六、 心得体会

通过编写该计算器程序,基本学会简单API函数的编写windows界面化程序,有助今后进一步深化学习。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d7cef73
2011-07-12 · TA获得超过624个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:274万
展开全部
发给你了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kelfin91
2012-09-27
知道答主
回答量:3
采纳率:0%
帮助的人:4737
展开全部
可以发我参考一下么,那个MFC的,526442715@qq.com,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式