www.pudn.com > v4670_flight.rar > QUIT.C


/* Please run Chinese a system, then you can read the comment. */ 
/* 文件名:quit.c 
   说明:退出模块 
   作者:01090B1 徐英琦 11号 
   创建日期:2003/6/30 
   修改日期:2003/7/1        */ 
#include  
#include  
#include "datatype.h" 
#include "quit.h" 
void SaveFlight(FLIGHT fltlist[]) 
{ 
  FILE *fp; 
  if ((fp = fopen("flight.dat", "wb")) == NULL) 
  { 
    printf("不能打开flight.dat文件,航班数据无法保存。\n"); 
    fclose(fp); 
    return; 
  } 
  fwrite(&fltlist[0], sizeof(FLIGHT), 40, fp); 
  fclose(fp); 
  printf("航班数据已保存至flight.dat文件。\n"); 
} 
void SavePassenger(PNODE psglist) 
{ 
  FILE *fp; 
  PNODE p; 
  int n = GetPsgCount(psglist); 
  unlink("psg.dat"); 
  if (n == 0) 
    return; 
  if ((fp = fopen("psg.dat", "wb")) == NULL) 
  { 
    printf("不能打开psg.dat文件,乘客数据无法保存。\n"); 
    fclose(fp); 
    return; 
  } 
  fwrite(&n, sizeof(int), 1, fp); 
  for (p = psglist->next; p != NULL; p = p->next) 
    fwrite(&p->m_psg, sizeof(PASSENGER), 1, fp); 
  fclose(fp); 
  printf("乘客数据已保存至psg.dat文件。\n"); 
} 
void Quit(FLIGHT fltlist[], PNODE psglist) 
{ 
  SaveFlight(fltlist); 
  SavePassenger(psglist); 
}