#include <iostream> #include <cstdlib> using namespace std; class binaryTree { public: binaryTree (); int menu (); private: typedef struct dataNode { char arriveCity[30]; char departCity[30]; int totalPassengers; int passengers; int flightNumber; struct dataNode * left; struct dataNode * right; }; dataNode * root; bool insert (dataNode *&, dataNode &); bool search (dataNode *, dataNode &); bool retrieve (dataNode *, dataNode &); void inorder (dataNode *); }; binaryTree::binaryTree() { dataNode * root = NULL; dataNode * left = NULL; dataNode * right = NULL; } bool binaryTree::insert(dataNode*& tree, dataNode &flightNumber) { if (tree == NULL) { tree = new dataNode; tree -> left = NULL; tree -> right = NULL; tree -> flightNumber = flightNumber; return true; } else if (flightNumber == tree -> flightNumber) return false; else if (flightNumber <= tree -> flightNumber) return insert (tree -> left, flightNumber); else return insert (tree -> right, flightNumber); } bool binaryTree::search(dataNode * tree, dataNode &flightNumber) { if (tree == NULL) return false; else if (flightNumber == tree -> flightNumber) return true; else if (flightNumber <= tree -> flightNumber) return search (tree -> left, flightNumber); else return search (tree -> right, flightNumber); } bool binaryTree::retrieve (dataNode * tree, dataNode &flightNumber) { } void binaryTree::inorder (dataNode * tree) { if (tree != NULL) { inorder (tree -> left); cout << tree->flightNumber << endl; inorder (tree -> right); } } int binaryTree::menu () { int choice; cout << endl; cout << "Welcome to the JHD International Airport! How can we be of assistance?" << endl; cout << "Please select the best option for you:" << endl; cout << " 1. Create a new flight record." << endl; cout << " 2. Search for a flight." << endl; cout << " 3. End current program session." << endl; cin >> choice; cout << endl; if (choice == 2) { cout << "Please select the search option of your choice:" << endl; cout << " 1. Display all flight records." << endl; cout << " 2. Display all departing flights from a city." << endl; cout << " 3. Display all open flights." << endl; cout << " 4. Go back to the main menu." << endl; cin >> choice; cout << endl; } return choice; }
bool binaryTree::insert(dataNode*& tree, int &flightNumber) { if (tree == NULL) { tree = new dataNode; tree -> left = NULL; tree -> right = NULL; tree -> flightNumber = flightNumber; return true; } else if (flightNumber == tree -> flightNumber) return false; else if (flightNumber <= tree -> flightNumber) return insert (tree -> left, flightNumber); else return insert (tree -> right, flightNumber); }
typedef struct dataNode { char arriveCity[30]; char departCity[30]; int totalPassengers; int passengers; int flightNumber; struct dataNode * left; struct dataNode * right; }; dataNode * root;
if (flightNumber < root -> flightNumber) flightNumber = left -> flightNumber; else if (flightNumber > root -> flightNumber) flightNumber = right -> flightNumber;
struct data { char arriveCity[30]; char departCity[30]; int totalPassengers; int passengers; int flightNumber; }; struct node { data item; node *left, *right; };
bool binaryTree::insert(dataNode*& tree, data item) { if (tree == NULL) { tree = new node; tree -> left = NULL; tree -> right = NULL; tree -> item = item; return true; } else if (item -> flightNumber == tree -> item -> flightNumber) return false; else if (item -> flightNumber <= tree -> item -> flightNumber) return insert (tree -> left, item); else return insert (tree -> right, item); }
#include <iostream> #include <cstdlib> using namespace std; class binaryTree { public: binaryTree (); ~binaryTree (); void menu (); private: typedef struct dataNode { char arriveCity[30]; char departCity[30]; int totalPassengers; int passengers; int flightNumber; struct dataNode * left; struct dataNode * right; }; dataNode * root; void insert (dataNode *, dataNode &); void retrieveAll (dataNode *); void retrieveOpen (dataNode *); void retrieveCity (dataNode *); }; binaryTree::binaryTree() { dataNode * root = NULL; dataNode * left = NULL; dataNode * right = NULL; } binaryTree::~binaryTree() { delete root; } void binaryTree::insert(dataNode* tree, dataNode &newNode) { if (tree == NULL) { tree = new dataNode; tree -> left = NULL; tree -> right = NULL; cout << "Please input the six digit flight number (100000 - 999999): "; cin >> tree -> flightNumber; if (tree -> flightNumber < 100000 || tree -> flightNumber > 999999) { cout << "Invalid flight number reference" << endl << endl; void insert(dataNode*& tree, dataNode &newNode); } cout << endl << "What is the departure city? "; cin >> tree -> departCity[30]; cout << endl << "What city is the flight destination? "; cin >> tree -> arriveCity[30]; cout << endl << "What is the maximum capacity for this flight? "; cin >> tree -> totalPassengers; cout << endl << "How many passengers currently have tickets? "; cin >> tree -> passengers; cout << endl; tree -> flightNumber = newNode.flightNumber; tree -> totalPassengers = newNode.totalPassengers; tree -> passengers = newNode.passengers; strcpy(tree -> arriveCity, newNode.arriveCity); strcpy(tree -> departCity, newNode.departCity); } } void binaryTree::retrieveAll (dataNode * tree) { while (root != NULL){ retrieveAll (tree -> left); cout << tree -> flightNumber << " " ; cout << tree -> departCity[30] << " "; cout << tree -> arriveCity[30] << " "; cout << tree -> passengers << " "; cout << tree -> totalPassengers << " " << endl; retrieveAll (tree -> right); } } void binaryTree::retrieveOpen(dataNode * tree) { while (root != NULL) { if (tree -> passengers < tree -> totalPassengers) { retrieveOpen (tree -> left); cout << tree -> flightNumber << " " ; cout << tree -> departCity[30] << " "; cout << tree -> arriveCity[30] << " "; cout << tree -> passengers << " "; cout << tree -> totalPassengers << " " << endl; retrieveOpen (tree -> right); } } } void binaryTree::retrieveCity(dataNode * tree) { char city[30]; cout << "What city would you like to see departing flights from? "; cin >> city; while (root!= NULL) { if (tree -> departCity == city) { retrieveCity (tree -> left); cout << tree -> flightNumber << " " ; cout << tree -> departCity[30] << " "; cout << tree -> arriveCity[30] << " "; cout << tree -> passengers << " "; cout << tree -> totalPassengers << " " << endl; retrieveCity (tree -> right); } } } void binaryTree::menu () { int choice = 0, searchChoice = 0; while (choice != 3) { cout << endl; cout << "Welcome to the JHD International Airport! How can we be of assistance?" << endl; cout << "Please select the best option for you:" << endl; cout << " 1. Create a new flight record." << endl; cout << " 2. Search for a flight." << endl; cout << " 3. End current program session." << endl; cin >> choice; cout << endl; if (choice == 1) void insert(dataNode * tree, dataNode &newNode); else if (choice == 2) { cout << "Please select the search option of your choice:" << endl; cout << " 1. Display all flight records." << endl; cout << " 2. Display all departing flights from a city." << endl; cout << " 3. Display all open flights." << endl; cout << " 4. Go back to the main menu." << endl; cin >> searchChoice; cout << endl; if (searchChoice == 1) void retrieveAll(dataNode & newNode); else if (searchChoice == 2) void retrieveCity(dataNode & newNode); else if (searchChoice == 3) void retrieveOpen(dataNode & newNode); else if (searchChoice == 4) void menu (); else { cout << endl << "That is invalid an option" << endl; void menu (); } } else if (choice == 3) break; else { cout << "That is an invalid option" << endl; void menu(); } } } int main () { binaryTree binTree; binTree.menu(); return 0; }
typedef struct dataNode { char arriveCity[30]; char departCity[30]; int totalPassengers; int passengers; int flightNumber; struct dataNode * left; struct dataNode * right; };
Error E2092 testpp.cpp 24: Storage class 'typedef' is not allowed here
#include <iostream> #include <cstdlib> using namespace std; class binaryTree { public: binaryTree (); ~binaryTree (); void menu (); private: typedef struct dataNode { char arriveCity[30]; char departCity[30]; int totalPassengers; int passengers; int flightNumber; struct dataNode * left; struct dataNode * right; }; dataNode * root; void info (dataNode & newNode); void insert (dataNode *, dataNode &); void retrieveAll (dataNode *); void retrieveOpen (dataNode *); void retrieveCity (dataNode *); }; binaryTree::binaryTree() { dataNode * root = NULL; dataNode * left = NULL; dataNode * right = NULL; } binaryTree::~binaryTree() { delete root; } void binaryTree::info(dataNode & newNode) { cout << "Please input the six digit flight number (100000 - 999999): "; cin >> newNode.flightNumber; if (newNode.flightNumber < 100000 || newNode.flightNumber > 999999) cout << "Invalid flight number reference" << endl << endl; cin.ignore(); cout << endl << "What is the departure city? "; cin.getline(newNode.departCity, 30); cout << endl << "What city is the flight destination? "; cin.getline(newNode.arriveCity, 30); cout << endl << "What is the maximum capacity for this flight? "; cin >> newNode.totalPassengers; cout << endl << "How many passengers currently have tickets? "; cin >> newNode.passengers; cout << endl; } void binaryTree::insert(dataNode* tree, dataNode &newNode) { if (tree == NULL) { tree = new dataNode; tree -> left = NULL; tree -> right = NULL; tree -> flightNumber = newNode.flightNumber; tree -> totalPassengers = newNode.totalPassengers; tree -> passengers = newNode.passengers; strcpy(tree -> arriveCity, newNode.arriveCity); strcpy(tree -> departCity, newNode.departCity); } } void binaryTree::retrieveAll (dataNode * tree) { while (root != NULL){ retrieveAll (tree -> left); cout << tree -> flightNumber << " " ; cout << tree -> departCity[30] << " "; cout << tree -> arriveCity[30] << " "; cout << tree -> passengers << " "; cout << tree -> totalPassengers << " " << endl; retrieveAll (tree -> right); } } void binaryTree::retrieveOpen(dataNode * tree) { while (root != NULL) { if (tree -> passengers < tree -> totalPassengers) { retrieveOpen (tree -> left); cout << tree -> flightNumber << " " ; cout << tree -> departCity[30] << " "; cout << tree -> arriveCity[30] << " "; cout << tree -> passengers << " "; cout << tree -> totalPassengers << " " << endl; retrieveOpen (tree -> right); } } } void binaryTree::retrieveCity(dataNode * tree) { char city[30]; cout << "What city would you like to see departing flights from? "; cin.getline(city, 30); while (root!= NULL) { if (tree -> departCity == city) { retrieveCity (tree -> left); cout << tree -> flightNumber << " " ; cout << tree -> departCity[30] << " "; cout << tree -> arriveCity[30] << " "; cout << tree -> passengers << " "; cout << tree -> totalPassengers << " " << endl; retrieveCity (tree -> right); } } } void binaryTree::menu () { int choice = 0, searchChoice = 0; while (choice != 3) { cout << endl; cout << "Welcome to the JHD International Airport! How can we be of assistance?" << endl; cout << "Please select the best option for you:" << endl; cout << " 1. Create a new flight record." << endl; cout << " 2. Search for a flight." << endl; cout << " 3. End current program session." << endl; cin >> choice; cout << endl; if (choice == 1) { dataNode newNode; info(newNode); insert(root, newNode); } else if (choice == 2) { cout << "Please select the search option of your choice:" << endl; cout << " 1. Display all flight records." << endl; cout << " 2. Display all departing flights from a city." << endl; cout << " 3. Display all open flights." << endl; cout << " 4. Go back to the main menu." << endl; cin >> searchChoice; cout << endl; if (searchChoice == 1) { dataNode *tree; retrieveAll(tree); } else if (searchChoice == 2) { dataNode *tree; retrieveCity(tree); } else if (searchChoice == 3) { dataNode *tree; retrieveOpen(tree); } } else if (choice == 3) break; else { cout << "That is an invalid option" << endl; void menu(); } } } int main () { binaryTree binTree; binTree.menu(); return 0; }
| DaniWeb Message | |
| Cancel Changes | |