耳边呢喃 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 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题