There is a lot of code to this program now and I have narrowed my problem down to one of my classes. It compiles fine but when I run the program and go through a few options its good. After I got a class set up I tried to see if I could get some output from them but it crashes the console.

Here is the class I am using:
Code:
class Weapons {
      public:
             Weapons();
             string getWeaponValue(); //Legendary, Epic, unique, rare, magical, normal
             string getWeaponType(); //Sword, mace, staff
             string getWeaponName(); //Name the weapon
             int getWeaponStats(); // damage, +mods and durability
             int getMagicStats();
             int getWeaponLevel(); // level of the weapon
             void whoCanDrop();  //check to see which mobs can drop it
      private:
              string WeaponName;
              string WeaponType;
              string WeaponValue;
              int WeaponStats;
              int WeaponDamage;
              int WeaponDurability;
              int WeaponLevel;
              char CanIDropIt;
              };
One of these members is what I think is crashing the program.

Code:
string Weapons::getWeaponValue()
{
 int x;
 srand(time(0));
 x = 1 + rand() % 8;
 switch (x)
 {
        case 1:
             WeaponValue ="Normal";
        case 2:
             WeaponValue = "Magical";
        case 3:
             WeaponValue = "Rare";
        case 4: 
             WeaponValue = "Unique";
        case 5:
             WeaponValue = "Epic";
        case 6:
             WeaponValue = "Legendary";
        default:
             WeaponValue = "Normal";
        cout <<WeaponValue;
}
}
string Weapons::getWeaponType()
{
     int x;
     srand(time(0));
     x = 1 + rand() % 10;
     switch (x){
            case 1:
                 WeaponType = "Sword";
            case 2:
                 WeaponType = "Dagger";
            case 3: 
                 WeaponType = "Mace";
            case 4:
                 WeaponType = "Staff";
            case 5:
                 WeaponType = "Wand";
            case 6:
                 WeaponType = "Axe";
            case 7:
                 WeaponType = "Club";
            default:
                 WeaponType = "Exotic";        
                 }
                 //cout <<WeaponType;
}
string Weapons::getWeaponName()
{
     int x;
     srand(time(0));
     if (WeaponType == "Sword" && WeaponValue == "Normal" && WeaponLevel <= 10)
     {
        x = 1 + rand() % 12;
        switch (x){
          
               case 1:
                    WeaponName = "RustedSword";
               case 2:
                    WeaponName = "DullSword";
               case 3:
                    WeaponName = "BrokenSword";
               case 4:
                    WeaponName = "UnforgedSword";
               case 5:
                    WeaponName = "BluntSword";
               case 6:
                    WeaponName = "WeakSword";
               case 7:
                    WeaponName = "Tiny";
               case 8:
                    WeaponName = "Sharp Knife";
               default:
                    WeaponName = "WoodenSword";
                    }
     }
     if (WeaponType == "Mace" && WeaponValue == "Normal" && WeaponLevel <= 10)
     {
        x = 1 + rand() % 12;
        switch (x){
          
               case 1:
                    WeaponName = "RustedMace";
               case 2:
                    WeaponName = "DullMace";
               case 3:
                    WeaponName = "BrokenMace";
               case 4:
                    WeaponName = "UnforgedMace";
               case 5:
                    WeaponName = "BluntMace";
               case 6:
                    WeaponName = "WeakMace";
               case 7:
                    WeaponName = "Chunky";
               case 8:
                    WeaponName = "SharpMace";
               default:
                    WeaponName = "WoodenMace";
                    }
     }
     if (WeaponType == "Axe" && WeaponValue == "Normal" && WeaponLevel <= 10)
     {
        x = 1 + rand() % 12;
        switch (x){
          
               case 1:
                    WeaponName = "RustedAxe";
               case 2:
                    WeaponName = "DullAxe";
               case 3:
                    WeaponName = "BrokenAxe";
               case 4:
                    WeaponName = "UnforgedAxe";
               case 5:
                    WeaponName = "BluntAxe";
               case 6:
                    WeaponName = "WeakAxe";
               case 7:
                    WeaponName = "Pointy";
               case 8:
                    WeaponName = "SharpAxe";
               default:
                    WeaponName = "Hatchet";
                    }
     }
     if (WeaponType == "Club" && WeaponValue == "Normal" && WeaponLevel <= 10)
     {
        x = 1 + rand() % 12;
        switch (x){
          
               case 1:
                    WeaponName = "SplinteredClub";
               case 2:
                    WeaponName = "FlatClub";
               case 3:
                    WeaponName = "BrokenClub";
               case 4:
                    WeaponName = "UnforgedClub";
               case 5:
                    WeaponName = "BluntClub";
               case 6:
                    WeaponName = "WeakClub";
               case 7:
                    WeaponName = "Skinny";
               case 8:
                    WeaponName = "ThickClub";
               default:
                    WeaponName = "WoodenClub";
                    }
     }
     if (WeaponType == "Dagger" && WeaponValue == "Normal" && WeaponLevel <= 10)
     {
        x = 1 + rand() % 12;
        switch (x){
          
               case 1:
                    WeaponName = "RustedDagger";
               case 2:
                    WeaponName = "DullDagger";
               case 3:
                    WeaponName = "BrokenDagger";
               case 4:
                    WeaponName = "UnforgedDagger";
               case 5:
                    WeaponName = "BluntDagger";
               case 6:
                    WeaponName = "WeakDagger";
               case 7:
                    WeaponName = "Poinert";
               case 8:
                    WeaponName = "SharpDagger";
               default:
                    WeaponName = "WoodenDagger";
                    }
     }
     if (WeaponType == "Staff" && WeaponValue == "Normal" && WeaponLevel <= 10)
     {
        x = 1 + rand() % 12;
        switch (x){
          
               case 1:
                    WeaponName = "SplinteredStaff";
               case 2:
                    WeaponName = "CrackedStaff";
               case 3:
                    WeaponName = "BrokenStaff";
               case 4:
                    WeaponName = "UnforgedStaff";
               case 5:
                    WeaponName = "BluntStaff";
               case 6:
                    WeaponName = "WeakStaff";
               case 7:
                    WeaponName = "LongStaff";
               case 8:
                    WeaponName = "HardStaff";
               default:
                    WeaponName = "WoodenStaff";
                    }
     }
     if (WeaponType == "Wand" && WeaponValue == "Normal" && WeaponLevel <= 10)
     {
        x = 1 + rand() % 12;
        switch (x){
          
               case 1:
                    WeaponName = "RustedWand";
               case 2:
                    WeaponName = "BurntWand";
               case 3:
                    WeaponName = "BrokenWand";
               case 4:
                    WeaponName = "UnforgedWand";
               case 5:
                    WeaponName = "WornWand";
               case 6:
                    WeaponName = "WeakWand";
               case 7:
                    WeaponName = "Sparky";
               case 8:
                    WeaponName = "BrightWand";
               default:
                    WeaponName = "WoodenWand";
                    }
                    cout <<WeaponName;
     }
     if (WeaponType == "Sword" || 
WeaponType == "Axe" ||
 WeaponType == "Mace" ||
 WeaponType == "Dagger" || 
WeaponType == "Wand" || 
WeaponType == "Club" || 
WeaponType == "Staff" && 
WeaponValue =="Magical" && 
WeaponLevel >=3)
     {
        x = 1 + (rand() % 10) - Clvl;
        switch (x){
               case 1:
                    WeaponName = "Of the Bear";
               case 2:
                    WeaponName = "Of the Wolf";
               case 3:
                    WeaponName = "Of the Bird";
                    
               default:
                    WeaponName = "Mended Weapon";
                    }
                    cout <<WeaponName;
     }
     if (WeaponType == "Sword" || 
         WeaponType == "Axe" || 
         WeaponType == "Mace" || 
         WeaponType == "Dagger" || 
         WeaponType == "Wand" ||
         WeaponType == "Club" ||
         WeaponType == "Staff" && 
         WeaponValue =="Magical" && 
         WeaponLevel >=5)
     {
        x = 1 + (rand() % 10) - Clvl;
        switch (x){
               case 1:
                    WeaponName = "Of the Bear";
                    
               case 2:
                    WeaponName = "Of the Wolf";
                    
               case 3:
                    WeaponName = "Of the Bird";
               case 4:
                    WeaponName = "Of the Monkey";
                    
               case 5: 
                    WeaponName = "Of the Scorpid";
                    
               default:
                    WeaponName = "Glowing Sword";
                    }
                    cout <<WeaponName;
     }
     if (WeaponType == "Sword" || 
         WeaponType == "Axe" ||
         WeaponType == "Mace" ||
         WeaponType == "Dagger" || 
         WeaponType == "Wand" || 
         WeaponType == "Club" || 
         WeaponType == "Staff" && 
         WeaponValue =="Magical" && 
         WeaponLevel >=10)
     {
        x = 1 + (rand() % 23) - Clvl;
        switch (x){
               case 1:
                    WeaponName = "Of the Bear";
               case 2:
                    WeaponName = "Of the Wolf";
               case 3:
                    WeaponName = "Of the Bird";
               case 4: 
                    WeaponName = "Of the Monkey";
               case 5: 
                    WeaponName = "Of the Scorpid";
               case 6:
                    WeaponName = "Of the Wise";                    
               case 7:
                    WeaponName = "Of the Mystics";
               case 8:
                    WeaponName = "Of the Devine";
              case 9:
                    WeaponName = "Of the Earth";
               case 10:
                    WeaponName = "Of the Brute";
               case 11: //might
                    WeaponName = "Of Might";
               case 12://wisdom
                    WeaponName = "Of Wisdom";                    
               case 13://gods
                    WeaponName = "Of the Gods";
               default:
                    WeaponName = "Glowing Weapon";
                    }
                    cout <<WeaponName;
     }
     
                   
}
int Weapons::getWeaponStats()
{
    if (WeaponType == "Sword" || 
        WeaponType == "Mace" || 
        WeaponType == "Dagger" || 
        WeaponType == "Axe" || 
        WeaponType == "Club" || 
        WeaponType == "Staff" || 
        WeaponType == "Wand" && 
        WeaponValue == "Normal" && 
Clvl <= 3)
    {
       WeaponStats = 0;
       WeaponDamage = (Clvl * WeaponLevel) + Str; 
       WeaponDurability = 1 + rand() % 20;
    }
    if (WeaponType == "Sword" && WeaponValue == "Normal" && Clvl <= 5)
    {
       WeaponStats = 0;
       WeaponDamage = (Clvl * WeaponLevel) + Str;
       WeaponDurability = 1 + rand() % 30;
    }
    if (WeaponType == "Sword" && WeaponValue == "Normal" && Clvl <= 10)
    {
       WeaponStats = 0;
       WeaponDamage = (Clvl * WeaponLevel) + Str; 
       WeaponDurability = 1 + rand() % 50;
    }
                                 
                     
       int getMagicStats(string WeaponType, string WeaponValue, string WeaponName);              
       
       WeaponDamage = 1 + (rand() % 10) - Clvl; 
       WeaponDurability = 1 + rand() % 20;
}

