耳边呢喃 2015-12-03 11:49 采纳率: 0%
浏览 1545

请教:(C语言学生信息管理)程序函数里好像直接跳过了某一段代码执行

void Student_Searchself(STUDENT *head) //此函数是为了显示学生的各科成绩和各科排名 //(head)存储学生成绩的链表头指针
{
STUDENT *p,*m,*e,*y,*l;
STUDENT *p1,*p2,*p3,*p4;
char s[6];
system("cls");
printf("请输入本人学号来查找\n");
scanf("%s",s);
p=head;
e=head;
m=head;
y=head;
l=head;
p1=descending_order_by_Math(m); //得到按数学成绩排好序的成绩链表
p2=descending_order_by_English(e); //得到按英语成绩排好序的成绩链表
p3=descending_order_by_yuwen(y); //得到按语文成绩排好序的成绩链表
p4=descending_order_by_lizong(l); //得到按理综成绩排好序的成绩链表

//-------------分别在各个成绩排名链表中找到该学生位置即得到各科的排名-----------------
while(strcmp(p->ID,s)&& p != NULL)
{p=p->next;}
while(strcmp(p1->ID,s)&& p1!= NULL)
{p1=p1->next;}
while(strcmp(p2->ID,s) && p2!= NULL)
{p2=p2->next;}
while(strcmp(p3->ID,s) && p3!= NULL)
{p3=p3->next;}
while(strcmp(p4->ID,s) && p4!= NULL)
{p4=p4->next;}
//--------------------------------------------------------------------------
if(p!=NULL&&p1!=NULL&&p2!=NULL&&p3!=NULL&&p4!=NULL) //找到该学生
{

printf(" 学号为%s的学生信息\n\n",s);
printf("---------------------------------------------------------------------------\n");
printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","语文成绩","理综成绩","总成绩");
printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",p->ID,p->Name,p->Math,p->English,p->yuwen,p->lizong,p->Sum);
printf("---------------------------------------------------------------------------\n");
printf("\n数学成绩排名:%d",p1->mingci);
printf("\n英语成绩排名:%d",p2->mingci);
printf("\n语文成绩排名:%d",p3->mingci);
printf("\n理综成绩排名:%d",p4->mingci);
printf("\n---------------------------------------------------------------------------\n");
}
else
{printf("\n没有该学生\n",s);}
}

实验的学生信息为:图片说明

运行到此函数模块的效果:图片说明

  • 写回答

1条回答 默认 最新

  • 耳边呢喃 2015-12-03 11:52
    关注

    实在是看不出这段子函数问题在哪,里面调用的函数都是正确可用的。结果运行有Bug。所以想请教下各位,是不是这个子函数里的程序逻辑有问题

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件