So basically, I'm doing a hangman C++ program as a class assignment. But the problem is, three of the words (wyvern, scythe, and duckboards) all output question marks at the end of their outputs, making them impossible to guess. Here's my code:

NOTE: I know that it's really inefficient. Please don't tell me that.

Code:
#include <cstdlib>
#include <iostream>
#include <time.h>

using namespace std;

int Lettercheck(char achar) // Checks to see if a letter has been guessed
{
     switch(achar)
        {
                             case 'A':
                             case 'a': 
                                  return 0;
                                  break;
                             case 'B':
                             case 'b':
                                  return 1;
                                  break;
                             case 'C':
                             case 'c': 
                                  return 2;
                                  break;
                             case 'D':
                             case 'd':
                                  return 3;
                                  break;
                             case 'E':
                             case 'e': 
                                  return 4;
                                  break;
                             case 'F':
                             case 'f':
                                  return 5;
                                  break;
                             case 'G':
                             case 'g': 
                                  return 6;
                                  break;
                             case 'H':
                             case 'h':
                                  return 7;
                                  break;
                             case 'I':
                             case 'i': 
                                  return 8;
                                  break;
                             case 'J':
                             case 'j':
                                  return 9;
                                  break;
                             case 'K':
                             case 'k': 
                                  return 10;
                                  break;
                             case 'L':
                             case 'l':
                                  return 11;
                                  break;
                             case 'M':
                             case 'm': 
                                  return 12;
                                  break;
                             case 'N':
                             case 'n':
                                  return 13;
                                  break;
                             case 'O':
                             case 'o': 
                                  return 14;
                                  break;
                             case 'P':
                             case 'p':
                                  return 15;
                                  break;
                             case 'Q':
                             case 'q':
                                  return 16;
                                  break;
                             case 'R':
                             case 'r':
                                  return 17;
                                  break;
                             case 'S':
                             case 's':
                                  return 18;
                                  break;
                             case 'T':
                             case 't':
                                  return 19;
                                  break;
                             case 'U':
                             case 'u':
                                  return 20;
                                  break;
                             case 'V':
                             case 'v':
                                  return 21;
                                  break;
                             case 'W':
                             case 'w':
                                  return 22;
                                  break;
                             case 'X':
                             case 'x':
                                  return 23;
                                  break;
                             case 'Y':
                             case 'y':
                                  return 24;
                                  break;
                             case 'Z':
                             case 'z':
                                  return 25;
                                  break;
                                  
                             default:
                                  break;
        }
}


int main(int argc, char *argv[])
{
    srand(unsigned(time(NULL)));
    char *words[10] = {"glyph", "pyrrhic", "pygmy", "scythe", "onomatopoeia", "wyvern", "proxy", "zymurgy", "Kalamazoo", "duckboards"};
    char *word;
    char letter;
    char theword[256];
    char guess[256];
    char displayword[256];
    int x;
    int wordlen;
    int flag = 0;
    int lettercheck=0;
    int letters[26];
    x = rand() % 10; // Chooses a word
    word = words[x];
    wordlen = strlen(word); // Gets the length of the word
    theword[0] = '\0'; // initializes the array
    strcat (theword, word); // converts char * to char
    for (int wordlencounter = 0; wordlencounter < wordlen; wordlencounter++)
    {
        displayword[wordlencounter] = '-';
    }
    int whilea = 0;
    for (int anothercounter = 0; anothercounter < 26; anothercounter++)
    {
        letters[anothercounter] = 0;
    }
    cout << "The word is: " << displayword << endl;
    while (whilea < 6)
    {
          while(lettercheck != 1)
          {
                            cout << "Guess a letter.\n";
                            cin >> letter;
                            if (letters[Lettercheck(letter)] == 1) cout << "You've already guessed that letter!" << endl;
                            else
                            {
                                letters[Lettercheck(letter)] = 1;
                                break;
                            }
          }
          for (int counter = 0; counter < wordlen; counter++)
          {
              if (letter == theword[counter])
              {
                        displayword[counter] = theword[counter];
                        flag++;
              }
          }
          if (flag == 0) whilea++;    
          flag = 0;
          if (strcmp(displayword, theword) == 0)
          {
                                  cout << "You won!\n";
                                  break;
          }
          cout << "The word is: " << displayword << endl;
          
                  
    }        
    if (whilea == 6) cout << "Sorry, you lost.\n";
    system("PAUSE");
    
return EXIT_SUCCESS;
}
Thanks for any help in advance.