C++ 字符串编程训练5

手机号码合法性:

1)长度13位

2)以86的国家码打头

3)手机号码的每一位都是数字

标题:判断手机号码是否合法,输出对应值

说明:函数要求包括:

1)合法则返回0;

2)长度不合法则返回1;

3)包含非数字字符则返回2;

4)不以86开头则返回3.

int legal_phone(const string &str)
{
    if(str.size()!=13)//长度的判断
    {
      return 1;
    }
    if(str[0]!='8'&&str[1]!='6')//是否86开头的判断
    {
      return 3;
    }
    for(int i=0;i<str.size();i++)//是否有非数字的判断
    {
      if(!isdigit(str[i]))
      {
        return 2;
      }
    }
    return 0;
}

 

int main()
{
    string str;
    getline(cin,str);
    int res=legal_phone(str);
    cout<<res;
}

posted @ 2015-07-13 15:48  elnino10  阅读(190)  评论(0编辑  收藏  举报