2015-04-05 135 views
-3

我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语句。我希望如果我说“是”,那么它会说“好的”,但如果我说了其他的话,我想让它说“下次请说是”。

这将是更小的项目基础上,这样有利于将不胜感激,谢谢:d

+1

'return stoi(input);'其余的代码将永远不会到达。代码中的一致格式很有帮助。 – 2015-04-05 08:36:05

+1

欢迎来到[so]。由于看起来您正在学习C++,因此我建议您查看一些教程或拿起一本书来阅读([这个问题])(http://stackoverflow.com/questions/13512195/what-would- be-a-good-free-ce-book-or-tutorial-series-preferred-text)有几个供你参考)。如果你还没有掌握它的话,我建议你找一种不同的语言开始,然后当你能够更好地理解编程的一般概念时,你可以回到C++。 – 2015-04-05 08:39:43

回答

0

的原因,他的程序不要求你的年龄,因为遇到

return stoi(input); 

A return语句用于给函数一个值(或其他值,取决于函数的类型),并且每遇到return,该函数就会退出。

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

,您预期的那样,如果你从你的代码中删除

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

这段代码工作。你不需要那些代码在这里工作。 (它会编译和工作没有问题)

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