这是一项来自使用 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;
}