C++ 在c+中验证电子邮件时遇到问题+;
请帮助我,我在验证我使用的此程序中的电子邮件地址时遇到问题 我正在工作。我的最后两件事是使电子邮件有效一个月sam@this.com及 将电话号码转换为xxx xxx xxxx格式。代码如下:C++ 在c+中验证电子邮件时遇到问题+;,c++,visual-c++,C++,Visual C++,请帮助我,我在验证我使用的此程序中的电子邮件地址时遇到问题 我正在工作。我的最后两件事是使电子邮件有效一个月sam@this.com及 将电话号码转换为xxx xxx xxxx格式。代码如下: #include<iostream> using namespace std; class contact{ private: string lname; string fname; string address; string email; stri
#include<iostream>
using namespace std;
class contact{
private:
string lname;
string fname;
string address;
string email;
string phonenumber;//bool checkphonenumber(string phonenumber)
public:
void output();
void input();
bool checkemail(string email);
//constructor name has to be the same as class
contact(string contact_lname,//parameters
string contact_fname,
string contact_address,
string contact_phonenumber,
string contact_email ){
lname = contact_lname;
fname = contact_fname;
address = contact_address;
phonenumber = contact_phonenumber;//bool checkphonenumber(string phonenumber)
email = contact_email;
}
contact(){//set all variables to null
lname = "";
fname = "";
address = "";
phonenumber = "";
email = "";
}
//set
void setlname(string contact_lname){lname = contact_lname;}
void setfname(string contact_fname){fname = contact_fname;}
void setAddress(string contact_address){address = contact_address;}
//get
string getlname(){return lname;}
string getfname(){return fname;}
string getaddress(){return address;}
};//end class
//to prevent overload run function outside
void contact::output()
{
cout << "Contact name is: " << fname <<" "<< lname <<endl;
cout << "Address is: " << address << endl;//address is not been filtered
cout << "Email Address is: " << email << endl;
}
bool contact::checkemail(string email) {
for(int a = 0; a < email.size(); a++) {
if(email.at(a) = '@') return true;
}
return false;
}
void contact::input(){
cout<<"enter last name: ";
cin>>lname;
cout<<"enter first name: ";
cin>>fname;
cout<<"Enter address: ";
cin>>address;
cout<<"enter email ";
cin>>email;
while (!checkemail(email)) {
cout << "that is an invalid email address, re-entry email address." ;
cin>>email;
}
cout<<"enter phone number ";
cin>>phonenumber;
}
int main(){
contact c;
c.input();
c.output();
return 0;
}
#包括
使用名称空间std;
班级联系{
私人:
字符串名称;
字符串fname;
字符串地址;
字符串电子邮件;
string phonenumber;//bool checkphonenumber(string phonenumber)
公众:
无效输出();
无效输入();
bool checkemail(字符串电子邮件);
//构造函数名称必须与类相同
contact(字符串contact_lname,//参数
字符串联系人名称,
字符串联系人地址,
字符串联系人电话号码,
字符串联系人(电子邮件){
lname=联系人名称;
fname=联系人\ fname;
地址=联系地址;
phonenumber=联系人\u phonenumber;//bool checkphonenumber(字符串phonenumber)
电子邮件=联系电子邮件;
}
contact(){//将所有变量设置为null
lname=“”;
fname=“”;
地址=”;
电话号码=”;
电子邮件=”;
}
//设置
void setlname(字符串contact_lname){lname=contact_lname;}
void setfname(字符串contact_fname){fname=contact_fname;}
void setAddress(字符串contact_address){address=contact_address;}
//得到
字符串getlname(){return lname;}
字符串getfname(){return fname;}
字符串getaddress(){返回地址;}
};//末级
//为防止过载,请在外部运行功能
void contact::output()
{
cout如果checkemail
中的语句使用的是赋值运算符,而不是比较运算符。那么到底是什么问题?没有解释的代码转储对任何人都没有帮助。请改进您的valide电子邮件测试,因为它太“轻”。您在理解哪一个编译器警告时有困难?还是您可以验证“today@noon“作为电子邮件地址?
bool contact::checkemail(string email) {
for(int a = 0; a < email.size(); a++) {
if(email.at(a) = '@') return true;
}
return false;
}
void contact::input(){
cout<<"enter last name: ";
cin>>lname;
cout<<"enter first name: ";
cin>>fname;
cout<<"Enter address: ";
cin>>address;
cout<<"enter email ";
cin>>email;
while (!checkemail(email)) {
cout << "that is an invalid email address, re-entry email address." ;
cin>>email;
}
}