VC程序设计
班级:自动0603
学号:20064877
姓名:西南科技大学
简单的计算器设计
选题:本打算编一个绘图板也比较好耍,但是出于实用方面来衡量觉得绘图板没计算器有利用价值,于是深入调查,搜索相关资料,开始了自己的设计。
任务:编辑一个很简单的计算器完成加减乘除等基本运算。
实验内容:
软件概况。
程序主工作界面:
本软件是一个比较实用的计算器,所以尽量简单一点会好些。个人认为要操作起来简便快节的才是它做重要的,也是最主要是实用价值。所以特此声明,此程序简单实用。
主界面
主界面上包含了一些小的空件,编辑框他们各自完成自己的责任,对各个控件进行相应的编辑就可以完成起基本功能。加法
运算
减法
运算
乘法
运算
除法
运算
取倒数
开方
清除
取正负
退位
利用vc可以方便得在一个对话框中加入编辑框,文本框,图片等。
建立一个对话框程序,在对话筐上进行编辑,使之产生出一些按钮,还有是提供运算用的编辑框。
,就是对这些按钮进行对应的编辑。
主要实现程序:
void CMyPt9Dlg::OnNumberKey(UINT nID)
{
int n=0;
switch(nID)
{
case IDC_BUTTON1:n=1;break;
case IDC_BUTTON2:n=2;break;
case IDC_BUTTON3:n=3;break;
case IDC_BUTTON4:n=4;break;
case IDC_BUTTON5:n=5;break;
case IDC_BUTTON6:n=6;break;
case IDC_BUTTON7:n=7;break;
case IDC_BUTTON8:n=8;break;
case IDC_BUTTON9:n=9;break;
case IDC_BUTTON10:n=0;break;
}
通过这段程序实现当书边点击0~9的按钮,通过已经编辑在内的地址识别,调用以后,在编辑框中就会出现相应的数字。
void CMyPt9Dlg::cal()
{
switch(OperationState)
{
case 1:m_number=(double)number1/number2;NumberState=1;UpdateData(FALSE);break;
case 2:m_number=number1*number2;NumberState=1;UpdateData(FALSE);break;
case 3:m_number=number1+number2;NumberState=1;UpdateData(FALSE);break;
case 4:m_number=number1-number2;NumberState=1;UpdateData(FALSE);break;
}
OperationState=0;
}
其中,m_number为定义的一个在编辑框中显示数据的变量。NumberState=1 是第一个数。UpdateData(FALSE)这是在算完一次以后,对数据进行更新,用以保存这个数据以用于进行下一次计算。
if(NumberState==1)
{
m_number=m_number*10+n;
number1=m_number;
UpdateData(FALSE);
}
else
{
m_number=m_number*10+n;
number2=m_number;
UpdateData(FALSE);
}
这就是实现对运算中的两个数据进行处理了一点程序。if后NumberState==1是把第一个数付值给变量number1,不然的话将数据付值给number2。m_number=m_number*10+n;就是实现数据的叠加,比如输入1,2就实现了12的输入。
上面的都的一些子程序,要将这些小孩子融入一个大家庭中,是现在要做的事。就像把几条河流分支汇集到一起便成了大江一样。
void CMyPt9Dlg::onOperationKey(UINT nID)
{
switch(nID)
{
case IDC_BUTTON11:m_number=-m_number;
if(NumberState==1)
number1=m_number;
else
简单的计算器设计-VC 来自淘豆网www.taodocs.com转载请标明出处.