这是我关于SO的第一篇文章/问题。我正在关注Bjarne Stroustrup的书“Programming:Principles and Practice using C ++”,我正在尝试做'切换'语句。我收到了几个语法错误,例如:
错误C2146:语法错误:缺少';'在标识符'value'之前,
错误C2143:语法错误:缺少';'在'string'之前,警告
另外,每次我想在语句中使用变量'value'时,我得到一个:
错误。
我正在使用Visual Studio 2013 RC,我不知道为什么我无法运行此程序。我在一周前在OSX上运行了一个非常相似的版本,通过终端进行编译,运行正常。 IDE是问题,还是我的代码?我确信这只是一个新手的错误,但我只是没有看到问题。我已经完成了几次代码。我希望你能帮助我在这里指出我的菜鸟错误!..
感谢大家的任何意见,我非常感激!
这是我的代码:
#include "../std_lib_facilities.h"
int main()
{
int value = 1;
double euros = 11.2;
double yen = 989;
double pounds = 14.2;
char unit = ' ';
cout << "Welcome to this DOLLARS-TO-OTHER-CURRENCIES Program.'\n'";
cout << "Please enter a unit, then followed by a value: '\n'";
cout << "(e)uros, (y)en or (p)ounds.'\n'";
cin >> value >> unit;
switch (unit)
{
case 'e':
cout << value << " dollars in Euros is: " value * euros ".'\n'";
break;
case 'y':
cout << value << " dollars in Yen is: " value * yen ".'\n'";
break;
case 'p':
cout << value << " dollars in British Pounds is: " value * pounds".'\n'";
break;
default:
cout << "COMPUTER ERROR. DOES NOT COMPUTE.'\n'";
break;
}
}
答案 0 :(得分:3)
在顶部添加以下行:
#include <iostream>
using namespace std;
您使用的是cin
和cout
,但是您没有包含定义这些名称的标头。
cout << value << " dollars in Euros is: " value * euros ".'\n'";
你想要
cout << value << " dollars in Euros is: " << value * euros << ".\n";
答案 1 :(得分:0)
cout << value << " dollars in Euros is: " value * euros ".'\n'";
你不能只将value * euros
放在两个字符串之间。将其更改为:
cout << value << " dollars in Euros is: " << value * euros << ".'\n'";
其他事件相同。