Cita:
Iniciado por ecfisa Hola.
Lo que sucede es que envias a la función la misma variable que usas para las opciones y los valores no son concordantes: 1 -> 2, 2 -> 3, 3 -> 5, 4 -> 7, 5 -> 11.
Una solución es usar un arreglo que contenga los valores a enviar para hallar los múltiplos:
Código C++:
Ver original...
int main() {
int mul[5] = {2, 3, 5, 7, 11};
std::cout << "Bienvenido, eliga la opcion que mas se acomode a sus necesidads" << std::endl << std::endl;;
std::cout << "[1]Multiplos de 2" << std::endl;
std::cout << "[2]Multiplos de 3" << std::endl;
std::cout << "[3]Multiplos de 5" << std::endl;
std::cout << "[4]Multiplos de 7" << std::endl;
std::cout << "[5]Multiplos de 11" << std::endl;
int a;
std::cin >> a;
if ( a < 6 && a > 0 ) {
std::cout << "Multiplos de " << mul[a-1] << std::endl;
std::cout << "---------------------" << std::endl;
multiple ( mul[a-1] );
}
else
...
Saludos.
He probado lo que me has dicho, y me surgen unas dudas (y también algunos errores);
¿Con esto le decimos a la variable mul que solo puede aceptar valores de '2', '3', '5', '7' y '11'?
Código C++:
Ver originalstd::cout << "Multiplos de " << mul[a-1] << std::endl;
¿Por qué le restamos a la 'a' 1?
Aquí también volvemos a restarle a mul[a-1]..
*Al compilar y ejecutar hay un error, cuando estamos haciendo la operación, si pongo 2 me da múltiplos de 3, si pongo 3 me da múltiplos de 5, si pongo 5 me da múltiplos de 11.. (si pongo en vez de restar -1 que reste -2, al principio va bien hasta los múltiples de 5, a partir de ahí ya falla..)
*Me puedes explicar como funciona lo de int NombreVariable[Xnum] = {X resultados};
*Cabe añadir que me hubiese gustado también el poder aprender a usar las funciones..