帮忙看看这个错误 怎么解决~

hiphop 2002-09-01 08:16:13
#include <string.h>
#include <iostream.h>
class TEAM{
private:
char *name;//球队名称
int join_num;//参加场数
int win;//赢的比赛场数
int draw;//平局场数
int lose;//输球场数
int goal_num;//进球数
int losegoal_num;//失球数
int total;//积分
public:
TEAM();
~TEAM();
void method(int,int,int);

int find(char *findname);
};

TEAM::TEAM()//构造函数
{
char namestr[50];
cout<<"请输入球队名称"<<endl;
cin>>namestr;
name=new char[strlen(namestr)+1];
strcpy(name,namestr);//将临时存放的姓名复制到name中
join_num=0;
win=0;
draw=0;
lose=0;
goal_num=0;
losegoal_num=0;
total=0;
}
TEAM::~TEAM()//析构函数
{delete name;}

void TEAM::method(int ggoal,int lgoal,int get)//ggoal 我方进球数,lgoal我方失球数,get为得到积分
{join_num=join_num+1;//比赛场次加1
goal_num=goal_num+ggoal;
losegoal_num= losegoal_num+lgoal;
total=total+get;
if(get==2)
{win=win+1;}//的2分 胜利场次加1
if(get==1)
{draw=draw+1;}//的1分,平局场次加1
if(get==0)
{lose=lose+1;}//的0分,输球场次加1
}

int TEAM::find(char *findname)
{
return strcmp(findname,name);

}



void main()

{ int choose;
cout<<"选择操作1创表/重置2输入本轮比赛成绩"<<endl;
cin>>choose;//选择操作

if(choose==1)
{TEAM team[24];//预设置球队数目为24只
}
if(choose==2)
{char namestra[50];
char namestrb[50];
int agoal;
int bgoal;
char *namea;
char *nameb;
int x;
int y;
int i;
cin>>namestra;
cin>>namestrb;
namea=new char[strlen(namestra)+1];
nameb=new char[strlen(namestrb)+1];
strcpy(namea,namestra);
strcpy(nameb,namestrb);//复制临时队伍名字到namea和nameb中

for(i=0;i<24;i++)
{if(team[i].find(namea)==0)
{x=i;}
if(team[i].find(nameb)==0)
{y=i;}//找到队伍的位置
}
if(agoal>bgoal)//a 胜利
{team[x].method(agoal,bgoal,2);
team[y].method(bgoal,agoal,0);
}
if(agoal==bgoal)
{team[x].method(agoal,bgoal,1);
team[y].method(bgoal,goal,1);
}
if(agoal<bgoal)
{team[x].method(agoal,bgoal,0);
team[y].method(bgoal,agoal,2);
}
}


}


错误是

C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(87) : error C2065: 'team' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(87) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(87) : error C2228: left of '.find' must have class/struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(89) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(89) : error C2228: left of '.find' must have class/struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(93) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(93) : error C2228: left of '.method' must have class/struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(94) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(94) : error C2228: left of '.method' must have class/struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(97) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(97) : error C2228: left of '.method' must have class/struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(98) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(98) : error C2228: left of '.method' must have class/struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(98) : error C2065: 'goal' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(101) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(101) : error C2228: left of '.method' must have class/struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(102) : error C2109: subscript requires array or pointer type
C:\Program Files\Microsoft Visual Studio\MyProjects\1b.cpp(102) : error C2228: left of '.method' must have class/struct/union type
Error executing cl.exe.
...全文
35 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiphop 2002-09-01
  • 打赏
  • 举报
回复
我c++才看了几天 能具体下个例子给我看看嘛?
谢谢~
lv_zemin 2002-09-01
  • 打赏
  • 举报
回复
问题就是这样子的。你前面定义一个指数数组。再动态分配给它就可以了。另外做一个Init函数初始化。用bool bInit变量表示是否与初始化就可以了。
hiphop 2002-09-01
  • 打赏
  • 举报
回复
我不需要每次都初始化的~
是否可以有保存来解决

谢谢~
txdxun 2002-09-01
  • 打赏
  • 举报
回复
对,就是这个问题
hiphop 2002-09-01
  • 打赏
  • 举报
回复
谢谢楼上的~
但是我确实需要根据choose的输入值 来选择判断
有没有好的解决方法

我需要的是
选1 初始化/重置
选2 对以后对象付值


如果我用swtich 可以嘛?
surveyor 2002-09-01
  • 打赏
  • 举报
回复
按照你的定义,
if(choose==1)
{
TEAM team[24];//预设置球队数目为24只
}

team只在if(choose==1)这个if语句范围内有效,而在其他范围内无效,这是变量的生存期问题。你把“TEAM team[24];”的定义放在if语句之前应该就行了。

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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