Skip to content

dmohle/tCPPmodule06fall25

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

tCPPmodule06fall25

tCPPmodule06fall25

CIT-66 Midterm Programming Assignment: "Zookeeper's Challenge" – 100 Points

Assignment Insights:

You will develop a C++ application titled "Zookeeper's Challenge," designed to simulate the management of a dynamic zoo environment. This assignment is an exceptional opportunity to demonstrate your proficiency in writing code that is not only syntactically sound but also logically coherent and in alignment with our class's coding conventions.

Your task involves processing two crucial documents: arrivingAnimals.txt and animalNames.txt. These files will serve as the foundation for your program, guiding the logic and functionality of your code.

Key Objectives:

Extract essential details (age, sex, species, color, weight) from arrivingAnimals.txt. Calculate birthdays based on the provided data. Utilize animalNames.txt to assign unique names to each animal. Generate a unique ID for every animal, symbolizing their species and a sequential number. Strategically organize animals into their respective habitats (you will have four classes named - hyena, line, tiger, and bear (sub classes of Animal). Compile a detailed report (zooPopulation.txt) showcasing the organized zoo population, complete with names, attributes, and habitat information.

Critical Methods to Implement:

genBirthDay(): Derive an animal's birthday from the data. Use ISO 8601 format for dates. Adapt your logic for cases where the birth season is not provided. genUniqueID(): Formulate a unique identifier for each animal, ensuring no two animals share the same ID. First two characters will be the species. e.g. Hy01, Hy02, Li01, Be01, Be02. 

Your program will use file I/O operations to read from and write to files, employing data structures to organize the zoo data into information.

-- Exception Handling: Standard file IO exceptions, and other exception handling where necessary.

-- Functions and Data Structures: Use user-defined functions, arrays, vectors, sets, maps, queues, and other C++ data structures to organize the data read from the input zoo document.

Format Specifications: You will be dealing with a variety of animal descriptions and tasked with structuring this information cohesively. An example input could look like:

"4 year old female hyena, born in spring, tan color, 70 pounds, from Friguia Park, Tunisia"

Expected Output: Your output should neatly categorize animals into their habitats, creating an organized snapshot of the zoo's population, like so:

Hyena Habitat: Hy01; Kamari; birth date 2018-03-15; tan color; female; 70 pounds; from Friguia Park, Tunisia; arrived 2024-03-05

Deliverables:

All C++ program source files pushed to the proper GitHub Classroom remote repository.  The zooPopulation.txt report. A YouTube video or in-person demonstration that explains your program's architecture, the rationale behind your method implementations, and a live demonstration showcasing its execution. This narrative will enrich your portfolio, giving voice to your coding journey and insights.

Encouragement Note: This project is your canvas—paint it with the skills, creativity, and passion for coding you possess. Envision presenting your "Zookeeper's Challenge" project in professional or academic settings, showcasing your initiative, problem-solving capabilities, and attention to detail

About

tCPPmodule06fall25

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published