if (Mileage > 0) do
{
calculateMileage();
cout << "The cost of shipment over " << setprecision(2) << Mileage << " miles is \234" << variableShippingCost << ".";
cout << "\n \n";
system("pause"); //to hold the output screen
return(0);
}
else
{
cout << "\n ERROR: The distance should be a positive value.";
system("pause"); //to hold the output screen
return(0);
}
我不知道为什么但是 Visual Studio 12 会在其他方面带来错误,说它需要一段时间。我之前已经做了很多 if else语句,而且在这个程序中运行正常,所以任何人都可以帮助我理解为什么在这种情况下它不满意?
答案 0 :(得分:4)
正确的语法是:
if (...)
{...} else {...}
使用if
和
do {...}
while (...);
使用do...while
时。
C / C ++中没有if() do
语句!
答案 1 :(得分:0)
do
后面有if
,因此编译器需要在while
阻止后do
。
if (Mileage > 0)
{
do
{
calculateMileage();
//etc...
} while (something);
}
else
{
//etc...
}
或
if (Mileage > 0) // no `do` here
{
calculateMileage();
//etc...
}
else
{
//etc...
}
答案 2 :(得分:0)
不要使用do。这是一个while循环,使用它的正确语法是
do{
...code here...
} while(some condition is true)
你想要的是
if (Mileage > 0) //there is an implicit then here no need to do anything here
{
calculateMileage();
cout << "The cost of shipment over " << setprecision(2) << Mileage << " miles is \234" << variableShippingCost << ".";
cout << "\n \n";
system("pause"); //to hold the output screen
return(0);
} //<<<------if you really wanted to use the do (which you shouldnt) put a while here.
else
{
cout << "\n ERROR: The distance should be a positive value.";
system("pause"); //to hold the output screen
return(0);
}
答案 3 :(得分:0)
因为你做错了! C ++有if-else语句和do-while语句。 do
期望while
跟随自己,同时while
可以独立使用。
同样,if
可以单独使用,但else
要求if
在其自身之前。