关于投票系统的问题,结构体元素传递后做判断条件
实现不了投票统计,,,半天没解决,,,帮忙看看
#include <stdio.h>
void main()
{
int i=0;
int k=0,w=0,n=0,x;
struct
{
char a[100];
}q[3]={{"甲"},{"乙"},{"丙"}};
struct
{
char b[100];
}m[100];
printf("参选人为:甲 乙 丙");
printf("\n");
printf("输入投票人数:");
scanf("%d",&x);
printf("\n");
printf("请参加投票的人开始投票");
printf("\n");
for(i=0;i<x;i++)
{
printf("第%d个:",i+1);
scanf("%s",&m[i].b );
}
for(i=0;i<x;i++)
{
if (m[i].b==q[0].a)
{
k++;
}
else if (m[i].b==q[1].a)
{
w++;
}
else if (m[i].b==q[2].a)
{
n++;
}
}
printf("甲:%d\n",k);
printf("乙:%d\n",w);
printf("丙:%d\n",n);
}
终于自己解决了,,,,结构体元素不可以直接比较,,要先传递,再比较,,解决方案如下:
终于自己解决了,,,,结构体元素不可以直接比较,,要先传递,再比较,,解决方案如下:
终于自己解决了,,,,结构体元素不可以直接比较,,要先传递,再比较,,解决方案如下:
#include <stdio.h>
void main()
{
int i=0;
int k=0,w=0,n=0,x;
char r,v0,v1,v2;
struct
{
char a[100];
}q[3]={{"小甲鱼"},{"苍井空"},{"范跑跑"}};
struct
{
char b[100];
}m[100];
printf("参选人为:小甲鱼 苍井空 范跑跑");
printf("\n");
printf("输入投票人数:");
scanf("%d",&x);
printf("\n");
printf("请参加投票的人开始投票");
printf("\n");
for(i=0;i<x;i++)
{
printf("第%d个:",i+1);
scanf("%s",&m[i].b );
}
v0=*q[0].a;
v1=*q[1].a;
v2=*q[2].a;
for(i=0;i<x;i++)
{
r=*m[i].b;
if (r==v0)
{
k++;
}
else if (r==v1)
{
w++;
}
else if (r==v2)
{
n++;
}
}
printf("小甲鱼:%d\n",k);
printf("苍井空:%d\n",w);
printf("范跑跑:%d\n",n);
}
[ 本帖最后由 zhonganyun0 于 2012-7-27 21:18 编辑 ]