找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1326|回复: 9

switch case 问题!!

[复制链接]
发表于 2009-10-31 01:12:23 | 显示全部楼层 |阅读模式 IP:江苏扬州
switch(sum) { case 0: int Z[7]={0,0,0,0,0,0,0}; break; case 1: int Z[7]={0,0,0,0,0,0,1}; break; case 2: int Z[7]={0,0,1,0,0,0,0}; break; case 3: int Z[7]={0,0,0,1,0,0,0}; break; }
问题 显示 :
作业.cpp E:\程序\作业.cpp(34) : error C2360: initialization of 'Z' is skipped by 'case' label E:\程序\作业.cpp(32) : see declaration of 'Z' E:\程序\作业.cpp(42) : error C2360: initialization of 'Z' is skipped by 'case' label E:\程序\作业.cpp(32) : see declaration of 'Z' E:\程序\作业.cpp(50) : error C2360: initialization of 'Z' is skipped by 'case' label E:\程序\作业.cpp(32) : see declaration of 'Z' E:\程序\作业.cpp(51) : error C2374: 'Z' : redefinition; multiple initialization E:\程序\作业.cpp(32) : see declaration of 'Z' Error executing cl.exe.
不知道 是什么原因啊???
发表于 2009-10-31 01:12:24 | 显示全部楼层 IP:江苏扬州
// 将Z 这个integer array 定义在 switch 外面,如:
int Z[7] = {0}; // 写一个0就可以了,这样7个元素都将被置0
switch(sum) { //case 0: 由于没有变化,所以这个case 就没必要了 // break; case 1: if(Y[0]==1) Z[4]=1; if(Y[1]==1) Z[5]=1; else Z[6]=1; break; case 2: if(Y[0]==0) Z[0]=1; if(Y[1]==0) Z[1]=1; else Z[2]=1; break; case 3: Z[3]=1; break; }
回复

使用道具 举报

发表于 2009-10-31 01:12:25 | 显示全部楼层 IP:江苏扬州
int Z[7]={0}; switch(sum) { //case 0: // int Z[7]={0,0,0,0,0,0,0}; // break; case 1: if(Y[0]==1) Z[4]={1}; if(Y[1]==1) Z[5]={1}; else Z[6]={1}; break; case 2: if(Y[0]==0) Z[0]={1}; if(Y[1]==0) Z[1]={1}; else Z[2]={1}; break; case 3: Z[3]={1}; break; }
显示 如下!!!
作业.cpp E:\程序\作业.cpp(37) : error C2059: syntax error : '{' E:\程序\作业.cpp(37) : error C2143: syntax error : missing ';' before '{' E:\程序\作业.cpp(37) : error C2143: syntax error : missing ';' before '}' E:\程序\作业.cpp(39) : error C2059: syntax error : '{' E:\程序\作业.cpp(39) : error C2143: syntax error : missing ';' before '{' E:\程序\作业.cpp(39) : error C2143: syntax error : missing ';' before '}' E:\程序\作业.cpp(40) : error C2181: illegal else without matching if E:\程序\作业.cpp(41) : error C2059: syntax error : '{' E:\程序\作业.cpp(41) : error C2143: syntax error : missing ';' before '{' E:\程序\作业.cpp(41) : error C2143: syntax error : missing ';' before '}' E:\程序\作业.cpp(45) : error C2059: syntax error : '{' E:\程序\作业.cpp(45) : error C2143: syntax error : missing ';' before '{' E:\程序\作业.cpp(45) : error C2143: syntax error : missing ';' before '}' E:\程序\作业.cpp(47) : error C2059: syntax error : '{' E:\程序\作业.cpp(47) : error C2143: syntax error : missing ';' before '{' E:\程序\作业.cpp(47) : error C2143: syntax error : missing ';' before '}' E:\程序\作业.cpp(48) : error C2181: illegal else without matching if E:\程序\作业.cpp(49) : error C2059: syntax error : '{' E:\程序\作业.cpp(49) : error C2143: syntax error : missing ';' before '{' E:\程序\作业.cpp(49) : error C2143: syntax error : missing ';' before '}' E:\程序\作业.cpp(52) : error C2059: syntax error : '{' E:\程序\作业.cpp(52) : error C2143: syntax error : missing ';' before '{' E:\程序\作业.cpp(52) : error C2143: syntax error : missing ';' before '}' Error executing cl.exe.
回复

使用道具 举报

发表于 2009-10-31 01:12:26 | 显示全部楼层 IP:江苏扬州
hahahahahahahahahahahahahahahahahahahaaaa!!!!!!
回复

使用道具 举报

发表于 2009-10-31 01:12:27 | 显示全部楼层 IP:江苏扬州
楼上的是在说相声吗?
回复

使用道具 举报

发表于 2009-10-31 01:12:28 | 显示全部楼层 IP:江苏扬州
你3楼提出的问题完全是小问题了。
如果你自己改不来,把原程序贴上来,我来帮你改。
回复

使用道具 举报

发表于 2009-10-31 01:12:29 | 显示全部楼层 IP:江苏扬州
#include<iostream.h>
int main()
{
int H[3][7]={{0,1,1,1,1,0,0},{1,0,1,1,0,1,0},{1,1,0,1,0,0,1}};
    int X[7];
cout<<"press enter the Hamming code:";
cin>>X[0]>>X[1]>>X[2]>>X[3]>>X[4]>>X[5]>>X[6];
int y[3];
int Y[3];
int sum;
int i,j;

int z[7];
int S[7];
for( i=0;i<3;i++)
{
  sum=0;
  for(j=0;j<7;j++)
{
  sum=sum+H[i][j]*X[j];
}
y[i]=sum;
}
for( i=0;i<3;i++)
{
  Y[i]=y[i]%2;
}
     sum=Y[0]+Y[1]+Y[2];
  int Z[7]={0};
switch(sum)
{
case 0:
      
  break;
case 1:
  if(Y[0]==1)
   Z[4]={1};
  if(Y[1]==1)
   Z[5]={1};
  if(Y[2]==1)
   Z[6]={1};
  break;
case 2:
  if(Y[0]==0)
  Z[0]={1};
  if(Y[1]==0)
   Z[1]={1};
  if(Y[2]==0)
   Z[2]={1};
  break;
case 3:
      Z[3]={1};
  break;
}
for(i=0;i<7;i++)
{
  z[i]=X[i]+Z[i];
}
for(i=0;i<7;i++)
{
  S[i]=z[i]%2;
}
for(i=0;i<7;i++)
  cout<<S[i];
return 0;
}
回复

使用道具 举报

发表于 2009-10-31 01:12:30 | 显示全部楼层 IP:江苏扬州
是一个  求  编码 的 题目!!
回复

使用道具 举报

发表于 2009-10-31 01:12:31 | 显示全部楼层 IP:江苏扬州
// 题意我不清楚,就只能帮你改错了
#include<iostream> #include <cstdlib> using namespace std;
int main() { int H[3][7]={ {0,1,1,1,1,0,0}, {1,0,1,1,0,1,0}, {1,1,0,1,0,0,1}}; int X[7]; cout<<"press enter the Hamming code:"; cin>>X[0]>>X[1]>>X[2]>>X[3]>>X[4]>>X[5]>>X[6]; int y[3]; int Y[3]; int sum; int i,j; int z[7]; int S[7]; for( i=0;i<3;i++) { sum=0; for(j=0;j<7;j++) { sum=sum+H[i][j]*X[j]; } y[i]=sum; } for( i=0;i<3;i++) { Y[i]=y[i]&0x1; } sum=Y[0]+Y[1]+Y[2]; int Z[7]={0}; switch(sum) { case 0: break; case 1: if(Y[0]==1) Z[4]=1; if(Y[1]==1) Z[5]=1; if(Y[2]==1) Z[6]=1; break; case 2: if(Y[0]==0) Z[0]=1; if(Y[1]==0) Z[1]=1; if(Y[2]==0) Z[2]=1; break; case 3: Z[3]=1; break; } for(i=0;i<7;i++) { z[i]=X[i]+Z[i]; } for(i=0;i<7;i++) { S[i]=z[i]&0x1; } for(i=0;i<7;i++) cout<<S[i]; system("pause"); return 0; }
回复

使用道具 举报

发表于 2009-10-31 01:12:32 | 显示全部楼层 IP:江苏扬州
厉害!!谢谢 了!!
但是我不懂 我刚才 是哪里错了??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 15:33 , Processed in 0.214943 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表