This is a console-based Hotel Management System developed using C programming. It allows both Admin and Customer roles with separate access levels, enabling seamless room management, customer booking, billing, and support functionalities.
This project was built as part of the academic learning at Emertxe Information Technologies under the guidance and support of experienced faculty and peers
- Admin Login with username and password
- Add new rooms with type and price
- Edit existing room details
- View all rooms and search rooms by type/price/availability
- Book room for any customer
- View all active bookings (excluding completed)
- Cancel any booking using customer ID
- Generate bill using customer ID or mobile number
- Automatically update room availability and save data
- Sign up with username, password, and mobile (validation included)
- Login using credentials
- View available rooms
- Search rooms by type, price, or availability
- Book a room (auto-set check-in to today’s date, choose meal type)
- View personal bookings only
- Generate and view personal bill
- Access Customer Care support
- Auto-generated unique Customer ID (e.g., VC00001)
- Meal plan selection (Veg, Non-Veg, Combo, or No Meal)
- Meal and stay costs calculated dynamically
- Bill saved to file
- All bookings saved to CSV/text files
- Date validation and day calculation using
strptime()andmktime() - Bookings marked as completed after bill generation
| Tool/Tech | Purpose |
|---|---|
| C Language | Core development |
| GCC Compiler | Compilation |
| VS Code | Primary IDE (optional) |
| Linux/Windows Terminal | Run and test the executable |
| File I/O | Storing customer, room, and booking data |
| Modular Design | Each feature is implemented in separate .c/.h files |
HotelManagement/
├── main.c
├── booking.c / booking.h
├── room.c / room.h
├── fileio.c / fileio.h
├── login.c / login.h
├── customer.h
├── rooms.txt
├── bookings.csv
├── bills/
│ ├── VC00001_bill.txt
│ └──gcc *.c -o hotel
./hotel● Structuring a large C project into multiple files
● Handling file I/O for both reading and writing multiple types of data
● Validating user inputs (dates, phone numbers, usernames)
● Generating unique IDs and reloading counters
● Preventing duplicate room numbers and usernames
● Calculating the number of days between two dates using time.h
● Ensuring modularity, readability, and maintainability
Here are some planned upgrades that can enhance the system further:
● GUI Integration using C GUI libraries (GTK or even Python-Tkinter wrapper)
● Admin Dashboard Reports: Daily/weekly booking and revenue reports
● Booking History for customers
● Feedback System: Collect ratings after checkout
● Coupon/Discount System
● Online Payment Simulation
● Multi-language support
● Database Integration (e.g., SQLite instead of text files)
● Login Attempt Limiter: Lock user after 3 failed attempts
● Structuring large-scale C projects
● Modular programming and header file usage
● Working with structures and arrays of structures
● Handling date and time in C
● Implementing file handling for persistence
● Validation of real-world inputs (phone, date, password)
● Project planning and feature implementation step by step
● Debugging and testing in C environment
Special thanks to: Emertxe Information Technologies class mentors and lab mentors My batchmates who helped test and improve the system
This project is for educational purposes. You are free to use, modify, and share it with proper attribution.
Feel free to explore this project and provide feedback. If you liked it or want to collaborate, let's connect on LinkedIn. https://www.linkedin.com/in/vedhacr