below is what I have can you make this into more of a paper still to add to my group and what they have done
The capstone project involves the design and implementation of a system for managing user details and associated devices. This paper will delve into the structure and functionality of the implemented code, focusing on key components such as user details, devices, and the interaction between them.
UserDetails and Device Structs:
The project utilizes two main structs – UserDetails and Device. The UserDetails struct encapsulates information about a user, including their user ID, username, full name, home address, phone number, email, and an array of devices. On the other hand, the Device struct stores details related to a user’s device, such as its type and device ID.
Account and Device Management:
The system is designed to handle multiple users, with a predefined maximum number of users (MAX_USERS). Users are stored in an array of UserDetails structs named ‘users.’ Each user can have multiple devices, with the maximum number of devices per user set by MAX_DEVICES. Devices are stored within the UserDetails struct in the ‘devices’ array.
Adding Devices:
The code includes a function named ‘addDevice’ responsible for adding a new device to a user’s account. It checks if the number of devices for a user is below the maximum limit before adding the new device to the ‘devices’ array within the UserDetails struct.
Reading User and Device Data:
Two functions, ‘readUserData’ and ‘readDeviceData,’ are implemented to read user and device data from corresponding text files, respectively. The ‘readUserData’ function reads user details from a file named “user_details.txt” and populates the ‘users’ array. For each user, it calls ‘readDeviceData’ to read associated devices.
Challenges and Potential Improvements:
While the code successfully reads and displays user and device data, there are opportunities for improvement. Error handling mechanisms, such as checking file opening success and handling file format inconsistencies, could enhance the robustness of the system. Additionally, implementing functionalities like dynamically allocating memory for users and devices could allow for more flexibility in managing varying amounts of data.
Conclusion:
In summary, the design and implementation of the capstone project showcase a structured approach to managing user details and associated devices. The presented code offers a foundation for further enhancements, emphasizing user and device data management within the context of the capstone project.