·É»úƱÎñ¹ÜÀíϵͳ ÏÂÔØ±¾ÎÄ

5

Èý Éè¼Æ¸ÅÒª

¢Å ³ÌÐò¸ÅҪͼ

ϵͳÖÐÖ÷Òªº¯Êý¼°¹¦ÄÜ ÐÅÏ¢²éѯº¯Êý makenull_information() makenull_wait() list_information() plane_information() ²éѯ»úƱ¼°µÈºòÅŶÓÐÅÏ¢ ÐÅÏ¢ÊäÈ뺯Êý book() add_information() add_wait() ÊäÈ붩Ʊ¼°ÅŶÓÐÅÏ¢ ÐÅÏ¢Êä³öº¯Êý list_piao() show_wait() write_to_file() Êä³ö»úƱ¼°ÅŶÓÐÅÏ¢ ÐÅÏ¢Ð޸ĺ¯Êý search_delete() ²éÕÒ¼°¶ÔÐÅÏ¢×÷³öÐÞ¸Ä Í¼1³ÌÐò¸ÅÒª

¢Æ Ö÷ÒªÊý¾Ý½á¹¹[2][3][4]

#include #include #include #include

#define m 4 #define n 5 struct node {

char name[21]; char id[21]; char phone[8];

6

int seat,plane,date; node *next,*pre; };

struct wait {

char name[21]; char id[21]; char phone[13];

int seat,plane,date,count; wait *next,*pre; };

struct piao {

int seat[n+1]; };

¢Ç ¿Î³ÌÉè¼ÆËùÓ÷½·¨¼°Ô­Àí

½«¶©Æ±ÈËÊäÈëµÄÐÅϢдÈëÎļþ£¬Í¬Ê±ÏµÍ³¼Ç¼ÕâÒ»ÐÅÏ¢²¢¶Ô»úƱÐÅÏ¢×÷³öÐ޸쬵±ÆäËûÈ˶©Æ±»ò²éѯʱ£¬Êä³öÐ޸ĺóµÄÐÅÏ¢£¬µ±Æ±Òѱ»Ô¤¶¨Íêʱ£¬Êä³öµÈºò½¨Òé¡£ Ö÷ÒªÀûÓÃÁËÎļþµÄ¸÷ÖÖ²Ù×÷[1]£¬Ö¸ÕëµÄ¸÷ÏîÓ¦ÓõÈ֪ʶ[2]¡£

ËÄ ÏêϸÉè¼Æ

¢Å ËùÐèÈí¼þ»·¾³

Windows ²Ù×÷ϵͳϵÄMicrosoft Visual C++6.0Èí¼þ»·¾³

¢Æ ²¿·Ö³ÌÐò³ÌÐòÔ´´úÂë

void makenull(); //ÕÔÀ× void makenull_piao();///ÕÔÀ×

void makenull_information();//ÕÔÀ× void makenull_wait();//ÕÔÀ×

void list_menu();//¿×Ðñ¶«£¬mainº¯Êý void show_wait();//¿×Ðñ¶« void list_piao();//ÕÅÊ÷½¨

void list_information();//ÕÅÊ÷½¨

void plane_information(node *head);//·¶ÁÖ´º void book();//·¶ÁÖ´º

void add_information(node *head,int x,int y);//ÑîÌÎ

7

void add_wait(int x,int y);//ÑîÌÎ void search_delete(int x);//Å£Éܺ£ bool comp(node *x,node*y);//Å£Éܺ£ void write_to_file();//Å£Éܺ£

////////////////////////////////////////////////////////////////////////////////////////////// node *head1,*head2,*head3,*q; wait *wait_head,*wait_end; piao a[m]; void main() { char choose; makenull(); do{ if (choose!='6') list_menu();

printf(\ÇëÊäÈëÄúµÄÑ¡Ôñ: \ scanf(\ switch(choose){

case '0' : show_wait();break;

case '1' : {list_piao();book();}break; case '2' : search_delete(1);break; case '3' : list_piao();break;

case '4' : list_information();break; case '5' : search_delete(0);break; default : break; }

}while(choose!='6'); printf(\Í˳ö³ÌÐò\\n\}

void makenull() {

makenull_piao();//ƱÎñÐÅÏ¢

makenull_information();//¿Í»§ÐÅÏ¢ makenull_wait();//µÈºòÈËÔ±ÐÅÏ¢ }

void list_menu() { printf(\

printf(\ ²Ëµ¥ \\n\ printf(\ ************************\\n\ printf(\ * 0 . ²é¿´ÅŶÓÇé¿ö *\\n\ printf(\ * 1 . ¶©Æ± *\\n\ printf(\ * 2 . ÍËÆ± *\\n\ printf(\ * 3 . ²é¿´Ê£ÓàÆ± *\\n\ printf(\ * 4 . ²é¿´·É»úÐÅÏ¢ *\\n\

8

printf(\ * 5 . ²é¿´³Ë¿ÍÐÅÏ¢ *\\n\ printf(\ * 6 . Í˳ö *\\n\ printf(\ ************************\\n\ printf(\}

void makenull_piao()//»úƱÐÅÏ¢µÄÎļþ½¨Á¢ {

FILE *fp; int i;

if((fp=fopen(\ {

fp=fopen(\ for (i=1;i<=m-1;i++)

fwrite(&a[i],sizeof(piao),1,fp); fclose(fp);

fp=fopen(\ }

for(i=1;i<=m-1;i++)

fread(&a[i],sizeof(piao),1,fp); fclose(fp); }

void makenull_information()//¶©Æ±ÈËÔ±ÐÅÏ¢µÄÎļþ½¨Á¢ {

node *r; FILE *fp; int i,j,sum;

sum=a[1].seat[0]+a[2].seat[0]+a[3].seat[0]; fp=fopen(\ head1=new node; head2=new node; head3=new node; head1->pre=NULL; head1->next=NULL; head2->pre=NULL; head2->next=NULL; head3->pre=NULL; head3->next=NULL; q=head1;

for(i=1;i<=sum;i++) {

j=0;

r=new node;

fread(r,sizeof(node),1,fp);