[問題]計算機程式

看板C_and_CPP作者 (藍光懸月)時間15年前 (2009/06/01 23:33), 編輯推噓4(405)
留言9則, 5人參與, 最新討論串1/1
我想寫一個計算機程式來做簡單計算,如:7-5+60*8 等之類的 以下是我的程式碼: #include<iostream> using namespace std; void main() { double keyin; double answer=0; char op,e; while(1) { cout<<"輸入一個數 :"<<endl; cin>>keyin; cout<<"輸入計算方式:+,-,*,/或按e輸出運算結果"<<endl; cin>>op; do { switch(op) { case '+': answer=answer+keyin;break; case '-': answer=answer-keyin;break; case '*': answer=answer*keyin;break; case '/': answer=answer/keyin;break; case 'e': goto jj;break; } } while (op == ' '); } jj: cout<<"計算結果:"<<answer<<endl; system("pause"); } 為什麼我都算不出正確的值?? 想請大家告訴我哪裡錯了 = =a 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.214.57

06/01 23:48, , 1F
運算子有優先權高低的問題 建議查書有關stack的部分
06/01 23:48, 1F

06/01 23:50, , 2F
我好像誤會了 不要理我= =
06/01 23:50, 2F

06/01 23:57, , 3F
剛剛用vs試了一下 沒問題
06/01 23:57, 3F

06/02 00:40, , 4F
沒問題?? 可是我輸入20+5 結果算出來竟然是20 暈@@
06/02 00:40, 4F

06/02 00:45, , 5F
我是用vc++6.0下去跑的
06/02 00:45, 5F

06/02 01:32, , 6F
你最後一個operand都沒用到
06/02 01:32, 6F

06/02 07:12, , 7F
輸入時: 1 + 1 + ====>變正確,反之則沒運算到
06/02 07:12, 7F

06/02 07:15, , 8F
建議修改Bug
06/02 07:15, 8F

06/03 05:29, , 9F
謝謝大家指點,我試出來了
06/03 05:29, 9F
文章代碼(AID): #1A8_JQzQ (C_and_CPP)