课程信息查找 改掉goto


void search()          //课程信息查询
{
   int a,num;
   int t=1;
   char type[10],min[10];
   SUB *ptr;
    L1:system("cls");
   printf("\n\n\t\t==================请选择查询方式===================\n");
   printf("\n\t\t\t1---按课程名称查找\n");
   printf("\n\t\t\t2---按课程性质查找\n");
   printf("\n\t\t\t3---按学分查找\n");
   printf("\n\t\t\t4---退出查找\n");
   printf("\n\n\t\t===================================================\n");
   printf("\n\n请选择(1-4):[ ]\b\b");
   scanf("%d",&a);
   switch(a)
   {
        case 1:printf("请输入要查找的课程的名称:");
            scanf("%s",min);
            printf("课程编号  课程名称  课程性质  总学时  授课学时  实验或上机学时  学分  开课学期\n");
            for(ptr=head;ptr;ptr=ptr->next)
                if(strcmp(min,ptr->name)==0)
                {
                 printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);
                 t=0;
                }
            if(t) 
                printf("\t\n未找到!\n");
            t=1;
            system("pause");
            goto L1;
                
       case 2:printf("请输入要查找的课程的性质:");
           scanf("%s",type);
           printf("课程编号  课程名称  课程性质  总学时  授课学时  实验或上机学时  学分  开课学期\n");
           for(ptr=head;ptr;ptr=ptr->next)
               if(strcmp(type,ptr->kind)==0)  
                {
                     printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);
                     t=0;
                }
            if(t) 
                printf("\t\n未找到!\n");
            t=1;
            system("pause");
            goto L1;     
  
      case 3:printf("输入要查找的课程的学分:");
           scanf("%d",&num);
           printf("课程编号  课程名称  课程性质  总学时  授课学时  实验或上机学时  学分  开课学期\n");
           for(ptr=head;ptr;ptr=ptr->next)
               if(ptr->score==num)
                {
                     printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);
                     t=0;
                }
            if(t) 
                printf("\n\t未找到!\n");
            t=1;
            system("pause"); 
            goto L1;
            
        case 4:break;
    }
}

这里的goto查找可以帮忙换成别的吗

加个while(1)就行

 
void search()          //课程信息查询
{
   int a,num;
   int t=1;
   char type[10],min[10];
   SUB *ptr;
    while(1)
    {
     system("cls");
   printf("\n\n\t\t==================请选择查询方式===================\n");
   printf("\n\t\t\t1---按课程名称查找\n");
   printf("\n\t\t\t2---按课程性质查找\n");
   printf("\n\t\t\t3---按学分查找\n");
   printf("\n\t\t\t4---退出查找\n");
   printf("\n\n\t\t===================================================\n");
   printf("\n\n请选择(1-4):[ ]\b\b");
   scanf("%d",&a);
   switch(a)
   {
        case 1:printf("请输入要查找的课程的名称:");
            scanf("%s",min);
            printf("课程编号  课程名称  课程性质  总学时  授课学时  实验或上机学时  学分  开课学期\n");
            for(ptr=head;ptr;ptr=ptr->next)
                if(strcmp(min,ptr->name)==0)
                {
                 printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);
                 t=0;
                }
            if(t) 
                printf("\t\n未找到!\n");
            t=1;
            system("pause");
            break;
                
       case 2:printf("请输入要查找的课程的性质:");
           scanf("%s",type);
           printf("课程编号  课程名称  课程性质  总学时  授课学时  实验或上机学时  学分  开课学期\n");
           for(ptr=head;ptr;ptr=ptr->next)
               if(strcmp(type,ptr->kind)==0)  
                {
                     printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);
                     t=0;
                }
            if(t) 
                printf("\t\n未找到!\n");
            t=1;
            system("pause");
            break;   
  
      case 3:printf("输入要查找的课程的学分:");
           scanf("%d",&num);
           printf("课程编号  课程名称  课程性质  总学时  授课学时  实验或上机学时  学分  开课学期\n");
           for(ptr=head;ptr;ptr=ptr->next)
               if(ptr->score==num)
                {
                     printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);
                     t=0;
                }
            if(t) 
                printf("\n\t未找到!\n");
            t=1;
            system("pause"); 
            break;
            
        case 4:exit(0);
    }
}
}