Skip to content
View in the app

A better way to browse. Learn more.

MSFN

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Program to construct a Word Dictionary

Featured Replies

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

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.