菜鸟问题!请赐教!
我想写一个用户登录系统。用基于对话框的MFC实
我写的代码如下:
void CPpppDlg::OnButload()
{
UpdateData(true);
switch (m_idname)
{case "lius" :
if (m_password=="myprogram")
{MessageBox("管理员");
break;
}
else m_reginfor.SetWindowText("密码错误!请再输一遍!");
case "guest" :
if (m_password=="welcome")
{
MessageBox("游客");
break;
}
else m_reginfor.SetWindowText("密码错误!请再输一遍!");
default :
{MessageBox("请先注册!","信息提示:",MB_ICONEXCLAMATION);
break;}
}
}s
但却不可以,因为switch中不可加入case
请问我该如何处理?请赐教!
问题点数:0、回复次数:5Top
1 楼qrlvls( 空 气 )回复于 2004-12-03 21:12:07 得分 0
switch不能判断字符串
m_idname的类型是什么
不一定非要用switch-case结构啊,用
if ()
...
else if()
...
else if()
...
else
...
结构也是可以的Top
2 楼qrlvls( 空 气 )回复于 2004-12-03 21:12:54 得分 0
判断字符串可以先把字符串转换为CString
然后直接用CString的"=="操作符来完成
或者直接用 strcmp 来完成Top
3 楼guo_wei()回复于 2004-12-03 21:13:11 得分 0
怎么可能不能加case呢?你这段程序的语法有问题Top
4 楼EnochShen(小疯子:真的好菜—知耻而后勇!)回复于 2004-12-03 21:13:45 得分 0
switch(//这里要数字的),if就不用那么多的break了,除非你不想执行break后面的一个大括号里面的代码Top
5 楼HunterForPig(留着口水的猪)回复于 2004-12-03 23:10:19 得分 0
目前只知道c#才支持字符串,
c,c++只支持字符,数字,
所以判断字符串是就要如上面各位大哥说的用if else!:)Top




