Dsa Lab Assignment-11
Dsa Lab Assignment-11
Abstract:
The Event Management System (EMS) is a C++ application designed to illustrate the use of data
structures in managing events. It employs parallel arrays to efficiently store event-related data,
including names, dates, locations, ticket prices, available seats, and total tickets sold,
supporting up to 100 events for organized storage and quick retrieval. The system facilitates
operations such as adding events, processing ticket purchases, and calculating revenue,
showcasing how data structures enhance performance and data integrity. Basic control
structures, including loops and conditionals, further improve functionality. Enhanced with ANSI
escape codes for a visually appealing interface, the EMS serves as an educational tool to
demonstrate key data structure concepts while providing a comprehensive solution for event
management.
1. Introduction
1.1 Purpose
The purpose of this document is to outline the software requirements for the Event
Management System (EMS), a C++ application designed to facilitate the management of events,
including the addition of events, ticket purchasing, and revenue analysis.
1.2 Scope
The EMS will enable users to manage events effectively by providing features such as event
registration, ticket sales, revenue calculations, and data export. It will support up to 100 events
and will be utilized by event organizers and attendees.
1.3 Definitions, Acronyms, and Abbreviations
2. Overall Description
The EMS is a standalone application built in C++. It leverages data structures like parallel arrays
to store event information efficiently.
- Add new events with details (name, date, location, price, available seats).
- Event Organizers: Users who can add and manage events, view revenue, and export analytics.
- The EMS will run on any system with a C++ compiler and basic command-line interface
capabilities. It will utilize standard libraries for file handling and input/output operations.
3. Functional Requirements
- Add Event
-Display Events
- Input: None.
- Purchase Tickets
- Calculate Revenue
- Input: None.
- Export to CSV
- Input: None.
4. Non-Functional Requirements
4.1 Performance
- The system should handle up to 100 events without noticeable delays in operations.
4.2 Usability
- The interface should be user-friendly, with clear prompts and color-coded feedback for
actions.
4.3 Reliability
- The system should ensure data integrity and avoid data loss during file operations.
4.4 Maintainability
- No specific hardware requirements; any system with C++ compiler capabilities will suffice.
6. System Requirements
8. Future Enhancements
1. System Architecture
The command-line interface features color-coded prompts. Main menu options include
1. Add Event
2. Display Events
3. Purchase Tickets
4. Generate CSV File
5. Exit
3. Interaction Flow
Add Event: User inputs details, and the system confirms addition.
Display Events: Shows formatted list or a message if none exist.
Purchase Tickets: Validates availability and confirms purchase, generating an ICS file.
Generate CSV: Creates and confirms CSV file of event analytics.
Workflow:
Main Menu
Options: Add Event, Display Events, Purchase Tickets, Generate CSV File, Exit.
Add Event
Display Events
Purchase Tickets
User inputs event name and number of tickets.
Exit
IMPLEMENTATION:
The EMS is designed to streamline the planning and management of events, allowing users to
add events, manage ticket sales, and analyze revenue efficiently.
Key Concepts
- Data Structures: The system uses parallel arrays to store event data (names, dates, locations,
ticket prices, available seats, and total tickets sold), enabling efficient access and manipulation.
- Event Management: Users can add events with validation for inputs.
- Ticket Purchasing: Attendees can purchase tickets with real-time seat updates.
- Revenue Tracking: The system calculates total revenue generated for each event.
- Data Export: Generates ICS files for calendar integration and CSV files for analytics.
User Interaction
The EMS features a command-line interface (CLI) with a clear menu system and color-coded
feedback to enhance user experience.
Error Handling
Basic validation ensures correct inputs and manages issues like exceeding event capacity or
insufficient seat availability during ticket purchases.
Educational Value
The EMS serves as an educational tool, illustrating programming concepts, data structures, and
file handling techniques, while also providing potential for future enhancements like database
integration and a graphical user interface.
TESTING:
1. Test Objectives
2. Test Cases
3. Performance Testing
Test the system's performance when adding the maximum number of events.
Measure response time for purchasing tickets during peak loads.
Intentionally input invalid data (e.g., negative ticket count) and ensure appropriate error
messages are displayed.
CONCLUSION:
The Event Management System (EMS) effectively demonstrates key programming concepts by
managing event data through parallel arrays. Its user-friendly command-line interface facilitates
tasks like event creation and ticket sales, ensuring data integrity with robust error handling.
Overall, the EMS serves as a practical educational tool, highlighting real-world applications of
software development principles.