You are tasked with creating a simplified Pokedex program based on data from CSV files ([login to view URL] and [login to view URL]). The program should be named pokedex and must handle command line arguments to specify these files.
Key Requirements
CSV Data Handling:
Read [login to view URL] and [login to view URL] using file input operations (fstream).
Each row in these CSV files represents either a trainer or a Pokémon and should be parsed into appropriate arrays of objects (Trainer and Pokemon).
Data Parsing:
Use getline to separate CSV fields based on commas.
Convert strings to integers or floats where necessary using functions like stoi and stof.
Object-Oriented Approach:
Implement a Trainer class with attributes such as name, gym, badge, preferred Pokémon type, an array of caught Pokémon, and a count of caught Pokémon.
Implement a Pokemon class (already provided) to represent individual Pokémon with various attributes.
Error Handling:
Check for correct command line arguments. The program should terminate gracefully if the required arguments are not provided or if files cannot be opened.
Menu System:
Display a main menu upon successful initialization, allowing users to:
View trainers by type or alphabetically.
View Pokémon by type or alphabetically.
Exit the program.
Sorting and Display:
Sort and display trainers and Pokémon as per user selections.
Identify and sort all unique Pokémon types for menu options.
Integration and Use of Helpers:
Utilize provided helper functions (helpers.h, [login to view URL]) to parse data, sort arrays, and manage user interactions.
Do not modify pokemon.h, [login to view URL], or the provided helper functions unless explicitly necessary.
Program Flow
Initialization:
Read and validate command line arguments to ensure correct file names are provided.
Open and read [login to view URL] and [login to view URL], storing data into arrays of Trainer and Pokemon objects respectively.
Data Processing:
Parse and populate arrays with objects derived from CSV data.
Calculate and store all unique Pokémon types for menu navigation.
User Interaction:
Display a menu to allow users to select options to view trainers or Pokémon.
Handle user inputs to display sorted lists of trainers or Pokémon based on type or alphabetical order.
Output:
Use appropriate functions to print data neatly formatted, ensuring readability and user-friendly interface.
Provide error messages and graceful termination if encountered during file reading or data parsing.
Classes and Functions
Trainer Class:
Contains attributes specific to trainers and methods to display trainer data.
Pokemon Class:
Represents individual Pokémon with various attributes.
Helper Functions:
Assist in parsing CSV data, sorting arrays, and facilitating user interactions.
Ensure all functions are properly utilized without altering provided code unless instructed.
Implementation Notes
Create trainer.h and [login to view URL] to define and implement the Trainer class with required functionalities.
Integrate and utilize existing code and functions (helpers.h, [login to view URL]) effectively to meet assignment requirements.
Ensure adherence to good coding practices, including proper error handling, modularization, and clear documentation.
Following these guidelines will help you construct a functional Pokedex program that meets the specified requirements while utilizing provided resources effectively. Focus on clarity, correctness, and adherence to given constraints throughout your implementation.
✅Hi, Client. I am a senior C#/C++ developer✅
I am interested in your project. Please check my profiles and reply. I hope to work for you.
Please send a message to discuss this project. I look forward to hearing from you.
My main goal is to gain my client's satisfaction by completing a job with 100% accuracy
I am a senior C#/C++ developer with over 10 years of rich experience in C#/C++/Java/Python/Reverse Programming, API integration and Database Management(CSV).
So, I can complete it within your timeline.
Best regards!
$50 USD in 1 day
5.0
(11 reviews)
5.0
5.0
11 freelancers are bidding on average $56 USD for this job
Hello, I will do simplest coding in C++ using OOP, data structures, file handling. Coding will be easily understanable along with comments. I have read the description and have done many such works here. Lets have a chat for further discussion. Thanks.
I have more than 15 years of experience in the development
As I am an expert, I can build it according to your requirements.
Because I have a lot of experience in these fields, I can build your project as soon as possible.
I offer excellent software quality work and provide the best support for your project.
If you give me this job, I will do my best to finish your job by your timeline.
If you want to see my past works, I can show you my past works right now.
Ready to discuss this with you about the task now.
Thank you for the reading.
Hello there, As a C/C++ Software Engineer with a strong knowledge in C++17 and Object Oriented Programming (OOP) I can deliver your project with all requirements in addition to delivering a good documentaion
Hello
Thank you for the opportunity to work on this Pokedex program project. I have a few questions to help me understand the requirements better:
1. What programming language should I use to develop this project - C++, Python, etc.? The language choice will affect my overall approach and code structure.
2. Regarding the provided helper functions, am I allowed to modify them if necessary or is that strictly prohibited?
3. What is the approximate size of the CSV files? Will data processing performance be a major concern considering the file volumes?
In similar past projects, I have successfully applied OOP principles, modularity and robust error handling. My experience in data handling and CLI interfaces will allow me to deliver a functional Pokedex program that meets all criteria.
To start, I will analyze the CSV files and existing classes to fully comprehend the specifications. Then, my focus will be on the core structure, functions and unit tests before developing the user interface. Please let me know if you need any other information.
I'm available to discuss the timeline and work plan in more detail. Thank you for your consideration.
Dear, client.
I am eager to apply for your project. I have read your long project requirements and understand all very clearly. With extensive experience in file handling, object-oriented programming, and data parsing, I am confident in my ability to read and process CSV files efficiently. I have a solid background in creating intuitive menu systems and error handling, ensuring a user-friendly experience. My proficiency in C++ allows me to implement the required Trainer and Pokemon classes effectively while leveraging existing helper functions for seamless integration. I have successfully completed similar projects, demonstrating my capability to meet project specifications within tight deadlines. If you award me, I will try the best to finish in a short time perfectly.
Looking forward to hearing back from you.
Regards.
Hello Client. I hope you are doing great.
I've just read your pretty loooooong requirement. It's a really detail-oriented requirement and never seen a requirement like that. I'm really interested in your Pokedex program. With a 5+ years of experience in C++/Python developement, I can say I'm up for this project.
Let's discuss about your project via chat.
Kind Regards.