Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

?
Lv 7
? 發問時間: 電腦與網際網路程式設計 · 1 0 年前

寫c++程式有錯誤

1.#include<iostream>

using namespace std;

int main()

{

int a,b,c,d;

cout <<"請輸入欲運算的符號(+,-,*,/)";

cin >> a;

cout << "請輸入欲運算的數字第1個";

cin >>b;

cout << "請輸入欲運算的數字第2個";

cin >>c;

if(a=+){cout << b+c <<;} ;

if(a=-){cout << b-c <<;};

if(a=*){cout << b*c <<;};

if(a=/){cout << b/c <<;};

system("pause");

}

上面的我覺得好像沒錯但是卻不能跑

錯在哪呢??

4 個解答

評分
  • 1 0 年前
    最佳解答

    d沒用到,我砍了

    #include<iostream>

    using namespace std;

    int main()

    {

    int b,c;

    char a;

    cout <<"請輸入欲運算的符號(+,-,*,/)";

    cin >> a;

    cout << "請輸入欲運算的數字第1個";

    cin >>b;

    cout << "請輸入欲運算的數字第2個";

    cin >>c;

    if(a=='+')

    cout << b+c ;

    if(a=='-')

    cout << b-c ;

    if(a=='*')

    cout << b*c ;

    if(a=='/')

    cout << b/c ;

    cout << '\n';

    system("pause");

    return EXIT_SUCCESS;

    }

    你所犯的錯誤意見裡都說了

    + - * /這種字元必須使用char

    ==才是等於,=是把右邊的東西放到左邊

    參考資料: me
  • 1 0 年前

    這個嘛......

    就我的一點想法來說

    大大可能忘了

    加減乘除的符號都是字元

    所以a應該要定義為字元char

    還有

    一個等號代表取代

    例 執行 a = b 的結果

    是 a 的值會變成 b 的值

    而如果要寫比較式的話

    就得寫 a == b

    所以if敘述就會有錯誤

    再來

    大大應該是想寫 「a 等於哪個符號吧」?

    可是加減乘除的符號都是字元

    所以可以把它用單引號框起來

    我看到的錯誤大概就是這些

    祝大大寫程式順利!

  • ?
    Lv 7
    1 0 年前

    你可不可以把修正過後整個打出來給我看看

    謝謝!

  • 其威
    Lv 7
    1 0 年前

    四個問題:

    1. a 是 int, cin >> a 會觸發取得整數的程式, 無法接受 + - * / 輸入. a 必須宣告成 char.

    2. 要輸入字元字面常數, 必須用單引號 ' 包住. 例如 '+', '-', '*', '/'. 否則會被當成運算子處理, 導致 syntax error.

    3. 要比較左右兩邊是否相等, 必須使用 == 運算子. 若用 = 會將等號右邊的值指派給左邊.

    4. cout 的 << 右邊不能不接東西.

還有問題?馬上發問,尋求解答。