C++自学新手关于if语句的有关问题。请各位不吝赐教
C++自学新手关于if语句的问题。请各位不吝赐教!
这是一道出自《C++程序设计原理与实践》的习题。

前面的示例程序主要讲了if语句的用法。
我的想法是这样的:
可是当我输入100 JPY或EUR时得出的结果却是这样的:

请问错在哪里?谢谢!
P.s.祝大家马年快乐!
------解决方案--------------------
#include <string>
....
string kind;
..
if(kind=="JPY") 双引号
------解决方案--------------------
另外,lz最好在最后放一个return 0;,还有就是最好不要用\n了,可以在引号外边加一个<<endl;
只是按楼上改后我怎么发现输入100EUR是会出现这种情况,不知是怎么回事?

------解决方案--------------------
C++中的cin,cout没有详细了解过。
不过你把kind声明为char型,意味着一个字节,如果EUR全部存储到kind的话,可以将kind改为字符串数组。
比如:char kind[4];其中最后一个位置,应该为'\0'。
这个是字符串操作的基本知识。
还有,C++中可以直接用“==”将两个字符串比较吗?C中可是strcmp函数啊。
------解决方案--------------------
c++里面单引号是表示字符的
这是一道出自《C++程序设计原理与实践》的习题。
前面的示例程序主要讲了if语句的用法。
我的想法是这样的:
int main()
{
cout << "Please enter the amount and kind of currency: ";
const double jpy_per_usd = 0.0099;
const double eur_per_usd = 1.3519;
const double gbp_per_usd = 1.6274;
double amount;
char kind;
cin >> amount >> kind;
if (kind == 'JPY')
{
cout << amount << " JPY= " << amount*jpy_per_usd << " dollars.\n";
}
else if (kind == 'EUR')
{
cout << amount << " EUR= " << amount* eur_per_usd << " dollars.\n";
}
else
cout << amount << " GBP= " << amount*gbp_per_usd << " dollars.\n";
}
可是当我输入100 JPY或EUR时得出的结果却是这样的:
请问错在哪里?谢谢!
P.s.祝大家马年快乐!
------解决方案--------------------
#include <string>
....
string kind;
..
if(kind=="JPY") 双引号
------解决方案--------------------
另外,lz最好在最后放一个return 0;,还有就是最好不要用\n了,可以在引号外边加一个<<endl;
只是按楼上改后我怎么发现输入100EUR是会出现这种情况,不知是怎么回事?
------解决方案--------------------
C++中的cin,cout没有详细了解过。
不过你把kind声明为char型,意味着一个字节,如果EUR全部存储到kind的话,可以将kind改为字符串数组。
比如:char kind[4];其中最后一个位置,应该为'\0'。
这个是字符串操作的基本知识。
还有,C++中可以直接用“==”将两个字符串比较吗?C中可是strcmp函数啊。
------解决方案--------------------
c++里面单引号是表示字符的