注册 登录
编程论坛 C++教室

帮忙修改一下,自己真是看不出来了

haoliliang88 发布于 2010-03-14 12:53, 633 次点击
#include<stdio.h>   
#include   <string>   
struct person
{char name[20];
int count;
}leader[3]={{"li",0},{"hao",0},{"song",0}};  
void main()
{int i,j,m;
char leaderoname[20];
for(i=1;i<5;i++)
{printf("请输入被选中的人名\n");
scanf("%s",&leaderoname[20]);
for(j=1;j<3;j++)
{if(strcmp(leaderoname,leader(j).name))
leader[j].count++;}
}
for(m=0;m<3;m++)
printf("%s,%d\n",leader[m].name,leader[m].count);}

这个程序总是显示:
e:\c语言\haoliliang  结构体\结构体.cpp(14) : error C2064: term does not evaluate to a function
e:\c语言\haoliliang  结构体\结构体.cpp(14) : error C2228: left of '.name' must have class/struct/union type
执行 cl.exe 时出错.
帮忙修改一下

6 回复
#2
秀痘魔导士2010-03-15 10:24
14行 leader(j)
应该是leader[j]
#3
wei00002010-03-15 20:46
应该是#include<string.h>不是#include<string>
#4
wei00002010-03-15 21:38
2楼对啊,哈哈。。。。。。。。
#5
秀痘魔导士2010-03-16 09:14
以下是引用wei0000在2010-3-15 20:46:32的发言:

应该是#include不是#include
标准C++应该是<string>
#6
秋忻怿2010-03-16 22:15
怎么又发相同的帖子……问题简单不要紧,不过又问相同的问题,何必……
#7
haoliliang882010-03-16 23:41
不是,是失误,不好意思啊
1