/** * Returns true if word is in dictionary else false. */ bool check(const char* word) { node* temp=root; int c=0; int len=strlen(word); for(int i=0;i<len;i++) { c=chartoascii(word[i]); if(c==-1) { return false; } if(temp->children[c]==NULL) { return false; } temp=temp->children[c]; } if(temp->is_word) { return true; } return false; }
/** * Loads dictionary into memory. Returns true if successful else false. */ bool load(const char* dictionary) { int count=0,index=0; FILE* fp = fopen(dictionary, "r"); if (fp == NULL) { return false; } char dis[45]={ }; node* temp=root; int c=fgetc(fp); root=createnode(); while(c!=EOF) { temp=root; while(c!='\n') { dis[count++]=c; c=fgetc(fp); } for(int i=0;i<count;i++) { if((index=chartoascii(dis[i]))!=-1) { if(temp->children[index]==NULL) { temp->children[index]=createnode(); temp=temp->children[index]; } else { temp=temp->children[index]; } } } temp->is_word=true; track++; c=fgetc(fp); count=0; } fclose(fp); return true; }
void asciiHomeUse(int choise){ int userChoise = 0; switch(choise){ case 1: chartoascii(); break; case 2: asciitochar(); break; case 3: menuHomeDisplay(); userChoise = userInputInt(4); menuHomeUse(userChoise); break; default: break; } }