急,C++高手们救命啊...在线等...

来源:百度知道 编辑:UC知道 时间:2024/05/25 04:40:11
我是一个十足的C++菜鸟,遇到一个程序不会写,大家救命啊.....
要求:设计一个程序来确认和设计电话号码。代码必须包括以下函数
1、清除输入的字符 [(,),.,#,*,-,b]
void clean(string inStr, string &outStr);
2、确定你清除的字符长度,应该是10 或 11
bool isLengthOk(string inStr);
3、确定所有的数字
bool isNumeric(string inStr);
4、若果长度是11,那第一个数字是1
bool isFirstDigitOkForStr11(string inStr);
5、若果长度是10,哪第一个数字是0或者1
bool isFirstDigitOkForStr10(string inStr);
6、如果清除是有效地,那么把它显示出来
void display(bool ok, string inStr);

主函数要能召唤出所有的函数然后显示在屏幕上

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
const char cl[7] = {'(',')','.','#','*','-','b' };
void clean( string inStr,string& outStr )
{
for( int i=0;i<7;++i )
{
inStr.erase( remove( inStr.begin(),inStr.end(),cl[i] ) );
}
outStr = inStr;
}
bool isLengthOK( const string& inStr )
{
return ((inStr.size()==11)||(inStr.size()==10));
}
bool isNumeric( const string& inStr )
{
for( string::const_iterator it=inStr.begin(); it != inStr.end(); ++it )
{
if( !isdigit(*it) )
return false;
}
return false;
}
bool isFirstDigitOkForStr11( const string& inStr )
{
return ( ( inStr.size() == 11 )&&( inStr[0] == '1' ) );
}
bool isFirstDigitOkForStr10( const string& inStr )
{
return ( ( inStr.size() == 10 )&& ( inStr[0]=='