2016-10-02 121 views
-2

我正在嘗試製作一個可以識別直角三角形的公式。我遇到了「a」和=號的問題。表達式必須是L值

錯誤1:'=';左操作數必須是l值。
錯誤2:「a」。表達式必須是一個可修改的左值。

任何幫助?

#include "stdafx.h" 
#include <iostream> 
#include <cstdio> 
#include <cmath> 

using namespace std; 


int main() 
{ 
    int a; 
    int b; 
    int c; 
    cout << "Input value for A." << endl; 
    cin >> a; 
    cout << "Input value for B. " << endl; 
    cin >> b; 
    cout << "Input value for C. " << endl; 
    cin >> c; 

    a^2 + b^2 = c^2; 
    return 0; 
} 
+2

'一^ 2 + B^2'沒有可分配的表情,什麼是如此難以瞭解關於這個事實? –

+0

你希望通過寫「a^2 + b^2 = c^2」來完成什麼?這顯然是錯誤的,但沒有解釋你期望在這裏完成什麼,沒有答案是可能的。此外,您是否知道'^'是C++中的獨佔運算符,而不是指數? –

+0

如果您正在測試相等使用== –

回答

0

^運算符用於在C++中獲取按位XOR。 你應該做它在以下方式:

,而不是a^2 + b^2 = c^2聲明,寫這樣一個塊:

if(pow(c, 2) == pow(a, 2) + pow(b, 2)) 
     std :: cout << "true"; 
    else 
     std :: cout << "false";