Independientemente de la forma en que esta planteado. Checando los errores reportados:
- descuento de 5000 no funciona
- clientes con + de 30000 reciben descuento mayor al que deberían
El primer error se soluciona con con un >= en el segundo if, no veo como aporta quitar el "else" y tampoco alcanzo a entender como aporta "sumar" el descuento a la variable (porcentajeDescuento = porcentajeDescuento + 10) en lugar de asignar el valor exacto (porcentajeDescuento = 20)
Sin embargo para el segundo problema reportado, no encuentro escenario en el que suceda que, algún cliente pueda tener un descuento mayor.
¿alguno ha encontrado este escenario?