class Symbol_Table
{
private:
struct entry { char name[25]; float value; entry *next; };
entry *head;
public:
Symbol_Table( void ) { head=NULL; };
~Symbol_Table( void )
{
entry *temp;
while (head!=NULL) { temp=head; head=head->next;
delete temp; };
}
entry *Is_In( char *name )
{
entry *temp=head;
while (temp!=NULL)
if (strcmp(name,temp->name)==0) return temp;
else temp=temp->next;
return NULL;
}
void Set( char *name, float value )
{
entry *temp=Is_In( name );
if (temp==NULL)
{
entry *new_head=new entry;
strcpy(new_head->name,name);
new_head->value=value;
new_head->next=head;
head=new_head;
}
else temp->value=value;
}
float Get( char *name )
{
entry *temp=Is_In(name);
if (temp!=NULL) return temp->value; else return 0;
}
};
/* End of File */