中易网

vs2012未定义标识符,怎么解决?

答案:1  悬赏:20  
解决时间 2021-02-21 00:41
vs2012未定义标识符,怎么解决?
最佳答案
缺少edit5  edit6   edit7这三个edit控件, 但是代码里面又要调用, 所以要报错.
计算器代码我发个给你



edit控件:增加控件变量:m_edit
新建上述button 分别更改为:IDC_0........IDC_9, IDC_AC, IDC_C , IDC_CHU(除) , IDC_CHENG(乘) , IDC_J(减) , IDC_ADD(加) , IDC_DOT(点) , IDC_DY(等于)
全局变量: 
CString str1, str;
int flag = 0; //0为无,1为加,2为减,3为乘,4为除
bool bflag = false; //输入是否为第二个操作数

代码如下:
void CcalcDlg::OnBnClickedAc()    //AC
{
flag = 0;
bflag = false;
str1 = _T("");
str = _T("");
m_edit.SetWindowTextW(_T(""));
}




void CcalcDlg::OnBnClickedC()     //C
{
OnBnClickedAc();
}




void CcalcDlg::OnBnClicked1()     //1
{
if (bflag==true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str == _T("0"))
{
str = _T("1");
}
else
{
str = str + _T("1");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClicked2()     //2
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str == _T("0"))
{
str = _T("2");
}
else
{
str = str + _T("2");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClicked3()     //3
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str == _T("0"))
{
str = _T("3");
}
else
{
str = str + _T("3");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClicked4()     //4
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str == _T("0"))
{
str = _T("4");
}
else
{
str = str + _T("4");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClicked5()     //5
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str == _T("0"))
{
str = _T("5");
}
else
{
str = str + _T("5");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClicked6()     //6
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str == _T("0"))
{
str = _T("6");
}
else
{
str = str + _T("6");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClicked7()     //7
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str == _T("0"))
{
str = _T("7");
}
else
{
str = str + _T("7");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClicked8()     //8
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str == _T("0"))
{
str = _T("8");
}
else
{
str = str + _T("8");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClicked9()     //9
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str == _T("0"))
{
str = _T("9");
}
else
{
str = str + _T("9");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClicked0()     //0
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str != _T("0"))


{
str = str + _T("0");
m_edit.SetWindowTextW(str);
}
}




void CcalcDlg::OnBnClickedDot()   //点
{
if (bflag == true)
{
str1 = str;
str = _T("");
bflag = false;
m_edit.SetWindowTextW(_T(""));
}
if (str.Find('.') != -1)
return;
if (str == _T("0") || str == _T(""))
{
str = _T("0.");
}
else
{
str = str + _T(".");
}
m_edit.SetWindowTextW(str);
}




void CcalcDlg::OnBnClickedChu()   //除
{
if (str != _T(""))
{
flag = 4;
bflag = true;
}
}




void CcalcDlg::OnBnClickedCheng()   //乘
{
if (str != _T(""))
{
flag = 3;
bflag = true;
}
}




void CcalcDlg::OnBnClickedJ()     //减
{
if (str != _T(""))
{
bflag = true;
flag = 2;
}
}




void CcalcDlg::OnBnClickedAdd()   //加
{
if (str != _T(""))
{
flag = 1;
bflag = true;
}
}




void CcalcDlg::OnBnClickedDy()    //等于
{
double a, b;
b = _ttof(str);
a = _ttof(str1);
CString s;
switch (flag)
{
case 1:     //加


s.Format(_T("%f"), a + b);


break;
case 2:     //减


s.Format(_T("%f"), a - b);


break;
case 3:     //乘
s.Format(_T("%f"), a * b);


break;
case 4:     //除
if (str != _T("0"))
{
s.Format(_T("%f"), a / b);
}
else
{
MessageBox(_T("除数为0"));
OnBnClickedAc();
}
break;
default:
s = _T("");
}
int f = s.Find('.');
if (f != -1)
{
int i = s.GetLength();
while ('0' == s.GetAt(i - 1))
{
s.Delete(i - 1, 1);
i--;
}
i = s.GetLength();
if ('.' == s.GetAt(i - 1))
{
s.Delete(i - 1, 1);
}
}


m_edit.SetWindowTextW(s);
str = _T("");
str1 = _T("");
flag = 0;
bflag = false;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
东风镇中心卫生院在什么地方啊,我要过去处理
为什么网页控件失灵 在其他电脑上面能打开
用秋字的成语有哪些
北岩山地址在哪,我要去那里办事
奇瑞qq3 加多少号汽油 加90号的 行吗
柯坑在哪里啊,我有事要去这个地方
满朝文武爱上我
U盘分区损坏了,怎么办啊,该怎么恢复啊?求
随食随递(红星街店)在什么地方啊,我要过去处
error C2660: 'add' : function do
检查是否怀孕应该去海淀妇幼哪个院
怎么鸿业暖通水管是DN70改成DN65管径
生猪肚怎么样才能做的好吃
i5 4590 配什么显卡和主板
求钢铁侠蓝光或者1080p的百度云资源,最后没
推荐资讯
名妆美业地址有知道的么?有点事想过去
我是圆脸,什么眉型比较适合呢,本身的眉毛有
我是学商务英语的,想自考,但是不知道怎么报
为什么说杀生和慈善在老猎人身上共存?
深圳最小的区
怎么在后台给前台的echart传递数据
升级后的华为mate8怎么变大
美丽菜馆地址在什么地方,想过去办事
热爱旅游的人是叫旅游狂还是旅游迷
一汽佳星牌 CA6410A1与一汽森雅M80是同一品牌
坡头区湛江中国移动(坡头营业厅)这个地址在什
lg v20与note5待机时间哪个好
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?