Таким же способом:
Код:
switch(rand()%20)
{
case 1: // 5%
break;
case 2: // 5%
break;
case 3:
case 4:
case 5: // 15%
break;
case 6:
case 7:
case 8: // 15%
break;
case 9:
case 10:
case 11:
case 12:
case 13:
case 14: // 30%
break;
default: // 30%
break;
}
Но проще, менее громоздко и более изящно получить шанс:
Код:
int result = rand()%100;
И потом его проверить. Например, можете посмотреть реализацию ф-ии FillLoot в мангосе.