length;i++)
{
if(strcmp(L->stu[i].name,name)==0)
return i;
}
}
return -1;/*如果没找到,返回-1。否则直接返回,不会执行本句*/
}
void delNode(sequenlist *L)
{
int i,j;
printf("请先查找您要删除的学生信息:\n");
i=findList(L);
if(i==-1)
{
printf("没有查到要删除的学生信息");
return;
}
for(j=i;jlength;j++)
{
L->stu[j].score=L->stu[j+1].score;
strcpy(L->stu[j].num,L->stu[j+1].num);
strcpy(L->stu[j].name,L->stu[j+1].name);
strcpy(L->stu[j].gender,L->stu[j+1].gender);
}
L->length--;
printf("该学生信息已被删除!\n");
}
void main()
{
sequenlist *L;
DataType *student;
int i;
L=(sequenlist *)malloc(sizeof(sequenlist));
while(1){
switch(menu_select())
{
case 1:
printf("**************************************\n");
printf(" 学生信息顺序表的建立 \n");
printf("***************************************\n");
createList(L);
break;
case 2:
printf("**************************************\n");
printf("添加学生信息\n");
printf("请输入要添加的学生信息:\n");
printf("\n学号(8) 姓名(8) 性别 成绩\n");
printf("**************************************\n");
student=(DataType *)malloc(sizeof(DataType));
fflush(stdin);
scanf("%s%s%s%d",student->num,student->name,student->gender,&student->score);
printf("请输入要插入的位置:\n");
fflush(stdin);
scanf("%d",&i);
insert(L,student,i);
break;
case 3:
printf("**************************************\n");
printf("查询学生信息\n");
printf("**************************************\n");
i=findList(L);
if(i!=-1)
{
printf("您要查的学生为:\n学号(8) 姓名(8) 性别 成绩\n");
printf("-------------------------------------------\n");
printf("%s,%s,%s,%d\n",L->stu[i].num,L->stu[i].name,L->stu[i].gender,L->stu[i].score);
printf("------------------------------------------------------------------\n");
}
else
printf("没有您要查询的学生信息!");
break;
case 4:
printf("**************************************\n");
printf("删除学生信息\n");
printf("**************************************\n");
delNode(L);
break;
case 5:
printf("**************************************\n");
printf("输出所有学生信息\n");
printf("**************************************\n");
printList(L);
break;
case 0:
printf("再见!\n");
getchar();
return;
}
}
}