と比較しても問題ありません。さまざまな種類のお金をドルに変換して練習しています。何らかの理由で、char変数の入力として 'e'をタイプし、if文で 'e'と比較すると、比較はできませんが、別の文字に置き換えればうまく動作します。どうしたんだ? HERESにコード:ここで文字 'e'を入力して
int main()
{
const double yen_per_dollar = .013;
const double pound_per_dollar = 1.55;
const double euro_per_dollar = 1.29;
double amount = 1;
char unit = ' ';
std::cout << "Please enter a amount followed by a unit (p, y, or e): ";
std::cin >> amount >> unit;
if (unit == 'y')
std::cout << amount << " yen is $" << amount * yen_per_dollar << " dollars.\n";
if (unit == 'p')
if (amount == 1)
std::cout << amount << " pound is $" << amount * pound_per_dollar << " dollars.\n";
else
std::cout << amount << " pounds is $" << amount * pound_per_dollar << " dollars.\n";
if (unit == 'e')
if (amount == 1)
std::cout << amount << " euro is $" << amount * euro_per_dollar << " dollars.\n";
else
std::cout << amount << " euros is $" << amount * euro_per_dollar << " dollars.\n";
else
std::cout << "Sorry, that input isn't in the correct format." << std::endl;
std::cin >> amount; // Keeps window open
}
'3.14e20'は' double'値の有効な指定です。乾杯、 –
ああ、私はそれが何かを持っているかもしれないと思っていました。ちょうど学年の表記を覚えています。ありがとう。 – Fuddlebutts
'system(" pause ");'のようなプラットフォーム依存のテクニックを使ってプログラムを人工的に一時停止しないでください。問題が「ウィンドウが消えてしまう」という問題がある場合は、プログラムの実行時間をウィンドウの寿命と結びつけないようにプログラムを別々に実行してください。あなたのプログラム**はコマンドウィンドウ**を作成しないので、それを維持するのは論理的に責任がありません。 –