设计C课程设计简易计算器实验报告Word文档格式.docx
- 文档编号:8554611
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:10
- 大小:304.82KB
设计C课程设计简易计算器实验报告Word文档格式.docx
《设计C课程设计简易计算器实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《设计C课程设计简易计算器实验报告Word文档格式.docx(10页珍藏版)》请在冰点文库上搜索。
3.1创建步骤
打开MicrosoftVisualC++6.0,选择新建,在弹出框内选择MFCAppWizard[exe]工程,输入工程名Calculator及其所在位置。
将弹出MFCAppWizard-step1对话框,选择基本对话框,点击完成。
MFCAppWizard建立基于对话窗口的程序框架。
3.2界面设计
1、创建控件
在对话框上的合适的位置画出编辑框和下压式按钮。
如图2所示。
图2绘制编辑框
在按钮和编辑框属性对话框中输入控件的ID值和标题属性。
如图3所示。
图3PushButton属性
按照上面的操作过程编辑其他按钮和编辑框等对象的属性。
表1各对象属性
对象
ID
标题或说明
编辑框
IDC_EDIT1
结果显示
按钮
IDC_BUTTON0
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_BUTTONneg
+/-
IDC_BUTTONpot
.
IDC_BUTTONadd
+
IDC_BUTTONsub
-
IDC_BUTTONmul
*
IDC_BUTTONdiv
/
IDC_BUTTONsqrt
sqrt
IDC_BUTTONCE
CE
完成后界面如图4所示。
图4计算器界面
2、连接变量和代码
1)给编辑框连接变量。
在编辑框上单击鼠标右键,在弹出菜单中选择ClassWizard菜单项,弹出MFCClassWizard对话框,选择MemberVariables选项卡,如图5所示。
图5MFCClassWizard对话框中的MenberVariable选项卡
单击AddVariables按钮,在弹出的对话框中连接变量m_edit。
变量类型设定为CString型。
如图6所示。
图6m_edit属性设置
2)给“1”按钮连接代码。
在“1”按钮上单击鼠标右键,选择ClassWizard菜单项,在弹出的对话框中选择MessagesMaps选项卡,在Messages列表框中选择BN_CLICKED项,即选择单击按钮事件,如图7所示。
图7“1”按钮链接代码对话框
3.3关键功能的实现
1)操作数的输入
编辑框所关联的变量为m_edit,程序开始时为零。
每点击一个数字键按钮,就把它累加到m_edit里并刷新显示。
2)单目运算符功能的实现
单目运算符中包含要执行运算的函数。
①正负号功能的实现
利用语句m_edit.FindOneOf("
-"
)寻找操作数中是否有符号“-”,若没有符号,则在字符串m_edit前添加“-”。
若有符号,则把字符串型变量m_edit转变为浮点型,进行相反数运算(对数值取负),再转变为字符串型通过传递给m_edit输出。
②开方sqrt功能的实现
利用语句x=sqrt(x),实现功能。
③倒数功能的实现
利用语句x=1/x,实现功能。
3)双目运算符功能的实现
执行双目运算符把m_edit中的操作数值保存到变量op1中,然后把m_edit清零。
再将输入的第二个操作数保存到变量op2中。
根据相应的运算符赋予变量calculator相应值,执行等号运算时,根据calculator值选择对应运算函数,讲运算结果传递给m_edit并输出。
4)小数点
利用语句m_edit.FindOneOf("
."
)寻找操作数中是否有符号“.”,若有不添加“.”。
若没有判断m_edit.GetLength(),若大于0,添加字符串“.”;
若等于0,添加字符串“0.”。
4结论与心得体会
经过测试,得出结论为设计的计算器能够完成功能描述内容中的全部功能。
经过2个星期的课程设计实训,在老师和同学的共同帮助下,顺利完成该课程设计,收获很大。
通过本次实训,我在很多方面得到了很大提升。
首先在理论知识与实际操作能力的结合方面,通过具体应用软件的制作,课本中学习到知识得到具体的应用,对知识的理解更清晰、具体、全面,理论知识的实际应用更加熟练。
对类、函数等概念的理解和应用更加深刻。
编程语言语句的应用更为流利,巩固了各语句的使用方法和技巧。
同时,对编程的过程了解的更加清晰,熟练地掌握了很多课堂知识之外的能力。
在团队协作方面,我意识到了团队协作的重要意义,学到了如何从他人处寻得帮助和与他人分享成果。
从团队合作中我学习到了技术协作与人际交流双方面的能力。
懂得怎样通过团队协作提高效率。
另外,通过本次实训,我充分意识到了当前人才市场现况和自己的不足,对自己的现况有了危机感,并制定了自己的发展计划,使自己确立明确的奋斗目标,为成为合格计算机专业人才而努力。
5附录
关键源代码
①数字键程序代码(以“1”为例)
voidCCalculatorDlg:
:
OnButton1()//数字键“1”
{
if(k!
=1)//判断是否已点击运算符按钮
{
m_edit=m_edit+"
1"
;
//如果k≠1即没有点击运算符,则直接改变字符串
UpdateData(false);
}
else
{
m_edit="
"
//如果k=1即点击过运算符,则先清空编辑框
k=0;
}
②四则运算程序代码(以“+”为例)
floatop1=0,op2=0;
charcalculate;
OnButtonadd()
{
k=1;
//是否点击过运算符的条件,与数字键对应
calculate='
+'
//传度“+”给变量calculator,与等号“=”对应
UpdateData(true);
op1=atof(m_edit);
③开方sqrt程序代码
OnBUTTONSqrt()
if(op1<
0)
w'
else
s'
④小数点程序代码
OnBUTTONpot()
inta=0;
for(intb=0;
b<
m_edit.GetLength();
b++)
if(m_edit.FindOneOf("
)>
=0)
a=1;
if(a==0&
&
m_edit.GetLength()>
0)m_edit=m_edit+"
m_edit.GetLength()==0)m_edit=m_edit+"
0."
UpdateData(false);
⑤等号“=”程序代码
OnButtonequal()
UpdateData(true);
op2=atof(m_edit);
floats;
switch(calculate)
{
case'
s=op1+op2;
break;
//与运算符键相对应的运算函数
-'
s=op1-op2;
*'
s=op1*op2;
/'
s=op1/op2;
s=sqrt(op1);
s=0;
}
m_edit.Format("
%f"
s);
⑥清除CE程序代码
OnButtonCE()
m_edit="
⑦百分号程序代码
OnButtonperc()
floatx;
x=atof(m_edit);
x=x*100;
m_edit.Format("
x);
m_edit=m_edit+"
%"
⑧正负号(相反数)
OnButtonneg()
k=1;
if(m_edit.FindOneOf("
floatx;
x=atof(m_edit);
x=-x;
+m_edit;
⑨倒数1/x程序代码
OnButtonreci()
x=1/x;
此文档是由网络收集并进行重新排版整理.word可编辑版本!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 课程设计 简易 计算器 实验 报告