相关疑难解决方法(0)

std :: cin for double和string

我正在进行货币兑换.程序应读取货币表单输入流的数量和名称,并以本国货币返回其值.

double amount = 0.0;
std::string currency = " ";

std::cout << "Please enter amount and currency ('usd','eur' or 'rub'):" << std::endl;
std::cin >> amount >> currency;
std::cout << amount << currency << std::endl;

if ( currency == "usd") {
    ...;
} else if ( currency == "eur" ) {
    ...;
} else if ( currency == "rub" ) {
    ...;
} else {
    std::cout << "Input error: unknown currency..." << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我在这个程序中遇到了std :: cin的奇怪问题.当输入"100usd"或"100rub"时,程序分别回显"100usd"或"100rub"并继续正常工作.但是当我键入"100eur"时,它会回显"0"并发出"输入错误..."行.同时,如果我输入"100欧元",该程序回应"100eur"并且工作正常.在前两种情况下,如果我放空格,它没有任何区别.

我究竟做错了什么?

c++ cin

1
推荐指数
1
解决办法
945
查看次数

标签 统计

c++ ×1

cin ×1