Hola.
Cita: ¿Con esto le decimos a la variable mul que solo puede aceptar valores de '2', '3', '5', '7' y '11'?
No, en el arreglo mul, almacenamos valores cuyos índices guardan relación con lo expresado en el menu.
Cita:
Código C++:
Ver originalstd::cout << "Multiplos de " << mul[a-1] << std::endl;
¿Por qué le restamos a la 'a' 1?
Por que los arreglos son basados en índice 0 ( es decir v[0] = 2, v[1] = 3, ... )
Cita: ... 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...
Pero, ¿ No es eso lo que indican las opciones de tu menú ? :
Código C++:
Ver originalstd::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;
Es decir, si alguien lee ese menú y desea obtener multiplos de 7 sin dudas presionará el 4. Si el valor del menu se correspondiera con el número a obtener el múltiplo, el arreglo sería innecesario.
Cita: Me puedes explicar como funciona lo de int NombreVariable[Xnum] = {X resultados};
Un
arreglo es un conjunto de valores del mismo tipo a los cuales se les puede hacer referencia mediante un nombre y un índice.
En la declaración del arreglo se lo puede inicializar mediante un '=' seguido de los valores de su tipo, encerrados entre llaves y separados por comas.
Cita: Al compilar y ejecutar hay un error
Por si te sirve, hice esta prueba respetando básicamente tu código y funciona sin error:
Código C++:
Ver original#include <iostream>
using namespace std;
void multiple(int a) {
for (int i = 2; i < 61; i++)
if (i % a == 0)
cout << i << " ";
}
int main() {
int mul[5] = {2, 3, 5, 7, 11};
cout << "Bienvenido, eliga la opcion que mas se acomode a sus necesidads" << endl << endl;;
cout << "[1]Multiplos de 2" << endl;
cout << "[2]Multiplos de 3" << endl;
cout << "[3]Multiplos de 5" << endl;
cout << "[4]Multiplos de 7" << endl;
cout << "[5]Multiplos de 11" << endl;
int a;
cin >> a;
if (a < 6 && a > 0) {
cout << "Multiplos de " << mul[a-1] << endl;
cout << "---------------------" << endl;
multiple(mul[a-1]);
}
else
cout << "Introduzca un numero del 1 al 5" << endl;
cin.ignore();
cin.get();
return 0;
}
Saludos.