int Weapons::getMagicStats()
{
    int x; //random variable to create random numbers
    int y; //random variable to decide stat
    int z; //random variable to decide number of a single stat
    srand(time(0));
    
    if (WeaponValue == "Magical")
    {
                    
                    WeaponDamage = (Clvl * WeaponLevel) + Str;
                    WeaponDurability = Clvl * WeaponLevel;
    }
    if (WeaponValue == "Magical")
    {
       if (WeaponName == "Of the Bear") // +str(lots), +hp(lots) and small amount of +agi(small) 
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
		            WeaponMod1 = Clvl * (1 + rand() % WeaponLevel);
	           case 2:
		            WeaponMod1 = Clvl * (1 + rand() % WeaponLevel);
                    WeaponMod2 = Clvl * 3 * (1 + rand() % WeaponLevel);
              case 3: 
		           WeaponMod1 = Clvl * (1 + rand() % WeaponLevel);
                   WeaponMod2 = Clvl * 4 * (1 + rand() % WeaponLevel);
		           WeaponMod4 = Clvl + (1 + rand() % WeaponLevel);
            default:
		            WeaponMod1 = Clvl * (1 + rand() % WeaponLevel);
	             }
       }
       if (WeaponName == "Of the Wolf") // +str(small), +hp(small) and +agi(lots) 
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
                    if (Clvl == 1)
		            WeaponMod1 = Clvl * (1 + rand() % WeaponLevel);
		            if (Clvl >= 2)
		            WeaponMod1 = (Clvl / 2) * (1 + rand() % WeaponLevel);
	           case 2:
		            if (Clvl == 1)
		            WeaponMod1 = Clvl * (1 + rand() % WeaponLevel);
		            if (Clvl >= 2)
		            WeaponMod1 = (Clvl / 2) * (1 + rand() % WeaponLevel);
                    WeaponMod2 = Clvl * 2 * (1 + rand() % WeaponLevel);
              case 3: 
		           if (Clvl == 1)
		              WeaponMod1 = Clvl * (1 + rand() % WeaponLevel);
		           if (Clvl >= 2)
		              WeaponMod1 = (Clvl / 2) * (1 + rand() % WeaponLevel);
                   WeaponMod2 = (Clvl * 2) * (1 + rand() % WeaponLevel);
		           WeaponMod4 = (Clvl * 3) + (1 + rand() % WeaponLevel);
            default:
		            WeaponMod4 = (Clvl * 3) + (1 + rand() % WeaponLevel);
	             }
       }
       if (WeaponName == "Of the Bird") // +hp(very small) +mp(small) +agi(lots)
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
                    WeaponMod2 = Clvl * (1 + rand() % WeaponLevel);
	           case 2:
		            WeaponMod2 = Clvl * (1 + rand() % WeaponLevel);
                    WeaponMod3 = Clvl * (1 + rand() % WeaponLevel);
              case 3: 
		           WeaponMod2 = Clvl * (1 + rand() % WeaponLevel);
                   WeaponMod3 = (Clvl * 2) * (1 + rand() % WeaponLevel);
		           WeaponMod4 = (Clvl * 3) + (1 + rand() % WeaponLevel);
            default:
		            WeaponMod4 = (Clvl * 2) + (1 + rand() % WeaponLevel);
	             }
       }
       if (WeaponName == "Of the Monkey") // +hp's(very small) +agi(very much) 
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
                    WeaponMod2 = Clvl * (1 + rand() % WeaponLevel);
	           case 2:
		            WeaponMod2 = Clvl * (1 + rand() % WeaponLevel);
                    WeaponMod4 = (Clvl * 6) + (1 + rand() % WeaponLevel);
            default:
		            WeaponMod4 = (Clvl * 4) + (1 + rand() % WeaponLevel);
	             }
       }
        if (WeaponName == "Of the Scorpid") // +hp(very small) +agi(small) +armor(lots)
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
                    WeaponMod2 = Clvl * (1 + rand() % WeaponLevel);
	           case 2:
		            WeaponMod2 = Clvl * (1 + rand() % WeaponLevel);
                    WeaponMod4 = (Clvl * 2) + (1 + rand() % WeaponLevel);
              case 3: 
                    WeaponMod2 = Clvl * (1 + rand() % WeaponLevel);
                    WeaponMod4 = (Clvl * 2) + (1 + rand() % WeaponLevel);
                    WeaponMod5 = (Clvl * 5) * (1 + rand() % WeaponLevel);
            default:
		            WeaponMod5 = (Clvl * 5) + (1 + rand() % WeaponLevel);
	             }
       }
       if (WeaponName == "Of the Wise") // +hp(very small) +agi(small) +armor(lots)
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
                    WeaponMod3 = (Clvl * 10) * (1 + rand() % WeaponLevel);
            default:
		            WeaponMod3 = (Clvl * 5) * (1 + rand() % WeaponLevel);
	             }
       }
       if (WeaponName == "Of the Mystics") // +hp's(lots) +mp's(small) +agi(small)
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
                    WeaponMod2 = (Clvl * 3) * (1 + rand() % WeaponLevel);
	           case 2:
		            WeaponMod2 = (Clvl * 4) * (1 + rand() % WeaponLevel);
                    WeaponMod3 = (Clvl * 3) * (1 + rand() % WeaponLevel);
              case 3: 
                    WeaponMod2 = (Clvl * 4) * (1 + rand() % WeaponLevel);
                    WeaponMod3 = (Clvl * 3) * (1 + rand() % WeaponLevel);
                    WeaponMod4 = (Clvl * 2) + (1 + rand() % WeaponLevel);
            default:
		            WeaponMod2 = (Clvl * 4) * (1 + rand() % WeaponLevel);
                    WeaponMod3 = (Clvl * 3) * (1 + rand() % WeaponLevel);
	             }
       }
       if (WeaponName == "Of the Devine") // +all stats(small)
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
		            WeaponMod1 = Clvl * (1 + rand() % WeaponLevel);
		            WeaponMod2 = (Clvl * 2) * (1 + rand() % WeaponLevel);
                    WeaponMod3 = (Clvl * 2) * (1 + rand() % WeaponLevel);
                    WeaponMod4 = (Clvl * 3) + (1 + rand() % WeaponLevel);           
            default:
		            if (Clvl == 1)
		            WeaponMod1 = Clvl * (1 + rand() % WeaponLevel);
		            if (Clvl >= 2)
		            WeaponMod1 = (Clvl / 2) * (1 + rand() % WeaponLevel);  
                    WeaponMod2 = Clvl * (1 + rand() % WeaponLevel);
                    WeaponMod3 = Clvl * (1 + rand() % WeaponLevel);
                    WeaponMod4 = (Clvl * 2) + (1 + rand() % WeaponLevel);
	             }
       }
       if (WeaponName == "Of the Earth") // +hp +armor(lots)
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
		            WeaponMod2 = (Clvl * 3) * (1 + rand() % WeaponLevel);
               case 2:
                    WeaponMod2 = (Clvl * 3) * (1 + rand() % WeaponLevel);
                    WeaponMod5 = (Clvl * 10) + (1 + rand() % WeaponLevel);
               default:
                    WeaponMod5 = (Clvl * 5) + (1 + rand() % WeaponLevel);
                   
	             }
       }
       if (WeaponName == "Of the Brute") // +hp +armor(lots)
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
		            WeaponMod6 = (Clvl * 5) * (1 + rand() % WeaponLevel);
               case 2:
                    WeaponMod6 = (Clvl * 3) * (1 + rand() % WeaponLevel);
                    WeaponMod5 = (Clvl * 5) + (1 + rand() % WeaponLevel);
               default:
                    WeaponMod6 = (Clvl * 7) * (1 + rand() % WeaponLevel);
                   
	             }
       }
       if (WeaponName == "Of Might") // 1str 2hp's 6damage
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
		            WeaponMod1 = (Clvl * 2) + (1 + rand() % WeaponLevel);
               case 2:
                    WeaponMod1 = (Clvl * 2) + (1 + rand() % WeaponLevel);
                    WeaponMod6 = (Clvl * 3) * (1 + rand() % WeaponLevel);
               default:
                    WeaponMod6 = (Clvl * 7) * (1 + rand() % WeaponLevel);
                   
	             }
       }
       if (WeaponName == "Of Wisdom") // hp mp
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
		            WeaponMod2 = (Clvl * 8) + (1 + rand() % WeaponLevel);
               case 2:
                    WeaponMod2 = (Clvl * 5) + (1 + rand() % WeaponLevel);
                    WeaponMod3 = (Clvl * 10) + (1 + rand() % WeaponLevel);
               default:
                    WeaponMod2 = (Clvl * 3) + (1 + rand() % WeaponLevel);
                   
	             }
       }
       if (WeaponName == "Of the Gods") // hp mp
       {
        int x;
        x = 1 + rand() % 8; //Number of stats
        switch (x){
	           case 1:
                    WeaponMod1 = (Clvl * 2) + (1 + rand() % WeaponLevel);
		            WeaponMod2 = (Clvl * 8) + (1 + rand() % WeaponLevel);
		            WeaponMod3 = (Clvl * 10) + (1 + rand() % WeaponLevel);
		            WeaponMod4 = (Clvl * 4) + (1 + rand() % WeaponLevel);
		            WeaponMod5 = (Clvl * 5) + (1 + rand() % WeaponLevel);
		            WeaponMod6 = (Clvl * 7) * (1 + rand() % WeaponLevel);
		            
               case 2:
                    WeaponMod1 = (Clvl * 3) + (1 + rand() % WeaponLevel);
		            WeaponMod2 = (Clvl * 9) + (1 + rand() % WeaponLevel);
		            WeaponMod3 = (Clvl * 11) + (1 + rand() % WeaponLevel);
		            WeaponMod4 = (Clvl * 6) + (1 + rand() % WeaponLevel);
		            WeaponMod5 = (Clvl * 7) + (1 + rand() % WeaponLevel);
		            WeaponMod6 = (Clvl * 8) * (1 + rand() % WeaponLevel);
               default:
                    WeaponMod1 = (Clvl * 2) + (1 + rand() % WeaponLevel);
		            WeaponMod2 = (Clvl * 5) + (1 + rand() % WeaponLevel);
		            WeaponMod3 = (Clvl * 5) + (1 + rand() % WeaponLevel);
		            WeaponMod4 = (Clvl * 4) + (1 + rand() % WeaponLevel);
		            WeaponMod5 = (Clvl * 5) + (1 + rand() % WeaponLevel);
		            WeaponMod6 = (Clvl * 5) * (1 + rand() % WeaponLevel);
                   
	             }
              }
            }
        }Weapons WepLoot;
Pardon all the weird placement of some of the text, I had to edit this to get it to fit to the page so it wouldn't be so wide. Its not how I have it in my program. And here is the int main()

Code:
int main()
{
    int x;
    string blah;
    srand(time(0));
    StartGame();
    system ("cls");
    cout <<"Welcome " <<YourName <<" to the Age of Spire!" <<endl;
    cout <<endl;
    cout <<"Do you wish to view the history and backstory?(Y or N)" <<endl;
    getline(cin, blah, '\n');
    if (blah == "y" || blah == "Y")
      cout <<"Story here." <<endl;
      else 
      cout <<"Play then." <<endl;
      
     WepLoot.getWeaponValue();
     WepLoot.getWeaponType();
     WepLoot.getWeaponName();
     AnyKey();
 }