༄༊࿆水下月ོྂཾ࿆࿐ 2022-12-14 12:03 采纳率: 98%
浏览 48
已结题

多打了一个换行*-*

img

img

img

img


由于文章限定字数,前几张照片只能以图片形式展示

       for(i=0;i<m;i++)
    { 
       printf(FORMAT,DATA);
    }
}
void menu()
{ 
      system("cls");
      printf("\n\n\n\n");
      printf("\t\t|---------------学生成绩管理系统---------------|\n");
      printf("\t\t|\t\t\t\t\t       |\n");
      printf("\t\t|\t\t 1. 录入学生成绩\t       |\n");
      printf("\t\t|\t\t 2. 查找学生信息\t       |\n");
      printf("\t\t|\t\t 3. 删除学生信息\t       |\n");
      printf("\t\t|\t\t 4. 修改学生信息\t       |\n");
     printf("\t\t|\t\t 5. 按第一门课程分数排序       |\n");
     printf("\t\t|\t\t 6. 按第二门课程分数排序       |\n");
     printf("\t\t|\t\t 7. 按第三门课程分数排序       |\n");
     printf("\t\t|\t\t 8. 按平均等级排序\t       |\n");
      printf("\t\t|\t\t 9. 显示所有学生信息\t       |\n");
    printf("\t\t|\t\t 0. 退出系统\t\t       |\n");
    printf("\t\t|\t\t\t\t\t       |\n");
      printf("\t\t|----------------------------------------------|\n\n");
      printf("\t\t\t请选择(0-9):");
}
void order1()//按第一门课程分数排序 
{ 
    FILE *fp;
      struct student t;
      int i=0,j=0,m=0;
      if((fp=fopen("data1.txt","r+"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
      }
      while(!feof(fp))
     if(fread(&stu[m],LEN,1,fp)==1)
          m++;
      fclose(fp);
      if(m==0)
      { 
          printf("文件中没有记录!\n");
          return;
      }
      if((fp=fopen("data1.txt","wb"))==NULL)
    { 
          printf("文件不存在!\n");
          return;
    }
      for(i=0;i<m-1;i++)
      for(j=i+1;j<m;j++)
        if(stu[i].a<stu[j].a)
        { 
              t=stu[i];stu[i]=stu[j];stu[j]=t;
        }
    if((fp=fopen("data1.txt","wb"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
    }
      for(i=0;i<m;i++)
          if(fwrite(&stu[i] ,LEN,1,fp)!=1)
           { 
            printf("%s 不能保存文件!\n");
            getch();
          }
      fclose(fp);
      printf("保存成功\n请返回选项8查看排名\n");
}
void order2()//按第二门课程分数排序 
{ 
    FILE *fp;
      struct student t;
      int i=0,j=0,m=0;
      if((fp=fopen("data1.txt","r+"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
      }
      while(!feof(fp))
     if(fread(&stu[m],LEN,1,fp)==1)
          m++;
      fclose(fp);
      if(m==0)
      { 
          printf("文件中没有记录!\n");
          return;
      }
      if((fp=fopen("data1.txt","wb"))==NULL)
    { 
          printf("文件不存在!\n");
          return;
    }
      for(i=0;i<m-1;i++)
      for(j=i+1;j<m;j++)
        if(stu[i].b<stu[j].b)
        { 
              t=stu[i];stu[i]=stu[j];stu[j]=t;
        }
    if((fp=fopen("data1.txt","wb"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
    }
      for(i=0;i<m;i++)
          if(fwrite(&stu[i],LEN,1,fp)!=1)
           { 
            printf("%s 不能保存文件!\n");
            getch();
          }
      fclose(fp);
      printf("保存成功\n请返回选项8查看排名\n");
}
void order3()//按第三门课程分数排序 
{ 
    FILE *fp;
      struct student t;
      int i=0,j=0,m=0;
      if((fp=fopen("data1.txt","r+"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
      }
      while(!feof(fp))
     if(fread(&stu[m],LEN,1,fp)==1)
          m++;
      fclose(fp);
      if(m==0)
      { 
          printf("文件中没有记录!\n");
          return;
      }
      if((fp=fopen("data1.txt","wb"))==NULL)
    { 
          printf("文件不存在!\n");
          return;
    }
      for(i=0;i<m-1;i++)
      for(j=i+1;j<m;j++)
        if(stu[i].c<stu[j].c)
        { 
              t=stu[i];stu[i]=stu[j];stu[j]=t;
        }
    if((fp=fopen("data1.txt","wb"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
    }
      for(i=0;i<m;i++)
          if(fwrite(&stu[i],LEN,1,fp)!=1)
           { 
            printf("%s 不能保存文件!\n");
            getch();
          }
      fclose(fp);
      printf("保存成功\n请返回选项8查看排名\n");
}
void order4()//按平均等级排序 
{ 
    FILE *fp;
      struct student t;
      int i=0,j=0,m=0;
      if((fp=fopen("data1.txt","r+"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
      }
      while(!feof(fp))
     if(fread(&stu[m],LEN,1,fp)==1)
          m++;
      fclose(fp);
      if(m==0)
      { 
          printf("文件中没有记录!\n");
          return;
      }
      if((fp=fopen("data1.txt","wb"))==NULL)
    { 
          printf("文件不存在!\n");
          return;
    }
      for(i=0;i<m-1;i++)
      for(j=i+1;j<m;j++)
        if(stu[i].aver<stu[j].aver)
        { 
              t=stu[i];stu[i]=stu[j];stu[j]=t;
        }
    if((fp=fopen("data1.txt","wb"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
    }
      for(i=0;i<m;i++)
          if(fwrite(&stu[i] ,LEN,1,fp)!=1)
           { 
            printf("%s 不能保存文件!\n");
            getch();
          }
      fclose(fp);
      printf("保存成功\n请返回选项8查看排名\n");
}
void del()
{ 
    FILE *fp;
      int snum,i,j,m=0,n=0;
      char ch[2];
      if((fp=fopen("data1.txt","r+"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
    }
      while(!feof(fp))  if(fread(&stu[m],LEN,1,fp)==1) m++;
      fclose(fp);
      if(m==0)
      { 
          printf("文件中没有记录!\n");
          return;
      }
      printf("请输入学生学号");
      scanf("%d",&snum);
    for(i=0;i<m;i++)
         if(snum==stu[i].num)
           { 
             printf("找到了这条记录,是否删除?(y/n)");
             scanf("%s",ch);
              if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
              { 
                  for(j=i;j<m;j++)
                  stu[j]=stu[j+1];
                  m--;
                  if((fp=fopen("data1.txt","wb"))==NULL)
                 { 
                     printf("文件不存在\n");
                    return;
                }
                  for(j=0;j<m;j++)
                  if(fwrite(&stu[j] ,LEN,1,fp)!=1)
                   { 
                       printf("can not save!\n");
                      getch();
                }
                  fclose(fp);
                  printf("删除成功!\n");
              }
              else
            { 
                  printf("找到了记录,选择不删除!");
              }
                  break;
          }
        else
        { 
            n++;
        }
        if(n==m)
              printf("没有找到记录!\n");
}
void search()//查找学生信息 
{ 
    FILE *fp;
      int snum,i,m=0;
      if((fp=fopen("data1.txt","rb"))==NULL)
     { 
         printf("文件不存在!\n");
        return;
    }
      while(!feof(fp))
      if(fread(&stu[m],LEN,1,fp)==1)
      m++;
      fclose(fp);
      if(m==0)
    { 
          printf("文件中没有记录!\n");
          return;
    }
      printf("请输入学号:");
      scanf("%d",&snum);
      for(i=0;i<m;i++)
    if(snum==stu[i].num)
    { 
          printf("班级   学号    姓名    课程一    课程二    课程三     课程一等级    课程二等级   课程三等级    三门课程的平均等级\t\n");
          printf(FORMAT,DATA);
      break;
    }
      if(i==m) printf("没有找到这名学生!\n");
}
void modify()//更改学生信息 
{ 
      FILE *fp;
      struct student t;
      int i=0,j=0,m=0,snum;
      if((fp=fopen("data1.txt","r+"))==NULL)
    { 
        printf("文件不存在!\n");
        return;
      }
      while(!feof(fp))
          if(fread(&stu[m] ,LEN,1,fp)==1)
            m++;
      if(m==0)
      { 
          printf("文件中没有记录!\n");
        fclose(fp);
          return;
      }
      show();
      printf("请输入要修改的学生学号: ");
      scanf("%d",&snum);
      for(i=0;i<m;i++)
          if(snum==stu[i].num)
          { 
              printf("找到了这名学生,可以修改他的信息!\n");
              printf("姓名:");
              scanf("%s",stu[i].name);
              printf("班级:");
             scanf("%d",&stu[m].Class);
                  printf("第一门科目:");
              scanf("%ld",&stu[i].a);
              printf("第二门科目:");
              scanf("%lf",&stu[i].b);
              printf("第三门科目:");
              scanf("%lf",&stu[i].c);
              printf("修改成功!");
              if(stu[m].a>=1&&stu[m].a<=8)
             stu[m].level1=1;
             else 
            stu[m].level1=(int)log10(stu[m].a+1);
            if(stu[m].b>=1&&stu[m].b<=8)
             stu[m].level2=1;
             else 
            stu[m].level2=(int)log10(stu[m].b+1);
            if(stu[m].c>=1&&stu[m].c<=8)
             stu[m].level3=1;
             else 
            stu[m].level3=(int)log10(stu[m].c+1);
            if((fp=fopen("data1.txt","wb"))==NULL)
             { 
                 printf("can not open\n");
                 return;
            }
              for(j=0;j<m;j++)
              if(fwrite(&stu[j] ,LEN,1,fp)!=1)
               { 
                   printf("can not save!");
                   getch();
            }
             fclose(fp);
             break;
          }
          if(i==m)
              printf("没有找到这名学生!\n");
}

img


不知道是哪里多打了一个换行,输出学生信息时总多出一个空行

  • 写回答

1条回答 默认 最新

  • 叶落花枯 2022-12-14 14:56
    关注

    会不会是一行数据太长导致显示不全,最后还有一些空格自动换行显示了吧。试一下去掉一两列信息打印输出看一下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月14日
  • 已采纳回答 12月14日
  • 创建了问题 12月14日

悬赏问题

  • ¥20 ue5运行的通道视频都会有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数