c++实验报告.docx
- 文档编号:6805554
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:13
- 大小:415.36KB
c++实验报告.docx
《c++实验报告.docx》由会员分享,可在线阅读,更多相关《c++实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
c++实验报告
重庆交通大学信息科学与工程学院
软件课程设计实验报告
班级:
电子信息工程2008级1班
学生姓名:
XX学号:
实验项目名称:
简单计算器设计
实验项目性质:
设计性
实验所属课程:
软件课程设计
实验室(中心):
语音8楼
指导教师:
实验完成时间:
2011年7月2日
一:
设计题目
简易计算器的设计
二、功能
一个简单的计算器,具有加、减、乘、除、取正、取负、倒数,平方、开方等运算、三角函数、对数函数、退格功能和复位清零功能。
三、功能说明
用MFCAppWizard创建一个应用程序框架,添加一个编辑框用于显示,添加若干控件用来做数字的按键以及运算符的按键。
1.有0~9以及小数点共11个键用来输入数字进行运算。
2.其他键用来控制运算类型,有加、减、乘、除、取反、倒数、阶乘、开方、幂运算、正弦函数、对数函数运算。
为编辑框添加一个变量用于显示内容;为每个控件添加一个BN_CLICKED消息映射,从而控制按键时显示的内容以及进行的运算类型。
ID号
标题
映射函数
说明
IDC_NUMBER10
0
OnNumber10()
按键”0”
IDC_NUMBER1
1
OnNumber1()
按键“1”
IDC_NUMBER2
2
OnNumber2()
按键“2”
IDC_NUMBER3
3
OnNumber3()
按键“3”
IDC_NUMBER4
4
OnNumber4()
按键“4”
IDC_NUMBER5
5
OnNumber5()
按键“5”
IDC_NUMBER6
6
OnNumber6()
按键“6”
IDC_NUMBER7
7
OnNumber7()
按键“7”
IDC_NUMBER8
8
OnNumber8()
按键“8”
IDC_NUMBER9
9
OnNumber9()
按键“9”
IDC_NUMBER15
+
OnPlus()
加法运算
IDC_NUMBER16
-
OnMinus()
减法运算
IDC_NUMBER14
*
OnMultipe()
乘法运算
IDC_NUMBER13
/
OnDivide()
除法运算
IDC_NUMBER19
倒数
OnDaoshu()
求倒数
IDC_NUMBER11
+/-
OnQufan()
取反键
IDC_NUMBER18
Sqar
OnKaifang()
开方运算
IDC_ln
ln
OnDuishu()
对数运算
IDC_sin
Sin
OnSin()
正弦运算
IDC_cos
cos
Oncos()
余弦运算
IDC_lg
lg
Onlg()
10底对数运算
IDC_NUMBER20
=
OnEqual()
等于
IDC_NUMBER17
退格
OnDelete()
退格键
voidCCalculatorDlg:
:
OnNumber1()//1
{
if(decimal==1)
{
data_dec=data_dec+1/count;
count=10*count;
}
Elsedata_int=10*data_int+1;
value=data_int+data_dec;
m_show=value;
UpdateData(FALSE);
}
该函数是实现了数值1的控件,其他的数值是一样的原理,当控件上按任意控件时,就会在编辑上显示该数值。
voidCCalculatorDlg:
:
OnNumber11()//取反
{
value=-value;
m_show=value;
UpdateData(FALSE);
}
输入任意数值时,当按“+/-”控件时,就会显示出数字的相反数。
voidCCalculatorDlg:
:
OnNumber12()//x2
{
decimal=1;
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=6;
}
先输入任意数值,当按“x^2”控件时,显示数值的平方数。
voidCCalculatorDlg:
:
OnNumber13()///
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=3;
}
先输入任意两数值,当按“/”控件时,就会进行两数的除法运算。
voidCCalculatorDlg:
:
OnNumber14()//*
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=2;
}
先输入任意两数值,当按“*”控件时,就会进行两数的乘法运算。
voidCCalculatorDlg:
:
OnNumber15()//+
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=0;
}
先输入任意两数值,当按“+”控件时,就会进行两数的加法运算。
voidCCalculatorDlg:
:
OnNumber16()//-
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=1;
}
先输入任意两数值,当按“—”控件时,就会进行两数的减法运算。
voidCCalculatorDlg:
:
OnNumber17()//清零
{
decimal=0;
data2=0;
data1=0;
data_dec=0;
data_int=0;
value=0;
count=10;
type=0;
m_show=value;
UpdateData(FALSE);
}
当想重新输入数值时,按“C”控件,就会全部归零,可以重新输入或计算。
voidCCalculatorDlg:
:
OnNumber18()//开方
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=4;
if(data1<0)
MessageBox("负数不能开平方根!
");
else
value=sqrt(data1);
m_show=value;
UpdateData(FALSE);
}
先输入任意数值,按“sqrt”控件时,当你输入的数值为负数,就不能显示结果,当为正数,就会显示开放后的数值。
voidCCalculatorDlg:
:
OnNumber19()//倒数
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=5;
if(data1==0)
MessageBox("0不能取倒数!
");
else
value=1/data1;
m_show=value;
UpdateData(FALSE);
}
先输入任意数值,当按“1/X”控件时,就会对该数进行倒数的运算。
voidCCalculatorDlg:
:
OnNumber20()//等于
{
data2=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
switch(type)
{
case0:
value=data1+data2;break;
case1:
value=data1-data2;break;
case2:
value=data1*data2;break;
case3:
if(data2==0)
MessageBox("0不能为除数!
");
else
value=data1/data2;break;
case4:
value=sqrt(data1);break;
case5:
value=1/data1;break;
case6:
value=data1*data2;break;
}
m_show=value;
UpdateData(FALSE);
}
当计算的时候涉及到多个数进行运算时,就会需要按控件“=”来得出结果。
voidCCalculatorDlg:
:
Oncos()
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=4;
value=cos(data1*3.1425926/180);
m_show=value;
UpdateData(FALSE);
}
对输入的数值进行余弦运算。
voidCCalculatorDlg:
:
Onsin()
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=4;
value=sin(data1*3.1415926/180);
m_show=value;
UpdateData(FALSE);
}
对输入的数值进行正弦运算。
voidCCalculatorDlg:
:
Onlg()//十为底对数
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=4;
if(data1<0)
MessageBox("负数不能取对数!
");
else
value=log10(data1);
m_show=value;
UpdateData(FALSE);
}
对输入的数值进行以十位为底的对数运算。
voidCCalculatorDlg:
:
Onln()//自然数为底的对数
{
data1=value;
decimal=0;
data_int=0;
data_dec=0;
count=10;
type=4;
if(data1<0)
MessageBox("负数不能对数!
");
else
value=log(data1);
m_show=value;
UpdateData(FALSE);
}
对输入的数值进行以自然数为底的对数运算。
测试按键显示功能,如图所示输入95624
测试加减乘除运算,结果如图所示是进行乘法95*76,得到结果为,经验证7220结果正确
倒数运算,如图所示为6的倒数,结果为0.166666666,经验证是正确的;
测试开方,图中所示为4的2次方,结果为2
测试对数函数,图中所示为求ln5,结果为1.6094…
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 实验 报告