大家帮我看看这个怎么搞?
#include
#define n 100
struct student
{
int ID;
char name[10];
char project[20];
char sex[5];
float score;
float total;
};
void search()//查询
{
struct student stu[100];
int number,flag,i;
char s1[100];
printf("****************************\n");
printf("********1.按学号查询********\n");
printf("********2.按姓名查询********\n");
printf("********3.退出本菜单********\n");
printf("****************************\n");
while(1)
{
flag=0;
printf("请输入序号:\n");
scanf("%d",&number);
switch(number)
{
case 1:
printf("请输入学生学号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
{
if(strcmp(stu[i].ID,s1)==0)
{
flag=1;
printf("学号\t姓名\t性别\t运动项目名称\t当前成绩\t总成绩\t");
printf("%3d\t%s\t%s\t%.2f\t\t%.2f\t\t%.2f\t %",stu[i].ID,stu[i].name,stu[i].sex,stu[i].project,stu[i].score,stu[i].total);
}
}break;
case 2:
printf("请输入学生姓名:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
{
if(strcmp(stu[i].name,s1)==0)
{
flag=1;
printf("学号\t姓名\t性别\t运动项目名称\t当前成绩\t总成绩\t");
printf("%3d\t%s\t%s\t%.2f\t\t%.2f\t\t%.2f\t %",stu[i].ID,stu[i].name,stu[i].sex,stu[i].project,stu[i].score,stu[i].total);
}
}break;
case 3:return;
default:printf("请输入1~3之间的数!\n");
}
if(flag == 0)
printf("找不到该学生\n");
}
}
修改如下,供参考:
#include <stdio.h>
#include <string.h>
#define n 100
struct student
{
int ID;
char name[10];
char project[20];
char sex[5];
float score;
float total;
};
struct student stu[n] = { 0,"aaa","bbb","nan",98.1,256.2 }; //stu[100]; 修改 这个数组定义应移动到这
void search()//查询
{
int number, flag, i, id; //修改
char s1[16];
printf("****************************\n");
printf("********1.按学号查询********\n");
printf("********2.按姓名查询********\n");
printf("********3.退出本菜单********\n");
printf("****************************\n");
while (1)
{
flag = 0;
printf("请输入序号:\n");
scanf("%d", &number);
switch (number)
{
case 1:
printf("请输入学生学号:\n");
scanf("%d", &id); //scanf("%s", s1); //修改
for (i = 0; i < n; i++)
{
if (stu[i].ID == id) //if (strcmp(stu[i].ID, s1) == 0) //修改
{
flag = 1;
printf("学号\t姓名\t性别\t运动项目名称\t当前成绩\t总成绩\n"); //修改
printf("%3d\t%s\t%s\t%s\t\t%.2f\t\t%.2f\n", stu[i].ID, stu[i].name, stu[i].sex, //修改
stu[i].project, stu[i].score, stu[i].total);
break; //修改
}
}
if (flag == 0) //修改
printf("找不到该学生\n"); //修改
break;
case 2:
printf("请输入学生姓名:\n");
scanf("%s", s1);
for (i = 0; i < n; i++)
{
if (strcmp(stu[i].name, s1) == 0)
{
flag = 1;
printf("学号\t姓名\t性别\t运动项目名称\t当前成绩\t总成绩\n"); //修改
printf("%3d\t%s\t%s\t%s\t\t%.2f\t\t%.2f\n", stu[i].ID, stu[i].name, stu[i].sex, //修改
stu[i].project, stu[i].score, stu[i].total);
break; //修改
}
}
if (flag == 0) //修改
printf("找不到该学生\n"); //修改
break;
case 3:return;
default:printf("请输入1~3之间的数!\n");
}
}
}
int main()
{
search();
return 0;
}
没有main 函数