下面是我的代码:
#include"std_lib_facilities.h"
int main()
{
cout << "Which currency do you wanna exchange for, $? €? or ¥?:\n";
string currency;
string dollars;
string euros;
string yen;
char $;
char €;
char ¥;
if (cin >> $);
cout << "You have chosen dollars.\n";
cout << "Please enter your amount:\n";
int amount;
cin >> amount;
cout << "Your amount is:" << amount*153 << "PKR" << endl;
keep_window_open();
return 0;
}
我试着做一个货币转换器,但我的代码直到美元不能运行,所以我还没有写欧元或日元。谢谢你的回复。
首先,不要使用这些符号作为变量名,因为它们不是ASCII字符,可能会被弄乱。
其次,if(cin>>$);
并没有做您认为它做的事情。它所做的所有工作都是向$
变量中读取一些内容,并且不管cin实际读取了什么内容都要继续,因为if语句以分号结尾。之后的代码将被执行,而不管cin实际读取了什么。相反,你应该做
if (condition) {
thing to execute if condition is true
}
注意花括号的使用。
第三,这不是检查输入字符串是否与美元符号匹配的方法。相反,您应该做的是将输入读入一个变量,然后将该变量与货币符号进行比较。