从函数而不是句子中获取随机数字和字母

时间:2018-11-11 13:16:36

标签: c++

每当我运行该函数时,数字都会正确显示,而numbercheck()函数将显示随机数字。参见下文:

enter image description here

void numbercheck() 
{
if (number == 918 || number == 920 || number == 928) //Smart or TnT
{
    cout << " Is a Smart or Talk and Text number" << endl;
}

void enterdata(string data, int& data2) 
{
cout << "Please Enter your ";
cout << data.c_str() << endl;
cin >> data2;
}
void input1() 
{
system("cls");
PrintMessage("New Data");
enterdata("Mobile Number", number);
cout << number << numbercheck << endl;
}

2 个答案:

答案 0 :(得分:0)

您正在输出数字检查功能的地址。试试这个:

cout << number << numbercheck() << endl;

numbercheck是一个void函数,除非您实际上从可流化的函数中返回某些内容,否则您不能将其流式传输到cout。这可以替代:

std::string numbercheck() 
{
    if (number == 918 || number == 920 || number == 928) //Smart or TnT
    {
        return " Is a Smart or Talk and Text number";
    }
    return "";
}

答案 1 :(得分:-1)

您的函数numbercheck()是一个无效函数。将该行修改为

cout<<number<<"-"; numbercheck();

我也希望您的变量号是一个全局变量,否则会引发错误...

编辑:将功能void numbercheck()修改为void numbercheck(int number)

并使用input1()numbercheck(number);调用函数

建议您阅读有关c ++中的函数和指针的更多信息