www.pudn.com > v4670_flight.rar > Cancel.c


#include  
#include "datatype.h" 
#include "cancel.h" 
void c_ticket(FLIGHT fltlist[], PNODE psglist) 
{ 
  char c = 'y'; 
  while (c == 'y' || c == 'Y') 
  { 
    int fltno, i; 
    DATE date; 
    printf("请输入所退票的日期(yyyy,mm,dd):"); 
    scanf("%d,%d,%d", &date.m_year, &date.m_month, &date.m_day); 
    printf("请输入航班号: "); 
    scanf("%d", &fltno); 
    for(i = 0; i < 40; i++) 
    { 
      if (fltlist[i].m_fltno == fltno) 
      { 
	int seatno; 
	printf("请输入座位号:"); 
	scanf("%d", &seatno); 
	if (fltlist[i].m_people >= seatno && seatno > 0) 
	{ 
	  PNODE p; 
	  int index = 1; 
	  BOOL b = FALSE; 
	  for (p = psglist->next; p != NULL; p = p->next) 
	  { 
	    index++; 
	    if (p->m_psg.m_seatno == seatno && datecmp(&p->m_psg.m_Date, 
	      &date)) 
	    { 
	      b = TRUE; 
	      printf("已经办理退票。\n"); 
	      DelPassenger(psglist, index); 
	      break; 
	    } 
	  } 
	  if (!b) 
	  { 
	    printf("座位没有人订,任意键返回。\n"); 
	    getch(); 
	    break; 
	  } 
	  else 
	    break; 
	} 
	else 
	{ 
	  printf("座位号无效,任意键返回。\n"); 
	  getch(); 
	  break; 
	} 
      } 
    } 
    ClearBuffer(); 
    printf("继续退票吗?(y/n)"); 
    c = getchar(); 
  } 
}