Answered step by step
Verified Expert Solution
Question
1 Approved Answer
NOTE: Below is the code for the Queue class (because it uses the Node class, I've also put the code for Node there). NOTE: The
NOTE: Below is the code for the Queue class (because it uses the Node class, I've also put the code for Node there).
NOTE: The data type for project 1 is referring to a class I created called Combine. In this class, I wrote code that takes a text file containing information on different football players and their combine results and stores those players as a vector of objects of the class. You may not need the code, but I've listed it anyway at the bottom.
Queue.h:
#ifndef NODEB_QUEUE_H #define NODEB_QUEUE_H /* * Queue class * Functionality: push, pop, peek, isEmpty, print */ #include "Node.h" #includeusing namespace std; templatetypename Object> class Queue { private: // Store the address of the top Node in the Queue Node
Node.h:
#ifndef NODEB_NODE_H #define NODEB_NODE_H /** Represents one node to be used in a linked list Contains data (object) and reference to next in list */ templatetypename Object> class Node { private: Object item; Node* next; public: Node(Object newItem) { item = newItem; next = nullptr; } Node(Object newItem, Node* nextNode) { item = newItem; next = nextNode; } void setItem(Object newItem) { item = newItem; } Object getItem() const { return item; } void setNext(Node* nextNode) { next = nextNode; } Node* getNext() const { return next; } }; #endif //NODEB_NODE_H
Here is the data from Project 1:
Combine.h:
#include #include #include #include #include #include using namespace std; class Combine { private: string name, college, pos; int height, weight; float dash, bench; public: Combine() { name = "John Smith"; college = "University"; pos = "player"; height = 0; weight = 0; dash = 0; bench = 0; } Combine(string name, string college, string pos, int height, int weight, float dash, float bench) { this->name = name; this->college = college; this->pos = pos; setHeight(height); setWeight(weight); setDash(dash); setBench(bench); } string getName() const { return name; } string getCollege() const { return college; } string getPos() const { return pos; } int getHeight() const { return height; } int getWeight() const { return weight; } float getDash() const { return dash; } float getBench() const { return bench; } void setName(string name) { this->name = name; } void setCollege(string college) { this->college = college; } void setPos(string pos) { this->pos = pos; } void setHeight(int height) { if (height //Default value this->height = 0; } else { this->height = height; } } void setWeight(int weight) { if (weight this->weight = 0; } else { this->weight = weight; } } void setDash(float dash) { if (dash this->dash = 0; } else { this->dash = dash; } } void setBench(float bench) { if (bench //Default value this->bench = 0; } else { this->bench = bench; } } friend ostream& operator void getPlayersFromFile(string filename, vector &players) { ifstream inFile; inFile.open("../" + filename); string name = "", college = "", pos = "", header = ""; string temp; int height = 0, weight = 0; float dash = 0, bench = 0; char comma = ','; if (inFile) { getline(inFile, header); while (inFile && inFile.peek() != EOF) { getline(inFile,temp); stringstream ss(temp); getline(ss,name,','); getline(ss,college,','); getline(ss,pos,','); getline(ss,temp,','); height = atoi(temp.c_str()); getline(ss,temp,','); weight = atoi(temp.c_str()); if(ss.good()) { getline(ss,temp,','); dash = atof(temp.c_str()); } else{ dash=0; } if(ss.good()) { getline(ss,temp,','); bench = atof(temp.c_str()); } else{ bench=0; } players.push_back(Combine(name, college, pos, height, weight, dash, bench)); } } else { cerr float avgWeight(vector &players) { float total = 0; getPlayersFromFile("CombinePlayers.txt", players); for (int i = 0; i } coutCombinePlayers.txt:
Name, College, POS, Height (in), Weight (lbs), 40 Yard, Bench Press Johnathan Abram, Mississippi State, S, 71, 205, 4.45, 0 Paul Adams, Missouri, OT, 78, 317, 5.18, 16 Nasir Adderley, Delaware, S, 72, 206, , 0 Azeez Al-Shaair, Florida Atlantic, LB, 73, 234, , 16 Otaro Alaka, Texas A&M, LB, 75, 239, 4.82, 20 Dakota Allen, Texas Tech, LB, 73, 232, 4.77, 23 Josh Allen, Kentucky, EDG, 77, 262, 4.63, 28 Zach Allen, Boston College, DE, 76, 281, 5, 24Main function Create three Queue objects: one of integers, one of strings, and one of a custom data type (ideally the type you created in Project 1). Demonstrate that the Queue methods work correctly by calling methods on the objects and printing out to the console when appropriate. Perform the following operations: Create a Queue object and a Stack object, both of the type you created in Project 1. Print and push the first 10 objects from your vector (from Project 1) onto the Queue. . Pop the 10 objects off the Queue and push them onto the Stack. Pop and print the 10 objects off the Stack. What is the order of the objects before and after adding them to the Queue and Stack? When and why did it change? Main function Create three Queue objects: one of integers, one of strings, and one of a custom data type (ideally the type you created in Project 1). Demonstrate that the Queue methods work correctly by calling methods on the objects and printing out to the console when appropriate. Perform the following operations: Create a Queue object and a Stack object, both of the type you created in Project 1. Print and push the first 10 objects from your vector (from Project 1) onto the Queue. . Pop the 10 objects off the Queue and push them onto the Stack. Pop and print the 10 objects off the Stack. What is the order of the objects before and after adding them to the Queue and Stack? When and why did it change
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started