代码出现问题,没有报错,运行出来部分代码没有功能

做的是快递管理系统,很简单的那种
查询这一大块的功能都无法实现,各位能帮我看看是哪出了错吗TAT

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct{
  int number; 
  char name[100];
  char name2[100];
  char phnumber[100];
  char phnumber2[100];
  char adr[100];
   char adr2[100];
}Stu;
typedef struct {
  Stu s[20];
  int length;
}SqList;
//输入物流信息
void CreatStudent(SqList &L,int n) 
{
  L.length=0;
  for(int i=0;i<n;i++)
  {
    printf("输入第%d个物流信息\n",i+1);
    printf ("单号:");
    scanf("%d",&L.s[i].number);
    printf ("收件人姓名:");
    scanf("%s",&L.s[i].name);
    printf ("收件人电话:");
    scanf("%s",&L.s[i].phnumber);
    printf ("收件人地址:");
    scanf("%s",&L.s[i].adr);
    printf ("寄件人姓名:");
    scanf("%s",&L.s[i].name2);
    printf ("寄件人电话:");
    scanf("%s",&L.s[i].phnumber2);
    printf ("寄件人地址:");
    scanf("%s",&L.s[i].adr2);
    L.length++;
  }
  FILE *fp;
  fp=fopen("student.txt","w+");//w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
  for(int i=0;i<L.length;i++)
  {
    fprintf(fp,"%d %s %s %s %s %s %s\n",L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);    
  }
  printf("添加成功!");
  fclose(fp);
}
//修改物流信息
void InsertStudent(SqList &L) 
{
    int i=0; 
    int flag=0;
    int number;
    L.length=0;
    FILE *fp1;
    fp1=fopen("student.txt","r+");//r+ 以可读写方式打开文件,该文件必须存在 
    while(!feof(fp1))//feof为判断是否读到文件尾
    {
      fscanf(fp1,"%d %s %s %s %s %s %s",&L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);
      L.length++;
      i++;
    }  
    L.length--;
    fclose(fp1);
    
    printf ("输入要修改的物流单号:");
  scanf("%d",&/*L.s[L.length].*/number);
  for(i=0;i<L.length;i++)
  {
    if(L.s[i].number==/*L.s[L.length].*/number)
    {
      flag=1;
    }    
  }
  if(flag==1)
  {
     printf ("要修改的快递单号:");
    scanf("%s",&L.s[L.length].number);
    printf ("收件人姓名:");
    scanf("%s",&L.s[L.length].name);
    printf ("收件人电话:");
    scanf("%s",&L.s[L.length].phnumber);
    printf ("收件人地址:");
    scanf("%s",&L.s[L.length].adr); 
    printf ("寄件人姓名:");
    scanf("%s",&L.s[L.length].name2);
    printf ("寄件人电话:");
    scanf("%s",&L.s[L.length].phnumber2);
    printf ("寄件人地址:");
    scanf("%s",&L.s[L.length].adr2); 
    L.length++;        
      FILE *fp;
      fp=fopen("student.txt","w+");
      for(int i=0;i<L.length;i++)
      {
          fprintf(fp,"%d %s %s %s %s %s %s\n",L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);          
      }
      printf("修改成功!");
      fclose(fp);
  }
  else
      printf("没有该快递信息,请核对后重新输入!");
}
//删除物流信息 
void DeleteStudent(SqList &L)
{
  int i=0,k,j;
  int num,flag=0; 
  L.length=0;
  printf("输入要删除物流的单号:");
  scanf("%d",&num);
    FILE *fp1;
    fp1=fopen("student.txt","r+");
  while(!feof(fp1))
  {
    fscanf(fp1,"%d %s %s %s %s %s %s",&L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);
    L.length++;
    i++;
  }  
  L.length--;
  fclose(fp1);
  for(i=0;i<L.length;i++)
  {
    if(L.s[i].number==num)
    {
      k=i;
      flag=1;
    }    
  }
  if(flag==0)
    printf("没有找到该快递,删除失败!");
  else
  {
    for(j=k;j<L.length;j++)
        L.s[j]=L.s[j+1];
      L.length--;
      FILE *fp;
      fp=fopen("student.txt","w+");
      for(int i=0;i<L.length;i++)
      {
          fprintf(fp,"%d %s %s %s %s %s %s\n",L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);          
      }
      printf("删除成功!");
      fclose(fp);
  }  
}
//查询物流信息按单号
void SearchStudent(SqList &L)
{
  int i=0,k,j;
  int flag=0;
  L.length=0; 
  char number[20]; 
  printf("输入要查询快递单号:");
  scanf("%s",number);
  FILE *fp1;
    fp1=fopen("student.txt","r+");
  while(!feof(fp1))
  {
    fscanf(fp1,"%d %s %s %s %s %s %s ",&L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);
    L.length++;
    i++;
  }  
  L.length--;
  fclose(fp1);
  for(i=0;i<L.length;i++)
  {
    if(strcmp(L.s[i].name,number)==0)
    {
      k=i;
      flag=1;
    }    
  }
  if(flag==0)
    printf("没有找到该快递信息,查询失败!");
  else
    printf("单号:%d  收件人姓名:%s    收件人电话:%s  收件人地址:%s 寄件人姓名:%s    寄件人电话:%s  寄件人地址:%s \n",L.s[k].number,L.s[k].name,L.s[k].phnumber,L.s[k].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);              
}
void SearchStudentname(SqList &L)//////////////////////按姓名查询
{
  int i=0,k,j;
  int flag=0;
  L.length=0; 
  char name[20]; 
  printf("输入要查询快递的收件人姓名:");
  scanf("%s",name);
  FILE *fp1;
    fp1=fopen("student.txt","r+");
  while(!feof(fp1))
  {
    fscanf(fp1,"%d %s %s %s %s %s %s ",&L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);
    L.length++;
    i++;
  }  
  L.length--;
  fclose(fp1);
  for(i=0;i<L.length;i++)
  {
    if(strcmp(L.s[i].name,name)==0)
    {
      k=i;
      flag=1;
    }    
  }
  if(flag==0)
    printf("没有找到该快递信息,查询失败!");
  else
    printf("单号:%d  收件人姓名:%s    收件人电话:%s  收件人地址:%s 寄件人姓名:%s    寄件人电话:%s  寄件人地址:%s \n",L.s[k].number,L.s[k].name,L.s[k].phnumber,L.s[k].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);              
}
void SearchStudentphnumber(SqList &L)//////////////////////按寄件人电话查询
{
  int i=0,k,j;
  int flag=0;
  L.length=0; 
  char phnumber[20]; 
  printf("输入要查询快递的寄件人电话:");
  scanf("%s",phnumber);
  FILE *fp1;
    fp1=fopen("student.txt","r+");
  while(!feof(fp1))
  {
    fscanf(fp1,"%d %s %s %s %s %s %s ",&L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);
    L.length++;
    i++;
  }  
  L.length--;
  fclose(fp1);
  for(i=0;i<L.length;i++)
  {
    if(strcmp(L.s[i].name,phnumber)==0)
    {
      k=i;
      flag=1;
    }    
  }
  if(flag==0)
    printf("没有找到该快递信息,查询失败!");
  else
    printf("单号:%d  收件人姓名:%s    收件人电话:%s  收件人地址:%s 寄件人姓名:%s    寄件人电话:%s  寄件人地址:%s \n",L.s[k].number,L.s[k].name,L.s[k].phnumber,L.s[k].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);              
}

