重生种马yy小说完本:高手呢?帮忙啊!c program

来源:百度文库 编辑:神马品牌网 时间:2024/05/02 19:14:06
输入数据以后,用SEARCH函数找不到,总是“无资料”,帮帮忙,看看哪里错了
#include<stdio.h>
#include<string.h>

int max;
struct stu{
char num[8];
char name[8];
char sex[8];
char acemidy[8];
char type[8];
}stu[100];
create_list()
{ int i;
char cnum[8];
char cname[8];
char csex[8];
char cacemidy[8];
char ctype[8];
for(i=0;;i++)
{ printf("请输入 000 退出.\n");
printf("请输入学号:");
scanf("%s",cnum);
if(cnum[0]=='0'&&cnum[1]=='0'&&cnum[2]=='0') break;
printf("请输入姓名:");
scanf("%s",cname);
printf("请输入性别:");
scanf("%s",csex);
printf("请输入学院:");
scanf("%s",cacemidy);
printf("请输入类型:");
scanf("%s",ctype);
strcpy(stu[i].num,cnum);
strcpy(stu[i].name,cname);
strcpy(stu[i].sex,csex);
strcpy(stu[i].acemidy,cacemidy);
strcpy(stu[i].type,ctype);
max=i;
}
return(max);
}
void search_students()
{
char keynum[8];
int x,k,p=0;
printf("请输入 000 退出.\n");
printf("#请输入学号:");
scanf("%s",keynum);
{
for(x=0;x<=max;x++)
{if(keynum[0]=='0'&&keynum[1]=='0'&&keynum[2]=='0') break;

if(strcmp(stu[x].num,keynum)==0)
{printf("姓名:%s\n",stu[x].name);
printf("性别:%s\n",stu[x].sex);
printf("学院:%s\n",stu[x].acemidy);
printf("类型:%s\n",stu[x].type);
p++;}
}if(p==0) printf("无资料!\n"); /*!!!!!!*/
}
}

main(){
create_list() ;
search_students() ;
}

没问题呀,你的学号是几位的?要是8位的话就要这样声明
字符数组最后要留一位用于存放一个表示字符串结束的'\0'字符。
struct stu{
char num[9];
char name[8];
char sex[8];
char acemidy[8];
char type[8];
}stu[100];
void search_students() 里面
char keynum[9];