2012-08-04 44 views
0

上週我剛剛學會了如何使用C++進行編程,並且我使用Microsoft Visual Studios 2010 express編寫了我的第一個程序。我家裏的電腦是Mac電腦,沒有MS Visual工作室,因此我決定使用xcode並將我的代碼從MS視覺工作室複製到xcode中。大多數情況下,除了xcode對布爾邏輯語法有問題外,沒有任何錯誤。這裏有幾個從我的代碼示例,它有一個問題:Mac上的xcode的C++布爾邏輯語法

if(place == 1) 
{ 

cout<< name << " 'IS NOW THE FASTEST JUNIOR IN THE UNITED STATES!!!\n"; 

cout<< "ABSOLUTLY INCREDIBLE!!!!! WHAT AN AMAZING RACE\n" 
    << endl 
    << endl; 

cout<< "You did it! You won the race and are now the fastest Junior skier in the USA!\n"; 

cout<< "All that hard work really paid off for you!\n"; 

    <<endl; 
} 
else (place >1) 
{ 
cout << "You skied a great race, but unfortunately you did not beat Ben.\n"; 

cout<< "You can always race again next year and shoot for gold.\n" 
    <<endl; 
} 

在出現的錯誤說:「表達式結果不使用。」我該如何解決?

+0

這看起來不正確的C++。否則不會給if語句這樣的條件。試試'else if(place> 1){/ * ... * /}' – Hassan 2012-08-04 17:34:30

+2

請發佈整個代碼或重要代碼段。 – Heisenbug 2012-08-04 17:35:14

+1

@Hassan:我認爲它是有效的代碼。你正確地指出'else'不能像'if',else(place> 1)那樣工作;''意味着在'else'部分評估'place> 1'的值並丟棄結果。 @Chris Rouw:錯誤是爲了表明你沒有使用被評估的值作爲表達式'(place> 1)'&'(restStopDecision == 2)' – 2012-08-04 17:41:17

回答

1

如果我們開始與您的代碼段的第一行(這是更容易閱讀和正確格式化後的理解):

else(place >1); 

這是一個if聲明的最後一部分,意味着如果if中的條件不正確,則在else之後執行該語句。在你的情況下,它是一個表達式,用於檢查place是否大於1,然後丟棄結果,所以它什麼都不做。您可能的意思是使用else if而不是僅使用else

接着看下一行:

else (restStopDecision == 2); 

在這裏,你再這樣做了同樣的錯誤,但是現在有else,其中沒有應該是,這本身就是一個錯誤。你在這裏的意思可能是else if

+0

可能第二個'else'與另一個'if'關聯(不管它是否打算)。 – 2012-08-04 19:19:38

+0

謝謝。我修復了這些錯誤,現在程序運行出現問題。 – 2012-08-04 21:57:02