Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。
寫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 71 0 年前
四個問題:
1. a 是 int, cin >> a 會觸發取得整數的程式, 無法接受 + - * / 輸入. a 必須宣告成 char.
2. 要輸入字元字面常數, 必須用單引號 ' 包住. 例如 '+', '-', '*', '/'. 否則會被當成運算子處理, 導致 syntax error.
3. 要比較左右兩邊是否相等, 必須使用 == 運算子. 若用 = 會將等號右邊的值指派給左邊.
4. cout 的 << 右邊不能不接東西.