我用C++編寫了這個簡單的計算器。它不斷地接受輸入,但是遇到了麻煩,把我的操作變量定義爲char,因爲它讓我無法退出程序。這裏的代碼:簡單的C++連續計算器,不能退出程序
#include <iostream>
int main(){
long double num1, num2; char operation;
std::cout << "Welcome to the calculator!\n\nInput numbers and operations to begin. (2+2) Then hit enter.\n\nThe calculator will continue to expect an operation and number (e.g. +6)\nuntil you enter \"q\" as an operation.\n\nEnter \"q\" as an operation to quit.\n\n";
std::cin >> num1 >> operation >> num2;
do{
switch(operation){
case '+':
num2 += num1;
break;
case '-':
num2 -= num1;
break;
case '/':
num2 /= num1;
break;
case '*':
num2 *= num1;
break;
default:
std::cout << "Not a valid operation. Try again.";
break;
}
std::cout << num2;
} while (std::cin >> operation >> num1);
return 0;
}
該程序運行良好,完美的作品,我只是不知道如何退出。我試圖讓'q'返回0,但它似乎不工作,因爲我的do-while需要2個輸入...任何想法或想法?
好的,現在我有一個新問題。如果我輸入2-9,它會吐出7,而不是-7。但是如果我輸入2 + -9,它會吐出-7。爲什麼這樣做? – UnderTheSi
如果我輸入2-9,它會在我的控制檯中吐出-7。你修改了代碼嗎? – Emu
不,我有相同的代碼。有趣的是,如果我通過了一個正數的第一次運行,那麼在此之後所有時間都會顯示負數。沒關係,我明白了。正如@DieterLücking在下面提到的那樣,我的' - '和'/'操作搞砸了。謝謝你們的幫助! – UnderTheSi