1

这是我关于 SO 的第一篇文章/问题。我正在关注 Bjarne Stroustrup 的书“编程:使用 C++ 的原理和实践”,并且正在尝试执行“切换”语句。我收到几个语法错误,例如:

  • 错误 C2146:语法错误:缺少“;” 在标识符“值”之前,

  • 错误 C2143:语法错误:缺少“;” 在“字符串”之前,警告

  • C4552: '*' : 运算符无效;具有副作用的预期运算符,

此外,每次我想在语句中使用变量“值”时,我都会得到:

  • IntelliSense:预期为“;”

错误。

我正在使用 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;
}
}
4

2 回答 2

3

在顶部添加这些行:

#include <iostream>
using namespace std;

您正在使用cinand cout,但您没有包含定义这些名称的标题。

cout << value << " dollars in Euros is: " value * euros ".'\n'";

你要

cout << value << " dollars in Euros is: " << value * euros << ".\n";
于 2013-10-06T18:36:39.693 回答
0
cout << value << " dollars in Euros is: " value * euros ".'\n'";

你不能value * euros像这样放在两个字符串之间。将其更改为:

cout << value << " dollars in Euros is: " << value * euros << ".'\n'";

其他情况也一样。

于 2013-10-06T18:38:02.483 回答