Me encuentro haciendo una tarea de programación en c++, y ya tengo todo el código hecho pero no se porque no me calcula el 10% de una cantidad, supongamos que ingreso monto= 20 y quiero el 10% del costo total, en el codigo sería
costototal=monto*.90
Él resultado sería 18.
Pero al momento de hacerlo en el programa me dice que es 0
y en cantidades grandes me saca otro porcentaje y no es el indicado... ayuda, les adjunto 2 fotos para que me entiendan mejor.

Adjuntos:

Respuestas

Respuesta dada por: cristhianzg
1

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<stdio.h>


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!

Adjuntos:
Preguntas similares