基本上,我希望限制用户使用以下代码输入正确格式的电子邮件地址。
cout << "Donor's Email: ";
cin >> email;
while (email != "@" && email != "."){
cout << "Please enter correct email format." << endl;
cout << "Donor's Email: ";
cin >> email;
}
不知何故,结果是,即使我输入了正确格式的电子邮件地址,但它仍然不断循环让我再次输入。有人请帮助我。谢谢。
难道你不想否定你的条件:即
while (!(email != "@" && email != "."))
其中,通过应用德摩根定律简化为
while (email == "@" || email == ".")
但这在我看来似乎不足以检查有效性("@@"
例如,肯定也是无效的)。考虑使用正则表达式库std::regex
&c。来自 C++11,在 Google 上搜索了“有效电子邮件地址的正则表达式”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句