2017-03-07 92 views
-2

我發現聲明有困難。在C++中使用&&的聲明和初始化

請看我在寫什麼。

int choice:>=1&&<=100 

通過書面方式在上述我希望在用戶將輸入一個選擇,從(1-100)開始從1-100意義將輸入的任何整數的代碼以後使用。

然而書面方式上述聲明和初始化,當我 得到埃羅messageL

38 15 G:\歡迎Message.cpp [錯誤] 之前預期初始化 ':>' 令牌

可以單獨解釋爲什麼我得到錯誤,以及如何正確地寫入上面的聲明和初始化。

+1

我認爲你需要問你的老師的幫助(如果適用)或閱讀[好C++的書(http://stackoverflow.com/questions/388242/the-definitive-c-book-guide -and列表)。 – qxz

+1

除了答案中提到的問題,':>'是一個**有向圖**;本質上,它被替換爲單個字符']'。 –

回答

1
int choice:>=1&&<=100. 

你並不真正「比較」任何東西。當你這樣做時,你想要做的是,是否選擇大於或等於1,並且選擇小於或等於100.你的代碼說的更「人性化」,更自然。 IS選擇大於或等於1,AND小於或等於1。但請記住,我們的電腦是非常愚蠢的,所以你需要更精確地聲明它,像這樣......

choice >= 1 && choice <= 100 

此外,請務必到別的地方申報的選擇。像這樣......

int choice = 5; 
... 
if(choice >= 1 && choice <= 100){ 
    ... 
} 
3

您已經混淆了數據類型聲明,用戶輸入和範圍測試。這些不是神奇的C++語句 - 它們是三個獨立的東西。

int choice; 
if(std::cin >> choice && choice >= 1 && choice <= 100) 
{ 
    std::cout << "Valid choice: " << choice << std::endl; 
} 
else 
{ 
    std::cout << "Invalid choice" << std::endl; 
}