//显示物流信息 
void ShowAll(SqList &L)
{
  int i=0;
  L.length=0;
  FILE *fp1;
    fp1=fopen("student.txt","r+");
  while(!feof(fp1))
  {
    fscanf(fp1,"%d %s %s %s %s %s %s",&L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);
    L.length++;
    i++;
  }  
  L.length--;
  fclose(fp1);
  printf("\n");
  for(i=0;i<L.length;i++)
  {
    printf("单号:%d  收件人姓名:%s   收件人电话:%s  收件人地址:%s 寄件人姓名:%s   寄件人电话:%s  寄件人地址:%s\n",L.s[i].number,L.s[i].name,L.s[i].phnumber,L.s[i].adr,L.s[i].name2,L.s[i].phnumber2,L.s[i].adr2);              
  }
}
int main()
{
  SqList L;
  int n;
  int option; 
  printf("\n**********欢迎使用物流管理系统**********");  
  while(1)
  {        
    printf("\n*************1.录入快递信息*************");
        printf("\n*************2.插入快递信息*************"); 
        printf("\n*************3.浏览快递信息*************");
        printf("\n*************4.按快递单号查询快递信息*************");
        printf("\n*************5.按收件人姓名查询快递信息*************");
        printf("\n***********6.按寄件人手机号查询快递信息***********");
         printf("\n***********7.修改快递信息***********");
         printf("\n***********8.删除该快递信息***********");
          printf("\n***********9.退出班级管理系统***********");
        printf("***********请选择需要的服务:************\n");
        scanf("%d",&option);
        system("cls");
        switch(option)
        {
          case 1:
            printf("请输入快递个数:");
            scanf("%d",&n);
            CreatStudent(L,n);
            break;
          case 2:
            InsertStudent(L);               
            break;
          case 3:
             ShowAll(L);     
            break;
          case 4:
               SearchStudent(L);
            break; 
         case 5:
              SearchStudentname(L);
            break; 
         case 6:
              SearchStudentphnumber(L);
            break;
       case 7:
           InsertStudent(L);
       case 8:
              DeleteStudent(L); 
              break;
         case 9:
             exit(0);
             break;
    }
  }
  return 0;
}

```c


```