C++ Switch语句,无法识别的输入
在使用if-else编写货币转换代码之后,我正在研究“编程原则和实践”,我正在使用switch语句编写一个 我有5种货币需要兑换,其中4种货币工作正常,1种(欧元,欧元)不工作。我不明白为什么,尽管我确信这很简单 这是我的密码C++ Switch语句,无法识别的输入,c++,switch-statement,C++,Switch Statement,在使用if-else编写货币转换代码之后,我正在研究“编程原则和实践”,我正在使用switch语句编写一个 我有5种货币需要兑换,其中4种货币工作正常,1种(欧元,欧元)不工作。我不明白为什么,尽管我确信这很简单 这是我的密码 #include <iostream> int main(){ constexpr double yen_to_dollars = 0.0091; constexpr double euro_to_dollars = 1.071; constexpr do
#include <iostream>
int main(){
constexpr double yen_to_dollars = 0.0091;
constexpr double euro_to_dollars = 1.071;
constexpr double pound_to_dollars = 1.279;
constexpr double yuan_to_dollars = 0.1452;
constexpr double kroner_to_dollars =0.1174;
double amount = 1;
char currency = ' ';
std::cout<<"Please enter an amount, followed by the type of currency you want to convert (Y, E, P, Z, K): \n";
std::cin >> amount >> currency;
switch(currency){
case 'Y':
std::cout << amount << " Yen = " << yen_to_dollars*amount << " dollars\n";
break;
case 'E':
std::cout << amount << " Euros = " << euro_to_dollars*amount << " dollars\n";
break;
case 'P':
std::cout << amount << " Pounds = " << pound_to_dollars*amount << " dollars\n";
break;
case 'Z':
std::cout << amount << " Yuan = " << yuan_to_dollars*amount << " dollars\n";
break;
case 'K':
std::cout << amount << " Krone = " << kroner_to_dollars*amount << " dollars\n";
break;
default:
std::cout << "That currency is unrecognised\n";
break;
}
}
#包括
int main(){
constexpr双日元兑美元=0.0091;
constexpr双倍欧元兑美元=1.071;
constexpr双英镑兑美元=1.279;
constexpr双倍人民币兑美元=0.1452;
constexpr双倍克朗兑美元=0.1174;
双倍金额=1;
字符货币=“”;
标准::金额>>货币;
交换机(货币){
案例“Y”:
std::coutcase'Z'
对应“元”?对于哪种货币,它不起作用?在进入开关之前,您是否尝试打印出这两个值?以确保它们符合您的预期?@Ross_Barkley您的代码工作正常。您是否在数字和字母之间留有空格?如果没有,则将E解释为数字的一部分。大小写“Z”
对应“元”?对于哪种货币,它不起作用?在进入开关之前,您是否尝试打印这两个值?以确保它们符合您的预期?@Ross_Barkley您的代码工作正常。您是否在数字和字母之间留有空格?如果没有,则将E解释为数字的一部分。