これは、C++を使用した原則と実践からの演習であり、if チェックを使用して基本的な通貨コンバーターを作成し、スイッチで再作成しました。または私の中間スイッチを除いて、すべてがかなりうまく動作します。プログラムの残りの部分のようには機能しないようです。111y、111pなどのデータを入力しても、他のすべてのデータは問題ありませんが、ユーロを使用する場合は、空白が必要です。そうしないと、デフォルトのスイッチに移動します。ブレークポイントを実行しましたが、通貨が e または E に設定されておらず、ユーロのみです!
ばかげたことではないことを願っていますが、Bjarneがこれについて説明していないことに混乱しています:PIはコードに#include iostreamを持っていません。すべて* std_lib_facilities*で処理されるためです。それをXD
#include "std_lib_facilities.h"
using namespace std;
int main()
{
double dollar = 0;
char currency = ' ';
const double yen = 0.010;
const double euro = 1.31;
const double pound = 0.65;
double sum = 0;
cout << "Please enter amount and Y for yen or E for Euro or P for pound.\n";
cin >> dollar >> currency;
switch(currency)
{
case 'Y': case'y':
{
sum = dollar * yen;
cout << dollar << " is equal to " << sum << " yen.\n";
break;
}
case 'E': case'e':
{
sum = dollar * euro;
cout << dollar << " is equal to " << sum << " euro.\n";
break;
}
case 'P': case'p':
{
sum = dollar * yen;
cout << dollar << " is equal to " << sum << " pound.\n";
break;
}
default:
cout << "Wrong values...\n";
break;
}
keep_window_open();
return 0;
}