2015-04-05 81 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轉換爲一個整數。但它會在這裏作爲一個字符串。