The_Big_Man Posted October 30, 2005 Posted October 30, 2005 I trying to create a word dictionary that reads in words from a file and inputs them onto the screen e.g word followed by space and then definition all one one line and sorts them in ascending order. These are the codings i have so far. Could you help my in telling what i have to do next and whats missing from this coding and anything thing else:So far i have these codings://keyValue.h#include <string>class keyValue{ private: string word; // primary key value string definition; keyValue* next; keyValue(); // constructor – initialise node friend class OrderedList;};//orderedList.h#include <string>class OrderedList{ public: OrderedList(); // constructor – initialise empty list ~OrderedList(); // destructor /* insert data into the list in ascending word order. If the word is already present in the list, update the existing definition by concatenating the current one */ void insert( string word, string definition); /* return definition associated with key ‘w’. return null string if 'w' is not present in the list */ const string inspect( string w ) const; // whether 'w' is present in the list bool isIn( string w ) const; // whether the list is empty bool isEmpty() const; // take a keyValue object containing a word and // its definition(s). Print it. void printEntry() const; private: keyValue* head;};//staticHTable.h#include <string>const int TABLE_SIZE = 23;class staticHTable{ public: staticHTable(); // constructor – create empty table ~staticHTable(); // destructor /* enter data into table. if the word is already present in the list, update the existing definition by concatenating the current one */ void put(string w, string d); /* return definition associated with key 'w' return null string if 'w’ is not present in the table */ const string get( string w ) const; private: struct { string word; string definition; } sHTable[TABLE_SIZE];};//dynamicHTable.h#include <string>const int TABLE_SIZE = 23;class dynamicHTable{ public: DynamicHTable(); // constructor – create empty table ~DynamicHTable(); // destructor /* enter data into table. if the word is already present in the list, update the existing definition by concatenating the current one */ void put(string w, string d); /* return definition associated with key 'w'. return null string if 'w’ is not present in the table */ const string get( string w ) const; private: OrderedList dHTable[TABLE_SIZE];}//file OrderedList.cc#include <iostream>#include <stddef.h>#include "OrderedList.h"using namespace std;KeyValue::KeyValue(){ word = "\0"; next = NULL; definition = "\0"; next = NULL;}OrderedList::OrderedList(){ head = NULL;}OrderedList::~OrderedList(){ KeyValue* current; KeyValue* it; it = head; while (it != NULL) { current = it; it = it->next; delete current; }}bool OrderedList::isEmpty() const{ return head == NULL;}void OrderedList::insertBefore(const int newval, const int val){ KeyValue* p = new KeyValue; KeyValue* iterator = NULL; KeyValue* previous = NULL; p->data = newval; p->next = NULL; if (isEmpty()) { cout << "List is empty\n"; } else { for (iterator = head; iterator != NULL; iterator = iterator->next) { if (iterator->data == val) { if (iterator == head) { head = p; } else { previous->next = p; } p->next = iterator; break; } else { previous = iterator; } } }}void OrderedList::printEntry() const{ if (isEmpty()) { cout << "List empty" << endl; } else // walk along list { KeyValue* p = NULL; for (p=head; p!=NULL; p=p->next) { cout << p->data << endl; // display data value } }}thanks
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now