#include<stdio.h>
#include<string.h>
void chaxun();
void input();
struct student
{
char name[15];
int score;
};
struct student std[5];
void input()
{
int i;
printf("\t请输入信息\n");
printf("========================\n");
for(i=0;i<5;i++)
{
printf("\n学员%d的信息\n",i+1);
printf("姓名:");
fflush(stdin);
gets(std[i].name);
printf("成绩:");
scanf("%d",&std[i].score);
}
}
void chaxun()
{
int i,k=0;
char name2[15];
printf("\n输入要查找的姓名:\n");
fflush(stdin);
gets(name2);
for(i=0;i<5;i++)
{
if(std[i].name==name2)
{
k=1;
break;
}
}
printf("查询后的结果:\n");
if(k==1)
{
printf("\n%s:%d\n",std[i].name,std[i].score);
}
}
void main()
{
input();
chaxun();
}
不知道错在何处,请大侠们帮着看看,该如何改?谢谢!!!
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
void chaxun();
void input();
struct student
{
char name[15];
int score;
};
struct student std[5];
void input()
{
int i;
printf("\t请输入信息\n");
printf("========================\n");
for(i=0;i<5;i++)
{
printf("\n学员%d的信息\n",i+1);
printf("姓名:");
fflush(stdin);
gets(std[i].name);
printf("成绩:");
scanf("%d",&std[i].score);
}
}
void chaxun()
{
int i,k=0;
char name2[15];
printf("\n输入要查找的姓名:\n");
fflush(stdin);
gets(name2);
for(i=0;i<5;i++)
{
if(std[i].name==name2)这是比较两个地址,不是比较字符串的内容
{
k=1;
break;
}
}
printf("查询后的结果:\n");
if(k==1)
{
printf("\n%s:%d\n",std[i].name,std[i].score);
}
}
void main()
{
input();
chaxun();
}
不知道错在何处,请大侠们帮着看看,该如何改?谢谢!!!
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
void chaxun();
void input();
struct student
{
char name[15];
int score;
};
struct student std[5];
void input()
{
int i;
printf("\t请输入信息\n");
printf("========================\n");
for(i=0;i<5;i++)
{
printf("\n学员%d的信息\n",i+1);
printf("姓名:");
fflush(stdin);
gets(std[i].name);
printf("成绩:");
scanf("%d",&std[i].score);
}
}
void chaxun()
{
int i,k=0;
char name2[15];
printf("\n输入要查找的姓名:\n");
fflush(stdin);
gets(name2);
for(i=0;i<5;i++)
{
if(strcmp(std[i].name,name2)==0)//这里用strcmp()函数就可以了!~
{
k=1;
break;
}
}
printf("查询后的结果:\n");
if(k==1)
{
printf("\n%s:%d\n",std[i].name,std[i].score);
}
}
void main()
{
input();
chaxun();
}
----------------解决方案--------------------------------------------------------
谢谢,我试试!
----------------解决方案--------------------------------------------------------