计算器程序Word文档下载推荐.docx
- 文档编号:18434973
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:20
- 大小:16.92KB
计算器程序Word文档下载推荐.docx
《计算器程序Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算器程序Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
//TODO:
Addyourcontrolnotificationhandlercodehere
//设置LED灯亮
KillTimer
(1);
KillTimer
(2);
KillTimer(3);
KillTimer(4);
m_bValue=FALSE;
WriteFile(m_hDev,&
m_bValue,4,&
m_dwBytes,NULL);
}
OnButton2()
//设置LED灯熄灭
m_bValue=TRUE;
OnButton3()
m_cla=0;
SetTimer(1,1000,NULL);
OnTimer(UINTnIDEvent)
Addyourmessagehandlercodehereand/orcall
default
if(nIDEvent==1)
//设置LED闪烁
m_cla=m_cla+1;
if(m_bValue==FALSE)
if(m_cla==m_s1)
if(m_bValue==TRUE)
if(m_cla==m_s2)
if(nIDEvent==2)
//LED的循环
BYTEdata2[4]={0,0,0,0};
DWORDbytes;
if(m_bValue==1)
WriteFile(m_hDev1,data2,4,&
bytes,NULL);
m_bValue=0;
else
WriteFile(m_hDev1,data,4,&
m_bValue=1;
if(nIDEvent==3)
//LED的单闪
BYTEdata2[4]={data[0],0x00,0x00,0x00};
BYTEdata3[4]={0x00,data[1],0x00,0x00};
BYTEdata4[4]={0x00,0x00,data[2],0x00};
BYTEdata5[4]={0x00,0x00,0x00,data[3]};
m_cla=m_cla+1;
if(m_cla==m_s1)
if(i>
3)
i=0;
if(i==0)
if(i==1)
WriteFile(m_hDev1,data3,4,&
if(i==2)
WriteFile(m_hDev1,data4,4,&
if(i==3)
WriteFile(m_hDev1,data5,4,&
i=i+1;
if(nIDEvent==4)
//LED的右移
BYTEa;
a=data[3];
data[3]=data[2];
data[2]=data[1];
data[1]=data[0];
data[0]=a;
}
CDialog:
OnTimer(nIDEvent);
OnButton4()
BOOLb1,b2;
UINTq;
UINTval1=GetDlgItemInt(IDC_EDIT1,&
b1,FALSE);
UINTval2=GetDlgItemInt(IDC_EDIT2,&
b2,FALSE);
m_s1=0;
m_s2=0;
data[0]=0;
data[1]=0;
data[2]=0;
data[3]=0;
//获取Edit框的内容
memset(data,0,2);
if(b1)
inti1,n1;
charstr1[16];
n1=sprintf(str1,"
%d"
val1);
n1=n1>
2?
2:
n1;
for(i1=0;
i1<
i1++)
q=0;
q=str1[i1]-'
0'
;
data[i1+2]=ledfont[q];
m_s1=m_s1*10+q;
if(b2)
inti2,n2;
charstr2[16];
n2=sprintf(str2,"
val2);
n2=n2>
n2;
for(i2=0;
i2<
i2++)
q=0;
q=str2[i2]-'
data[i2]=ledfont[q];
m_s2=m_s2*10+q;
OnButton5()
//数码管显示数据
OnButton6()
{
//TODO:
UINTval3=GetDlgItemInt(IDC_EDIT3,&
UINTval4=GetDlgItemInt(IDC_EDIT4,&
memset(data,0,4);
if(b1)
val3);
4?
4:
data[i1]=ledfont[q];
val4);
OnButton7()
//数码管闪烁效果
SetTimer(2,1000,NULL);
OnButton10()
//加法
BOOLb;
data[3]=0;
UINTval=GetDlgItemInt(IDC_EDIT5,&
b,FALSE);
//获取
EDIT框的内容
if(b)
inti,n,q;
charstr[6]={0,0,0,0,0,0};
n=sprintf(str,"
val);
n=n>
n;
if(str[3]==0)
q=1;
if(str[2]==0)
q=2;
if(str[1]==0)
q=3;
for(i=q;
i<
n+q;
i++)
data[i]=str[i-q]-'
ii=1;
OnButton11()
//减法
if(b)
for(i=q;
ii=2;
OnButton12()
//乘法
if(str[3]==0)
ii=3;
OnButton13()
//除法
if(str[2]==0)
ii=4;
OnButton14()
//等式
DWORDbytes;
intm,m1,m2,m3,m4;
UINTval=GetDlgItemInt(IDC_EDIT6,&
memset(data2,0,4);
data2[i]=str[i-q]-'
if(ii==1)
m=data[0]*1000+data[1]*100+data[2]*10+data[3]+data2[0]*1
000+data2[1]*100+data2[2]*10+data2[3];
if(m>
9999)
m=m-m/10000*10000;
m1=m/1000;
m2=(m-m1*1000)/100;
m3=(m-m1*1000-m2*100)/10;
m4=m-m1*1000-m2*100-m3*10;
if(ii==2)
m=data[0]*1000+data[1]*100+data[2]*10+data[3]-data2[0]*1
000-data2[1]*100-data2[2]*10-data2[3];
if(ii==3)
m=(data[0]*1000+data[1]*100+data[2]*10+data[3])*(data2[0]
*1000+data2[1]*100+data2[2]*10+data2[3]);
9999)
if(ii==4)
m=(data[0]*1000+data[1]*100+data[2]*10+data[3])/(data2[0]
data[0]=ledfont[m1];
data[1]=ledfont[m2];
data[2]=ledfont[m3];
data[3]=ledfont[m4];
WriteFile(m_hDev1,data,4,&
SetDlgItemInt(IDC_EDIT7,m);
OnButton9()
SetTimer(3,1000,NULL);
OnButton8()
SetTimer(4,1000,NULL);
2、GPIOLEDDlg.h程序代码
constBYTE
ledfont[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};
classCDigiDlg:
publicCDialog
//Construction
public:
CGPIOLEDDlg(CWnd*pParent=NULL);
//standard
constructor
HANDLEm_hDev;
//声明一个句柄用来接收WriteFile的返
回值
BOOLm_bValue;
//m-bValue是一个二进制的变量用来控
制LED的状态
DWORDm_dwBytes;
//声明了一个双字类型的变量用作
WriteFile的参数
UINTm_cla;
//计数器的计数时间参数
BYTEdata[4];
//文本框输入数据
BYTEdata1[4];
//LED时间控制文本框输入数据
HANDLEm_hDev1;
//声明一个句柄用来接收CreateFile
的返回值
DWORDm_dwWrittenBytes;
//声明了一个双字类型的变
量用作CreateFile的参数
UINTm_s1;
//亮灯时间
UINTm_s2;
//灭灯时间
UINTi;
//循环计数
UINTii;
//记录运算类型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算器 程序