I was given an assignment with the following parameters:
The Cape Fear Airlines has one plane with a seating capacity of 12. It makes one flight daily. Write a seating reservation program with the following features:
The program uses a group of arrays. The four arrays should hold a seat ID number, a marker that indicates whether the seat is assigned, the last name of the seat holder, and the first name of the seat holder.
The program displays the following menu:
To choose a function, enter its number:
1. Show the number of empty seats
2. Show a list of empty seats
3. Show by last name an alphabetical list of assigned seats
4. Assign a customer to a seat
5. Delete a seat assignment
6. Quit
The menu should be displayed after each choice except for choice 6.
I have everything working with the exception of:
2. Show a list of empty seats and 5. Delete a seat assignment
My partially working code is as follows:
The Cape Fear Airlines has one plane with a seating capacity of 12. It makes one flight daily. Write a seating reservation program with the following features:
The program uses a group of arrays. The four arrays should hold a seat ID number, a marker that indicates whether the seat is assigned, the last name of the seat holder, and the first name of the seat holder.
The program displays the following menu:
To choose a function, enter its number:
1. Show the number of empty seats
2. Show a list of empty seats
3. Show by last name an alphabetical list of assigned seats
4. Assign a customer to a seat
5. Delete a seat assignment
6. Quit
The menu should be displayed after each choice except for choice 6.
I have everything working with the exception of:
2. Show a list of empty seats and 5. Delete a seat assignment
My partially working code is as follows:
//final //airline reservation //taddei #include <stdio.h> #include <ctype.h> #include <string.h> void instructions(void); int getValue(void); void menu(int); void available(void); void list(void); void assign(void); void delete(void); int assigned[12]={0}; char seatID[12][3] = {"A1","A2","A3","A4","A5","A6","B1","B2","B3","B4","B5","B6"}; char lastName[12][15]; char firstName[12][15]; int main(void) { int choice; instructions(); do { printf("1. Number Avaliable 2. List Available\n"); printf("3. List Names 4. Assign Seat\n"); printf("5. Delete seat 6. QUIT\n\n"); choice = getValue(); menu(choice); }while(choice != 6); return 0; } ///////////////////instructions///////////////// void instructions(void) { printf("This is an airline reservation program\n"); printf("Please make a menu selection 1-6:\n\n"); } int getValue(void) { int value; do { scanf("%d", &value); }while(value > 12); return value; } void menu(int input) { int temp = 0; switch(input) { case 1: for(int i = 0; i < 12; i++) { if(assigned[i] == 0) temp++; } printf("There are %d available seats\n\n", temp); break; case 2: available(); break; case 3: list(); break; case 4: assign(); break; case 5: delete(); break; case 6: break; default: printf("Be sure to enter a valid choice!\n"); } } ////////////////////////list available seats////////////////// void available(void) { printf("Available seats:\n"); printf("________________\n"); for(int i=0; i < 12; i++) { if( assigned[i] == 0 ) { printf("%s\n",seatID[i]); } } } ////////////////////list NOT WORKING!!////////////////////////// void list(void) { char array[3][12][15]; int c = 0; int max = 0; for(int i = 0; i < 12; i++) { if(assigned[i] > 0) { max++; strcpy(array[0][c], seatID[i]); strcpy(array[1][c], lastName[i]); strcpy(array[2][c], firstName[i]); c++; } printf("%d\n", max); } for(int x = 0; x < 3; x++) for(int y = 0; y < 2; y++) if(strcmp(array[1][y],array[1][y+1]) > 0) { char temp[15]; strcpy(temp, array[1][y]); strcpy(array[1][y], array[1][y + 1]); strcpy(array[1][y + 1], temp); strcpy(temp, array[2][y]); strcpy(array[2][y], array[2][y + 1]); strcpy(array[2][y + 1], temp); strcpy(temp, array[0][y]); strcpy(array[0][y], array[0][y + 1]); strcpy(array[0][y + 1], temp); } for(int i = 0; i < max; i++) { printf("%s, %s, %s\n",array[1][i], array[2][i], array[0][i]); } } ////////////////////assign seat///////////////// void assign(void) { char column; int seat; for(int i = 0; i < (12 / 2); i++) { printf("A%d B%d\n", i + 1, i + 1); } printf("Select row A or B: "); fflush(stdin); column=getchar(); printf("Select a seat number 1-6: "); seat=getValue(); if(toupper(column)=='A') { printf("Enter first and last name: "); scanf("%s %s", firstName[seat - 1], lastName[seat - 1]); assigned[seat-1]++; } if(toupper(column)=='B') { printf("Enter first and last name: "); scanf("%s %s", firstName[seat+(12 / 2) -1], lastName[seat+(12 / 2) -1]); assigned[seat + (12 / 2)-1]++; } } /////////////////////delete a seat///////////////// void delete(void) { int x = 0; printf("Enter seat ID: \n"); for(int i = 0; i < 12; i++) { printf("%d %s", x + 1, seatID[i]); if(assigned[i] < 1) { printf("%s, %s\n", lastName[i], firstName[i]); }else { printf("\n"); } x++; } x = getValue(); assigned[x - 1] = 0; }