[問題] 新手寫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
推
12/29 01:27, , 1F
12/29 01:27, 1F
→
12/29 01:28, , 2F
12/29 01:28, 2F
→
12/29 01:33, , 3F
12/29 01:33, 3F
推
12/29 01:42, , 4F
12/29 01:42, 4F
→
12/29 01:53, , 5F
12/29 01:53, 5F
→
12/29 04:26, , 6F
12/29 04:26, 6F
→
12/29 10:15, , 7F
12/29 10:15, 7F
→
12/29 10:15, , 8F
12/29 10:15, 8F
推
12/29 13:34, , 9F
12/29 13:34, 9F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
14
30