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
Page 1 of 1
Program to construct a Word Dictionary
- ← Problem about adjust process privilege,help
- Programming (C++, Delphi, VB/VBS, CMD/batch, etc.)
- Insert (append) text into existing .inf file →
Share this topic:
Page 1 of 1



Help
Back to top








