Este es el código que tengo bro:
Código C++:
Ver original#include <stdio.h> // Archivo de la biblioteca estándar de Entrada/Salida.
#include <math.h> // archivo estandar de la biblioteca de matematicas
#include <stdlib.h> // Aritméticas, Números aleatorios; y • Conversión de cadenas.
#include <map>
#include <string>
int main(int argc, char *argv[])
{
std::string mensaje;
float Monto, Descuento, TotalPagar;
std::map< std::string, int > colores;
colores["blanco"]=1;
colores["verde"]=2;
colores["amarillo"]=3;
colores["azul"]=4;
colores["rojo"]=5;
printf("Introduce el monto de la compra:"); printf("=============================================================\n\n"); printf("Introduce el color que has recibido:"); printf("=============================================================\n\n"); for( size_t i
=0; i
<mensaje.
length(); ++i
) mensaje
[i
] = tolower(mensaje
[i
]); int colorInt = colores[ mensaje ];
switch ( colorInt )
{
case 1:
Descuento = 0;
printf("Lo sentimos, no obtuvo ningun descuento\n\n"); break;
case 2:
Descuento= (Monto*0.10);
printf("El Descuento por la Compra es: %f\n\n",Descuento
); break;
case 3:
Descuento= (Monto * 0.25);
printf("El Descuento por la Compra es: %f\n\n",Descuento
); break;
case 4:
Descuento= (Monto * 0.50);
printf("El Descuento por la Compra es: %f\n\n",Descuento
); break;
case 5:
(Descuento= Monto);
printf("El Descuento por la Compra es: %f\n\n",Descuento
); break;
}
TotalPagar= Monto - Descuento;
printf("El monto total a pagar es= %f\n\n",TotalPagar
); return 0;
}
El ejecuta normalmente si le quito el for y hace sus sentencias normal, pero ahora no sé que pasó que me dio ese error de no hacer los case.
Cuando el destino te dice que no eres bueno en algo :(.
Saludos