Hola, en el codigo en c + + no te muestra el resultado por varias observaciones : 1.
En la declaración de variables donde dice "int" cambiarlo por float o double, ya al poner int (Entero) no se obtendra los decimales.
2. Para hallar el porcentaje de 10 %, 30% y 50% se obtiene dividiendo numero / 100, por ejemplo con 10%, seria 10 / 100 = 0.
10, o simplemente poner 0.
10, entonces 30 % = > 0.
30 y 50% = >0.
50. 3.
Para obtener el costo total a pagar, primero se tiene que multiplicar el monto ingresado por el porcentaje, es decir, ct = monto * 0.
10 con eso se obtiene lo que se va a descontar, de ahi, se resta el monto ingresado con el calculo del monto multiplicado con el porcentaje, es decir, ct = monto - (monto * 0.
10). Todo lo demás esta correcto.
El codigo final seria de esta manera (C + + ) #include
int main(){ float monto, ct ; char color ; printf("Dar monto : ") ; scanf("%f", &monto) ; printf("Elija un color : \ n a) NEGRO \ n b) VERDE \ n c) ANARANJADO \ n d) ROJO \ n") ; scanf("%s", &color) ; switch(color){ case 'a' : printf("No tiene descuento") ; break ; case 'b' : printf("Obtuvo 10 por ciento de descuento \ n") ; ct = monto - (monto * 0.
10) ; printf("El total a pagar es %f", ct) ; break ; case 'c' : printf("Obtuvo 30 por ciento de descuento \ n") ; ct = monto - (monto * 0.
30) ; printf("El total a pagar es %f", ct) ; break ; case 'd' : printf("Obtuvo 50 por ciento de descuento \ n") ; ct = monto - (monto * 0.
50) ; printf("El total a pagar es de %f", ct) ; break ; default : printf("Operación invalida \ n") ; break ; } return 0 ; }
¡Saludos!