VC之基于MFC的简易计算器.docx
- 文档编号:9584683
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:17
- 大小:335.45KB
VC之基于MFC的简易计算器.docx
《VC之基于MFC的简易计算器.docx》由会员分享,可在线阅读,更多相关《VC之基于MFC的简易计算器.docx(17页珍藏版)》请在冰豆网上搜索。
VC之基于MFC的简易计算器
程序设计报告
课程名称:
面向对象技术与VisualC++
设计题目:
基于MFC的简易计算器
专业:
信息与计算科学班级:
信122
姓名:
学号:
2012314233
任课教师:
二○一五年五月
设计题目(问题)描述
当今社会是一个智能化、自动化的新型时代,各行各业都有着对计算更高层次的需求,手动计算的时代已经无法满足飞速发展的社会的需要。
所以在这次的C++课程设计课上我选择基于MFC的简易计算器的编程,计算机的出现既解决了对于人们手动计算来说较难、较复杂的问题,又节约了时间,大大的提高了工作效率。
计算器必将会成为新时代计算的新宠。
教师评语
签名:
注:
本设计报告中各个部分如果页数不够,请大家自行扩页,原则是一定要把报告写详细,能说明设计的成果和特色。
报告中应该叙述设计中的每个模块。
一、设计的功能描述
此次设计的是一个简易的计算器,功能不是特别的齐全,仅能实现较简单的运算具体如下:
(1)简单的加、减、乘、除四则运算;
(2)数字由十进制到二进制的转换;
(3)三角函数的运算;
(4)阶乘、对数以和对于开方的简单运算。
二、设计的主要特色
简易计算器不仅可以实现单目运算,还可以进行一些较为简单的双目运算,除了加减乘除四则运算之外,还可以进行三角函数的计算,阶乘、对数以和开平方也得到了实现。
在基本操作的基础上,界面实现了MFC编程,为本次的设计增添了光彩!
三、系统分析与设计
1系统功能
1.1系统功能图
1.2系统功能划分
1.2系统功能划分
对象
ID
标题或说明
编辑框
IDC_EDIT2
显示
按钮
IDC_BUTTON10
0
按钮
IDC_BUTTON1
1
按钮
IDC_BUTTON2
2
按钮
IDC_BUTTON3
3
按钮
IDC_BUTTON4
4
按钮
IDC_BUTTON5
5
按钮
IDC_BUTTON6
6
按钮
IDC_BUTTON7
7
按钮
IDC_BUTTON8
8
按钮
IDC_BUTTON9
9
按钮
IDC_point
.
按钮
IDC_BUTTON13
+
按钮
IDC_BUTTON14
-
按钮
IDC_BUTTON15
*
按钮
IDC_BUTTON16
/
按钮
IDC_Btn_sqrt
sqrt
按钮
IDC_Btn_lg
lg
按钮
IDC_Btn_jiecheng
n!
按钮
IDC_Btn_sin
sin
按钮
IDC_Btn_cos
cos
按钮
IDC_Btn_tan
tan
按钮
IDC_Btn_erjinzhi
二进制
按钮
IDC_BUTTON12
=
按钮
IDC_BUTTON18
CE
2系统流程图
1.3计算器界面
1.4总体代码
(1)数字键代码(仅以1为例)
voidCJisuanqiDlg:
:
OnButton1()
{
num[i]=num[i]+"1";
m_s=m_s+"1";
op=0;d=1;point=1;q=0;
UpdateData(false);
}
(2)四则运算
1)加法
voidCJisuanqiDlg:
:
OnButton13()
{
if(q==0){
op=1;d=0;
m_s=m_s+"+";
ch[i++]='+';point=0;q=1;}
UpdateData(false);
}
2)减法
voidCJisuanqiDlg:
:
OnButton14()
{
if(q==0){
op=1;d=0;
m_s=m_s+"-";
ch[i++]='-';point=0;q=1;}
UpdateData(false);
}
3)乘法
voidCJisuanqiDlg:
:
OnButton15()
{
if(q==0){
op=1;d=0;
m_s=m_s+"*";
ch[i++]='*';point=0;q=1;}
UpdateData(false);
}
4)除法
voidCJisuanqiDlg:
:
OnButton16()
{
if(q==0){
op=1;d=0;
m_s=m_s+"/";
ch[i++]='/';point=0;q=1;}
UpdateData(false);
}
(2)二进制
voidCJisuanqiDlg:
:
OnBtnerjinzhi()
{
charm_radix[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
CStrings;
m_base=2;
intpos=0;
longj,number=0;
if(m_length==0)
return;
UpdateData();
number=atoi(m_s);
j=number%m_base;
while((number=number/m_base)!
=0)
{
s.Insert(pos,m_radix[j]);
pos++;
j=number%m_base;
}
s.Insert(pos,m_radix[j]);
s.MakeReverse();
SetDlgItemText(IDC_EDIT2,s);
}
(3)对数
voidCJisuanqiDlg:
:
OnBtnlg()
{
doubleres;
charcr[100];
UpdateData();
res=atof(m_s);
res=log10(res);
gcvt(res,6,cr);
SetDlgItemText(IDC_EDIT2,cr);
}
(4)开方
voidCJisuanqiDlg:
:
OnBtnsqrt()
{
doubleres;
charcr[100];
UpdateData();
res=atof(m_s);
res=sqrt(res);
gcvt(res,6,cr);
SetDlgItemText(IDC_EDIT2,cr);
}
(5)正弦
oidCJisuanqiDlg:
:
OnBtnsin()
{
doubleres;
charcr[100];
UpdateData();
res=atof(m_s);
res=sin(res);
gcvt(res,6,cr);
SetDlgItemText(IDC_EDIT2,cr);
}
(6)余弦
voidCJisuanqiDlg:
:
OnBtncos()
{
doubleres;
charcr[100];
UpdateData();
res=atof(m_s);
res=cos(res);
gcvt(res,6,cr);
SetDlgItemText(IDC_EDIT2,cr);
}
(7)正切
voidCJisuanqiDlg:
:
OnBtntan()
{
doubleres;
charcr[100];
UpdateData();
res=atof(m_s);
res=tan(res);
gcvt(res,6,cr);
SetDlgItemText(IDC_EDIT2,cr);
}
(8)阶乘
voidCJisuanqiDlg:
:
OnBtnjiecheng()
{
intn,i;
charcr[100];
UpdateData();
n=atoi(m_s);
i=n-1;
for(;i>=1;i--)
{
n=n*i;
}
gcvt(n,6,cr);
SetDlgItemText(IDC_EDIT2,cr);
}
四、系统调试出现的问题和解决情况
编译错误:
1.简单编译语法错误
五、系统运行报告(测试的结果)
(1)加法
(2)减法
(3)乘法
(4)除法
(5)二进制
(6)正弦
(7)余弦
(8)正切
(9)对数
(10)阶乘
(11)开方
六、总结
为期一段时间的C++课程设计即将接近尾声,通过此次的设计,我认识到了很多,也收获颇丰,所有的这一切都使我不断成长与进步!
此次我设计的MFC简易计算器的功能并不是特别的齐全,但它却也是我用心在做的。
其间我遇到了无数大大小小的麻烦,各种各样的问题接踵而至,由于学习过程中的不用心,导致最终现在的自己手忙脚乱,曾经的自己一度灰心丧气,觉得自己可能无法按期完成这个作业了,过后静下心来好好反思,觉得自己不能就此轻易放弃,同学们忙碌的背影更加坚定了我的意念!
因为自己对于知识的掌握不牢固,总是遇到各种各样的问题,我通过回顾课本、请教同学乃至于查找网络来不断地解决自己的问题,最终终于完成了我的C++课程的设计!
由于自己掌握内容有限,我的设计仍有许多的不完美。
如:
无法实现小数点的使用、无法完成较高功能的实现等等,这些都是美中不足之处,在今后的学习过程中我会努力的改正自己的缺点,争取将问题解决在当下,不会像现在这样将问题遗留累积,最终留给自己的将是无穷尽的痛苦!
转眼间为期一周的设计就要画上句号了,在这短短短的一周中,我获得了知识,更懂得了坚持与韧性!
也深深的明白了:
知识不是在课堂上学会了就可以,要想熟练地掌握还需要自己不断地复习巩固与实践,这一周我不仅仅是交出了一份作业,更是对自己有了深刻的认识与了解,实在是一次难得的经历与体会!
在今后的学习与生活过程中我会不断完善自己!
争取取得更大的进步!
七、参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 基于 MFC 简易 计算器