Untitled
#include <stdio.h> #include <string.h> #define MAX_ROOMS 10 typedef struct { int isOccupied; char tcNo[12]; char firstName[30]; char lastName[30]; char checkInDate[11]; // Format: dd.mm.yyyy } Room; Room rooms[MAX_ROOMS]; void initializeRooms() { int i; for (i = 0; i < MAX_ROOMS; i++) { rooms[i].isOccupied = 0; } } void newCustomer() { int roomNum; printf("Enter room number (1-%d): ", MAX_ROOMS); scanf("%d", &roomNum); roomNum--; if (roomNum < 0 || roomNum >= MAX_ROOMS) { printf("Invalid room number!\n"); return; } if (rooms[roomNum].isOccupied) { printf("This room is already occupied!\n"); return; } printf("Customer ID (TC): "); scanf("%s", rooms[roomNum].tcNo); printf("Customer First Name: "); scanf("%s", rooms[roomNum].firstName); printf("Customer Last Name: "); scanf("%s", rooms[roomNum].lastName); printf("Check-in Date (dd.mm.yyyy): "); scanf("%s", rooms[roomNum].checkInDate); rooms[roomNum].isOccupied = 1; printf("Customer added successfully!\n"); } void showOccupiedRooms() { int i, found = 0; printf("Occupied Rooms:\n"); for (i = 0; i < MAX_ROOMS; i++) { if (rooms[i].isOccupied) { printf("Room %d - %s %s, ID: %s, Date: %s\n", i + 1, rooms[i].firstName, rooms[i].lastName, rooms[i].tcNo, rooms[i].checkInDate); found = 1; } } if (!found) printf("No occupied rooms found.\n"); } void deleteCustomer() { char tc[12]; int i; printf("Enter the ID (TC) of the customer checking out: "); scanf("%s", tc); for (i = 0; i < MAX_ROOMS; i++) { if (rooms[i].isOccupied && strcmp(rooms[i].tcNo, tc) == 0) { rooms[i].isOccupied = 0; printf("Customer record deleted.\n"); return; } } printf("No customer found with the entered ID!\n"); } void roomStatus() { int i, occupied = 0, empty = 0; printf("Room Status:\n"); for (i = 0; i < MAX_ROOMS; i++) { if (rooms[i].isOccupied) { printf("Room %d: OCCUPIED\n", i + 1); occupied++; } else { printf("Room %d: EMPTY\n", i + 1); empty++; } } printf("Occupancy Rate: %.2f%%\n", (occupied / (float)MAX_ROOMS) * 100); printf("Total Occupied Rooms: %d, Empty Rooms: %d\n", occupied, empty); } void searchCustomer() { int choice; char query[30]; int i; printf("Search Criteria:\n1. By Room Number\n2. By Last Name\n3. By Check-in Date\nYour Choice: "); scanf("%d", &choice); if (choice == 1) { int roomNum; printf("Enter Room Number: "); scanf("%d", &roomNum); roomNum--; if (roomNum >= 0 && roomNum < MAX_ROOMS && rooms[roomNum].isOccupied) { printf("Room %d - %s %s, ID: %s, Date: %s\n", roomNum + 1, rooms[roomNum].firstName, rooms[roomNum].lastName, rooms[roomNum].tcNo, rooms[roomNum].checkInDate); } else { printf("No customer found in this room.\n"); } } else if (choice == 2) { printf("Enter Customer Last Name: "); scanf("%s", query); for (i = 0; i < MAX_ROOMS; i++) { if (rooms[i].isOccupied && strcmp(rooms[i].lastName, query) == 0) { printf("Room %d - %s %s, ID: %s, Date: %s\n", i + 1, rooms[i].firstName, rooms[i].lastName, rooms[i].tcNo, rooms[i].checkInDate); } } } else if (choice == 3) { printf("Enter Check-in Date (dd.mm.yyyy): "); scanf("%s", query); for (i = 0; i < MAX_ROOMS; i++) { if (rooms[i].isOccupied && strcmp(rooms[i].checkInDate, query) == 0) { printf("Room %d - %s %s, ID: %s, Date: %s\n", i + 1, rooms[i].firstName, rooms[i].lastName, rooms[i].tcNo, rooms[i].checkInDate); } } } else { printf("Invalid choice!\n"); } } int main() { int choice; initializeRooms(); do { printf("\n=== HOTEL MANAGEMENT PROGRAM ===\n"); printf("1. New Customer\n2. Show Records\n3. Check-out Customer\n4. Search\n5. Room Status\n6. Exit\nYour Choice: "); scanf("%d", &choice); switch (choice) { case 1: newCustomer(); break; case 2: showOccupiedRooms(); break; case 3: deleteCustomer(); break; case 4: searchCustomer(); break; case 5: roomStatus(); break; case 6: printf("Exiting program...\n"); break; default: printf("Invalid choice!\n"); } } while (choice != 6); return 0; }
Leave a Comment