#include <iostream>
using namespace std;
int main()
switch(age)
{
case 1:
case 2:
case 3:
case 4:
cout<< "Tricycle"<<endl;
break;
case 5:
.
.
case 15:
if (15 >= age >= 5)
cout<< "Bicycle"<<endl;
break;
case 16:
case 17:
cout<<"Motorcycle"<<endl;
break;
default:
cout<< "Motor car"<<endl;
return 0;
}
错误信息:
切换前的预期初始化程序
我尝试将
age
声明为整数...但我仍然收到错误消息。
您的代码中有几个错误:
int main()
您在
{
之后错过了一个空缺 main()
。
switch(age)
在尝试使用它之前,您没有声明
age
或为其赋予值。
. .
根本不重视代码。所以我假设你这样做只是为了演示目的,在你的真实代码中你实际上是单独拼写每个
case
。
if (15 >= age >= 5)
这根本不符合您的想法。 C++ 比较不是这样进行的。您需要单独的表达式来分别比较
age
与每个值。
更不用说,如果您对
case
..5
有单独的 15
陈述,那么这个 if
无论如何都是完全多余的。
return 0;
}
您在
}
之前的 switch
块上缺少结束语 return
。
话虽如此,请尝试以下操作:
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Enter an age: ";
cin >> age;
switch (age)
{
case 1:
case 2:
case 3:
case 4:
cout << "Tricycle" << endl;
break;
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
cout << "Bicycle" << endl;
break;
case 16:
case 17:
cout << "Motorcycle" << endl;
break;
default:
cout << "Motor car" << endl;
break;
}
return 0;
}
或者,使用
if
代替 switch
:
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Enter an age: ";
cin >> age;
if (age >= 1 && age <= 4) {
cout << "Tricycle" << endl;
}
else if (age >= 5 && age <= 15) {
cout << "Bicycle" << endl;
}
else if (age >= 16 && age <= 17) {
cout << "Motorcycle" << endl;
}
else {
cout << "Motor car" << endl;
}
return 0;
}