[爆卦]c計算機程式碼是什麼?優點缺點精華區懶人包

為什麼這篇c計算機程式碼鄉民發文收入到精華區:因為在c計算機程式碼這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者duckbear (維尼)看板C_and_CPP標題[問題] 新手寫C++計算機 請求幫助>...


( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )

遇到的問題: (題意請描述清楚)
當輸入不是+ - * /時,如何要求重新輸入並繼續執行

希望得到的正確結果:
計算機能繼續執行

程式跑出來的錯誤結果:
當輸入完不是+ - * / 時 重新輸入後會關閉 不知道怎麼處理

開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
C++

補充說明:

這是小弟的程式碼

請鞭ˊˋ

#include "stdafx.h"
#include <iostream>
using namespace std;


int main(int argc, char* argv[]) {
double a;//數字1
double b;//數字2
char op;

cout <<"輸入第一個整數:";
cin >>a;
cout <<"輸入第二個整數:";
cin >>b;

do {
cout <<"請選擇+.-.*./:";
cin >>op;
switch(op){
case'+':
cout << "結果為 " << a << op << b << " 是 " <<a+b<< endl;
break;
case'-':
cout << "結果為 " << a << op << b << " 是 " <<a-b<< endl;
break;
case'*':
cout << "結果為 " << a << op << b << " 是 " <<a*b<< endl;
break;
case'/':
cout << "結果為 " << a << op << b << " 是 " <<a/b<< endl;
break;
default:
op = 'x';
cout << "錯誤輸入,請重新輸入:";
break;
}
}while (op != 'x');
cout <<"你所輸入是錯誤的:" << endl;
cin.clear();// 重新設定cin的讀取狀態
cin.sync();// 使用者剛才輸入的垃圾還留在 cin 的 buffer 中,用 sync() 可以清掉這些垃圾
cin >> op >> a >> b;
}

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.22.78
yakimo:while (op != 'x'); 應該是== ?? 12/29 01:27
yakimo:希望對你有幫助 12/29 01:28
duckbear:請問是改成 while (op == 'x'); 這樣嗎? 12/29 01:33
yakimo:如果我沒有誤會你的意思應該是改成==就會對 12/29 01:42
duckbear:我是希望說 重新輸入後 能繼續執行 但是我失敗了... 12/29 01:53
loveme00835:一樓正解 12/29 04:26
duckbear:可是我重新輸入正確的計算符號後,他就會停止運算,跳出了 12/29 10:15
duckbear:我該要怎麼繼續讓他繼續執行?不要跳開呢?? 12/29 10:15
yakimo:你最外面要再加一個while 12/29 13:34

你可能也想看看

搜尋相關網站