回复 8楼 九转星河
好的,就是源代码,九百多行了,谢谢啦。

有生之年 欣喜相逢
程序代码://把头结点赋值为p了。可是还是不行。不知道问题出在哪。成绩不出来,显示最后那个查找结束
//普通学生按学号查询某门课程的得分
void chaxunmoumenke()
{
system("CLS");
int i,x;
char num[10];
char flag = '0';
struct work *head=NULL;
head=(struct work *)malloc(sizeof(struct work));
memset(head,0,sizeof(struct work));
head=lianbiao();
struct work *p=head;
while(flag == '0')
{
printf("请输入要查找的学生的学号(xxxx): ");
scanf("%d",&num);
fflush(stdin);
struct work *p=head; //将头结点head赋值与p
if(head == NULL) //如果链表中头结点为空,则查询错误
{
printf("查询失败1.\n");
printf("不存在此学生信息.\n");
return ;
}
else //否则开始查询
{
while(p != NULL)
{
if(p->no == num) //找到学号为num的学生就输出
{
do
{
printf("请输入需要查询的课程(课程1/课程2/课程3)[请输入1,2,3]:\n");
scanf("%d",&x);
switch(x)
{
case 1:printf(" %s \n",p->chengji1),i=1;break;
case 2:printf(" %s \n",p->chengji2),i=1;break;
case 3:printf(" %s \n",p->chengji3),i=1;break;
default:
{
i=0;
printf("没有该课程!请重新输入!");
}
}
}while(x==0);
break;
}
else
p = p -> next;
}
}
printf("查找结束.\n");
fflush(stdin);
}
}

[此贴子已经被作者于2016-12-31 06:15编辑过]