程序不会询问有关用户年龄的问题

时间:2015-04-05 08:28:05

标签: c++

我14岁,这是我第一次编程。

我试图制作这个基本的C ++程序,询问一些关于你自己的问题:

int main()
{
    int getInt(std::istream & is);
    std::string input;
    std::getline(is,input);
    return stoi(input);

    int age;
    string name, team, correct;
    cout << "What's your name? ";
    cin >> name;
    cout << "Hello " << name << ".\n";
    cout << "What is your favorite team? ";
    cin >> team;
    cout << "How old are you? ";
    cin >> age;
    cout << "So you are " << age << " called " << name << " and support " << team << ".\n";
    cout << "Is this correct? ";
    cin >> correct;

    if (correct == "yes")
    {
        cout << "Okay nice";
    }
    else
    {
        cout << "Please say yes next time";
    }

    return 0;
}

主要问题是它不会要求我的年龄。我已经尝试取出年龄部分,然后它在很大程度上起作用。

我需要帮助的第二件事是if-else语句。如果我说&#34;是&#34;我希望它是这样的。然后它会说&#34;好的&#34;,但如果我说别的话,我想要它说'#34;请下次再说'#34;

这将是更多小项目的基础,所以非常感谢帮助,谢谢:D

1 个答案:

答案 0 :(得分:0)

他编程的原因不是要求你的年龄是因为它遇到了

return stoi(input);

return语句用于为函数赋值(或其他取决于函数类型的函数),并且只要遇到return,函数就会退出。

这就是代码中发生的事情,main()在遇到return时退出。

现在,如果您删除

,此代码将按预期工作
int getInt(std::istream & is);
std::string input;
std::getline(is,input);
return stoi(input);

来自您的代码。你不需要那些代码就可以在这里工作。 (它将编译和工作没有问题)

我假设您希望将其转换为函数并使用它将age转换为整数。但它会在这里作为一个字符串。