此代码哪错了?为什么错?关键字:switch

Mingci_cpp 2009-06-20 09:46:34
#include<iostream.h>
void main()
{
int c;
cout<<"随便输入个数"<<endl;
cin>>c;
switch(c)
{
case 1:cout<<"你输入的是1\n";
break;
case 2:cout<<"你输入的是2\n";
break;
default(c!=1&&c!=2)?cout<<"你输入的不是1和2\n":cout<<"什么也不是\n";
}
}

-----------
要告诉我为什么错!
...全文
92 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yejinson 2009-06-20
  • 打赏
  • 举报
回复
default:
dskit 2009-06-20
  • 打赏
  • 举报
回复
error: expected `:' before '(' token
lixing01 2009-06-20
  • 打赏
  • 举报
回复

#include <iostream.h>
void main()
{
using namestd::cout; // 记得导入名称空间中的名称才能使用
int c;
cout <<"随便输入个数" <<endl;
cin>>c;
switch(c)
{
case 1:
cout << "你输入的是1\n";
break;
case 2:
cout << "你输入的是2\n";
break;
default: // switch的基本语法格式,如果前面的case值没有一个匹配的,则执行default后面的语句,不需要你在去添加判断
cout << "你输入的不是1和2\n";
cout <<"什么也不是\n";
}
}

-----------
要告诉我为什么错! // 都是基本的语法,仔细把书看一下自己掌握起来更快,如果这样的问题需要发个帖子求教,那么学c++的效率和效果就很差了
NirvanaVirus 2009-06-20
  • 打赏
  • 举报
回复
//应该如下这样写:
default:
cout << "你输入的不是1和2,什么也不是" << endl;
NirvanaVirus 2009-06-20
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

void main(){
int c;
cout <<"随便输入个数" <<endl;
cin>>c;
switch(c){
case 1:
cout <<"你输入的是1\n";
break;
case 2:
cout <<"你输入的是2\n";
break;
default:
cout << "你输入的不是1和2,什么也不是" << endl;
}
}
Walf_ghoul 2009-06-20
  • 打赏
  • 举报
回复

default不要条件,加':';

[Quote=引用 8 楼 arong1234 的回复:]
非常鄙视这种“-----------
要告诉我为什么错!”的态度,这么简单的问题随便一本教科书都会讲的要别人教不说,还把向别人请教当作理所当然的事情,一个“要xxxx"的句子,显得理直气壮
[/Quote]
顶个
toma2008 2009-06-20
  • 打赏
  • 举报
回复
#include <iostream.h>
using namespace std;
void main()
{
int c;
cout <<"随便输入个数" <<endl;
cin>>c;
switch(c)
{
case 1:cout <<"你输入的是1\n";
break;
case 2:cout <<"你输入的是2\n";
break;
default:cout <<"你输入的不是1和2\n";cout <<"什么也不是\n";
}
}

你看这样行不?
arong1234 2009-06-20
  • 打赏
  • 举报
回复
非常鄙视这种“-----------
要告诉我为什么错!”的态度,这么简单的问题随便一本教科书都会讲的要别人教不说,还把向别人请教当作理所当然的事情,一个“要xxxx"的句子,显得理直气壮
fzs0206 2009-06-20
  • 打赏
  • 举报
回复
#include <iostream>
main()
{
using std::endl;
using std::cout;
using std::cin;
int c;
cout <<"随便输入个数" <<endl;
cin>>c;
switch(c)
{
case 1:cout <<"你输入的是1\n";
break;
case 2:cout <<"你输入的是2\n";
break;
default :
cout <<"你输入的不是1和2\n:"cout<<"什么也不是\n" ;
}
}
arong1234 2009-06-20
  • 打赏
  • 举报
回复
这些基础的语法需要别人告诉你为什么么?随便找个教科书,看看switch的语法就知道default的语法错了
lingyin55 2009-06-20
  • 打赏
  • 举报
回复
default(c!=1&&c!=2)?cout < <"你输入的不是1和2\n":cout < <"什么也不是\n";
改为default : cout < <"你输入的不是1和2\n":cout < <"什么也不是\n";

default不需要条件,它的意思是前面所有的case都不匹配时就会执行default
的东西,如果前面有匹配的,default就不会被执行了。
findcsdn 2009-06-20
  • 打赏
  • 举报
回复
哦,可以不写 using

default 加冒号是语法规定啊;
findcsdn 2009-06-20
  • 打赏
  • 举报
回复
1. using namespace std;

2 default:

woods2001 2009-06-20
  • 打赏
  • 举报
回复
#include <iostream.h>
void main()
{
int c;
cout < <"随便输入个数" < <endl;
cin>>c;
switch(c)
{
case 1:cout < <"你输入的是1\n";
break;
case 2:cout < <"你输入的是2\n";
break;
default(c!=1&&c!=2)?cout < <"你输入的不是1和2\n":cout < <"什么也不是\n";
}
}
default:cout<<......;

-----------
要告诉我为什么错!
kingteng 2009-06-20
  • 打赏
  • 举报
回复
default要加条件的?

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