Я думаю, для этой конкретной проблемы if-else даже не требуется!
Я бы порекомендовал это решение:
const char *stens[] = {"", "", "twenty", "thirty", "forty", "fifty",
"sixty", "seventy", "eighty", "ninty"};
const char *sones[] = {"", "one", "two", "three", "four", "five",
"six", "seven", "eigth", "nine"};
//make sure 0<= rand <= 99
cout << stens[ rand / 10 ] << " " << sones[ rand % 10 ] << endl;
Онлайн демо: http://www.ideone.com/K7HxS
Что касается проблемы, с которой вы столкнулись с if-else , вы используете оператор присваивания , а не равенство , как все уже указали вне.