༄༊࿆水下月ོྂཾ࿆࿐ 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 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改