subject

Create a program which reads in CSV data of Creatures and loads them into aHash Map. The key of this hash map will be the name of each creature. For your hash function, you can simply use the sum of all ASCII values. You can also come up with your own hash function. Your program should present a menu to the user allowing them to look up a creature by name. Additionally, create a function that allows the user to insert a new creature. This creature should be added to the existing hash map. If the name entered by the user already exists, DO NOT ADD IT TO THE HASH MAP. Simply report that the creature already exists. If the creature is unique and successfully added, report the calculated index value. Your hash array should start as size4. You will need to implement a rehashing function to maintain a load factor of 0.75. Collision resolution should be handled via separate chaining with linked lists. Other Requirements
Read in a CSV file from the command line when running the program.
Convert the raw CSV data into the creature struct and add it to a HashMap
Make sure you properly release all of your allocated memory.
Format your code consistently.
Function declarations, structs, and preprocess directives should be placed in a corresponding header file.
Save your code for this problem ascreature_hash.(c|h).
Creature struct
typedef struct {
char *name;
char *type;
int hp;
int ac;
int speed;
} Creature;
Example Run
1. Search
2. Add Creature
3. Exit
> 1
Enter name: Terrasque
Unable to find "Terrasque"
1. Search
2. Add Creature
3. Exit
> 2
Enter name: Storm Giant
Enter type: Huge giant
Enter HP: 230
Enter AC: 16
Enter speed: 50
Storm Giant added at index 3.
CSV file: Name, hp, ac, speed, type
Rakshasa,110,16,40,Fiend
Priest,27,13,25,Humanoid
Berserker,67,13,30,Humanoid
Fire Elemental,102,13,50,Elemental
Kraken,472,18,20,Monstrosity
Centaur,45,12,50,Monstrosity
Mage,40,12,30,Humanoid
Hell Hound,45,15,50,Fiend
Basilisk,52,15,20,Elemental
Androsphinx,199,17,40,Monstrosity Efreeti,200,17,40,Elemental
Balor,262,19,40,Fiend
Chain Devil,142,19,40,Fiend
Adult Black Dragon,195,19,80,Dragon
Adult Blue Dragon,225,19,80,Dragon
Adult Red Dragon,256,19,80,Dragon

ansver
Answers: 1

Another question on Computers and Technology

question
Computers and Technology, 21.06.2019 16:30
Which type of computing device is best suited to having a digital pen as an input device? a. personal computer b. personal digital assistant c. smart television d. laptop e. mobile phone
Answers: 3
question
Computers and Technology, 22.06.2019 00:30
Jenny wants to look at row 345 and compare it to row 17. what can she do if she wanted to easily adjust to see both at once?
Answers: 3
question
Computers and Technology, 22.06.2019 22:40
Least square fit to polynomial write a function leastsquarefit3pol that solves a linear system of equations to find a least squares fit of a third order polynomial to an experimental data set given as two row arrays. the function leastsquarefit3pol must explicitly solve a set of linear equations and cannot use polyfit. there should be no restriction on the size of the problem that can be solved.
Answers: 1
question
Computers and Technology, 24.06.2019 15:30
George is working as a programming team lead. which statements correctly describe the skills that he requires?
Answers: 3
You know the right answer?
Create a program which reads in CSV data of Creatures and loads them into aHash Map. The key of this...
Questions
question
History, 06.05.2021 18:30
question
Mathematics, 06.05.2021 18:30
question
Chemistry, 06.05.2021 18:30
question
Engineering, 06.05.2021 18:30
question
English, 06.05.2021 18:30