Пример #1
0
void assign_seat(struct planestats p[], int n)
{
	int number, seat;
	show_empty(p,n);
	puts("Enter the seat ID (1 ~ 12) you choice:");
	while(scanf("%d",&number) != 1 || number < 1 || number > 12)
		{
			scanf("%*s");
			puts("Enter number (1 ~ 12)");
		}
	while(getchar() != '\n');
	
	for(seat = 0; seat < n; seat++)
			if(p[seat].seat_id == number)
				{
					if(p[seat].status == TAKEN)
						printf("NO.%d seat is already assigned!\n",p[seat].seat_id);	
					else
						{
							puts("Enter firstname:");
							gets(p[seat].first_name);
							puts("Enter lastname:");
							gets(p[seat].last_name);
							p[seat].status = 	TAKEN;	
							printf("assign NO.%d seat successfully!\n",p[seat].seat_id);					
						}
				}
}
Пример #2
0
int main(void)
{
	struct planestats plane[SEATS];
	int choice;
	int i;
	size_t size = sizeof(struct planestats);
	FILE *fp;
	
	if((fp = fopen("air.dat","rb")) == NULL)
		{
			fprintf(stderr, "Can't open file %s","air.dat\n");
			if((fp = fopen("air.dat","wb")) == NULL)
				{
					exit(1);
				}
			for(i = 0; i < SEATS; i++)
				{
						plane[i].seat_id = i + 1;
						plane[i].status = 0;
				}	
				
			fwrite(plane, size , SEATS, fp);
			puts("We created the file air.dat now.");
			exit(1);
		}
	
	for(i = 0; i < SEATS; i++)
		{
				plane[i].seat_id = i + 1;
				plane[i].status = 0;
		}
	fread(plane, size , SEATS, fp);
	fclose(fp);
	
	while((choice = getmenu()) != 'f')	
		{
			switch(choice)
			{
				case 'a': printf("%d seat is empty!\n",empty_seat(plane,SEATS));
									break;
				case 'b':	show_empty(plane,SEATS);
									break;
				case 'c':	show_seats(plane,SEATS);
									break;
				case 'd':	assign_seat(plane,SEATS);
									break;
				case 'e':	delet_seat(plane,SEATS);
									break;				
			}	
		}
		
	if((fp = fopen("air.dat","wb")) == NULL)
		{
			fprintf(stderr, "Can't open file %s","air.dat");
			exit(1);
		}	
	fwrite(plane, size , SEATS, fp);
	fclose(fp);	
		
	puts("Bye!");	
			
	return 0;
}
Пример #3
0
int main(void)
{
    struct seat seats[12];
    struct seat temp;
    FLAG select;
    FILE * fp;
    int pointer;
    int i;
    char seat_no = 1, key = 'L';

    for(i = 0; i < 12; i++, seat_no++)
    {
        seats[i].isAssigned = 0;
        seats[i].first_n[0] = '\0';
        seats[i].last_n[0] = '\0';
        if(i == 6)
        {
            key = 'R';
            seat_no = 1;
        }
        sprintf(seats[i].seat_num, "%c%d", key, seat_no);
    }
    if((fp = fopen("seats.bin", "rb")) == NULL)
    {
        fclose(fp);
        if((fp = fopen("seats.bin", "wb")) == NULL)
        {
            puts("Fail to create \"seats.bin\" file.");
            exit(EXIT_FAILURE);
        }
        fclose(fp);
    }
    else
    {
        while(fread(&temp, sizeof(struct seat), 1, fp) == 1)
        {
    /*        if(seats[i].seat_num[0] == 'L')
                pointer = atoi(&seats[i].seat_num[1]) - 1;
            else
                pointer = 5 + atoi(&seats[i].seat_num[1]);
            statuses[pointer].isUsed = 1;
            i++;
    */
            if(temp.seat_num[0] == 'L')
                pointer = atoi(&temp.seat_num[1]) - 1;
            else
                pointer = 5 + atoi(&temp.seat_num[1]);
            seats[pointer] = temp;
        }
        /*while(i < 12)
        {
            if(seats[i].isAssigned = 0)
            for(int j = 0; j < 12; j++)
            {
                if(statuses[j].isUsed == 0)
                {
                    strcpy(seats[i].seat_num, statuses[j].seat_num);
                    break;
                }
            }
            i++;
        } */
    }
    menu();
    while(select = getchar())
    {
        fflush(stdin);
        switch(select)
        {
        case 'a':
            show_empty(seats);
            break;
        case 'b':
            show_list(seats);
            break;
        case 'c':
            show_alpha(seats);
            break;
        case 'd':
            add_cust(seats);
            break;
        case 'e':
            del_seat(seats);
            break;
        case 'f':
            return 0;
        }
        menu();
    }
}