如何计算煤燃烧硫产量:继续向高手请教

来源:百度文库 编辑:神马品牌网 时间:2024/05/07 23:04:03
昨天的问题解决了,今天又有新问题
我输入数据以后,用SEARCH函数找不到,总是“无资料”,帮帮忙,看看哪里错了
struct stu{
char num[8];
char name[8];
char sex[8];
char acemidy[8];
char type[8];
}stu[100];
create_list()
{ int i,max;
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("请输入性别:");
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()
{struct stu{
char num[8];
char name[8];
char sex[8];
char acemidy[8];
char type[8];
}stu[100];
char keynum[8];
int x,max,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"); /*!!!!!!*/
}
别的地方有问题吗

别的地方没问题的了!我编译通过
#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()
{
/*<--------------------------这里不要重新定义结构体
struct stu{
char num[8];
char name[8];
char sex[8];
char acemidy[8];
char type[8];
}stu[100];
*/
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() ;
}

create_list() 函数中声明的时候没有返回值怎么程序里还出了返回值呢?return(max);
建议程序写的有层次一些。

改完后还是不行啊