⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datatype.c

📁 用c实现的航空售票系统,在DEV-C++环境下运行.还可以用来交作业的.
💻 C
字号:
#include "DATATYPE.H"

void Add_Flight(flight pflight[])
{
        flight fl;
        char ch = 'y';       
        int i = 0;
        for (; i < 40; i++)
        {
                if (pflight[i].f_flight_num == -1)break;                               
        }
        if (i == 40)
        {
                printf("航班已满,无法操作!\n");
                return ;
        }                                            
        while ((ch == 'y' || ch == 'Y') && i < 40)
        {
                printf("航班始点:\n");
                scanf("%s", pflight[i].f_from);                
                printf("航班终点>:\n");
                scanf("%s", pflight[i].f_to);
                printf("途经:\n");
                scanf("%s", pflight[i].f_pass);               
                printf("航班编号:\n");
                scanf("%ld", &pflight[i].f_flight_num);                             
                printf("满员人数:\n");
                scanf("%d", &pflight[i].f_people);
                pflight[i].f_seat = pflight[i].f_people;
                printf("%d", pflight[i].f_seat);
                getchar();
                printf("是否满员(y/n):\n");
                pflight[i].f_full = getchar();
                printf ("机票价格:\n");
                scanf("%f", &pflight[i].f_ticket_pri);
                getchar();
                printf("%.2f", pflight[i].f_ticket_pri);
                i++;
                printf("是否继续(y/n)?\n");
                ch = getchar();
        }
        return ;
               
}
void Del_Flight(flight pflight[])
{
        int flight_num;
        int i;
        char tag = 'n';
        printf("输入要删除的航班编号:\n");
        scanf("%ld", &flight_num);
        for (i = 0; i < 40; i++)
        {
                if (pflight[i].f_flight_num == flight_num)
                {
                        pflight[i].f_flight_num = -1;
                        tag = 'y';
                        printf("删除成功!\n");
                        break;
                }
        }
        if (i == 40)
        {
                printf("要删除的航班不存在!\n");
                
        }
        if (tag == 'n')
        {
                printf("删除操作失败!\n");
                return ;          
        }
        return ;
        
}

void Read_Flight(flight pflight[])
{
        int i;
        FILE *fp;
        if ((fp = fopen("flight.dat","rb")) == NULL)
        {
                printf("打开文件有误!");
                exit(0);
        }        
        for (i = 0; i < 40; i++)
        fread(&pflight[i], sizeof(struct _flight), 1, fp);
        return ;
}

void Add_Passenger(pa_node pa)
{
        char ch = 'y';
        pa_node pb,pc; 
        pc = pa;      
        for (; pc->next== NULL; pc=pc->next)
        {
                pb =(pa_node)malloc(sizeof(struct _passenger_));
                printf("输入姓名:\n");
                scanf("%s", pb->_pnode.p_name);
                printf("%s", pb->_pnode.p_name);
         	printf("请您输入证件号:\n");
                scanf("%s", pb->_pnode.p_id);
                printf("输入住址:\n");
                scanf("%s", pb->_pnode.p_address);
                pb->_pnode.p_ticket_cou=0;
                pc->next = pb;
                pc = pb;
		break;                             
        }
        pc->next = NULL;
        return ;
                  
}

void Del_Passenger(pa_node pa)
{
        pa_node pb, pc;
        if (pa->next == NULL)
        {
                printf("没有乘客,无法删除!\n");
                return ;
        }
        
        
        
        
}
void Read_Passenger(pa_node pa)
{
        FILE *fp;
        pa_node pb;
        passenger pc;
        int n;
        if ((fp = fopen("passenger.dat", "rb")) == NULL)
        {
                printf("打开文件有误!\n");
                pa->next == NULL;
                exit(0);
        }
        fread(&n, sizeof(int), 1, fp);
        for (; n>0; n--)
        {
                fread(&pc, sizeof(struct _passenger), 1, fp);
                pb=(pa_node)malloc(sizeof(struct _passenger_));
                pb->_pnode=pc;
                pb->next=pa->next;
                pa->next=pb;            
        }
        fclose(fp);
        return ;
                
}
int Getpacount(pa_node pa)
{
	int n=0;
	pa_node pb;
	pb=pa->next;
	while (pb!=NULL)
	{
		n++;
		pb=pb->next;
	}
	return n;
}
void Read(flight pflight[], pa_node pa)
{
        Read_Flight(pflight);
        Read_Passenger(pa);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -