看板 C_and_CPP 關於我們 聯絡資訊
從檔案(c.txt)讀入一算術四則運算式,計算並列印其結果。 (1)運算式包含+-*/四則算術運算 (2)輸入數字可能包含小數點 (3)不分+-*/一律由左而右依序計算 (4)運算式的最後結果依四捨五入後取整數值 以下幾個範例可供參考測試之: 範例輸入一: 15*3/8*10/3= 範例輸出一: 15*3/8*10/3=19 範例輸入二: 6.53*5+3-8= 範例輸出二: 6.53*5+3-8=28 遇到的問題: (題意請描述清楚) 範例輸入改變了:變成沒有'=' 15*3/8*10/3 while(op!='='){ 這一行我不管如何改就是不行! 希望得到的正確結果: 15*3/8*10/3 Ans=19 程式跑出來的錯誤結果: 一直跑-8-8-8-8-8-..... 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) windows c 6.0 有問題的code: (請善用置底文標色功能) http://paste.plurk.com/show/277435/ 補充說明: 有試過加寫程式 想法是num 或是 op抓到空白時就break 跳出while迴圈 but失敗了 .. 有請各位大大指點。3Q -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.162.115.222
loveme00835:這要看你檔案的內容, 直接結束還是最後有換行 07/06 20:36
joefaq:lex&&yacc 07/06 20:38
a5480277:我真的稿不懂你在問什麼耶...... 07/06 20:46
winterboy209:檔案的內容是直接結束! 請問有關鍵字嗎? 07/06 20:54
winterboy209:我試過'\0' 跟'\n' 放在while(op!=' '){ 但是失敗了 07/06 20:56
a5480277:你搞錯關鍵了啦... 07/06 20:58
a5480277:你在你迴圈的最後面+個system("pause"); 跑跑看 07/06 20:58
a5480277:你要先了解為何會錯 也就是為什麼會那樣跑 用實驗的方式 07/06 20:59
loveme00835:其實最快的方式是 metaprogramming... (逃 07/06 21:02
winterboy209:我改出來了 = =||| 07/06 21:19
winterboy209:http://paste.plurk.com/show/277443/ 07/06 21:20
a5480277:阿 因為你的檔案只有一行 所以你可以用end of file 07/06 21:21
winterboy209:哈哈~我好像就是用eof喔 07/06 21:23
ikari512:我也想到metaprogramming... 07/07 07:19