Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/04/2015, 09:00
ecfisa
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: Funciones c++

Hola.

Cita:
Código C++:
Ver original
  1. int mul[5] = {2, 3, 5, 7, 11};
¿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 original
  1. std::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 original
  1. std::cout << "[1]Multiplos de 2" << std::endl;
  2.   std::cout << "[2]Multiplos de 3" << std::endl;
  3.   std::cout << "[3]Multiplos de 5" << std::endl;
  4.   std::cout << "[4]Multiplos de 7" << std::endl;
  5.   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
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void multiple(int a) {
  6.   for (int i = 2; i < 61; i++)
  7.     if (i % a == 0)
  8.       cout << i << "  ";
  9. }
  10.  
  11. int main() {
  12.   int mul[5] = {2, 3, 5, 7, 11};
  13.   cout << "Bienvenido, eliga la opcion que mas se acomode a sus necesidads" << endl << endl;;
  14.   cout << "[1]Multiplos de 2" << endl;
  15.   cout << "[2]Multiplos de 3" << endl;
  16.   cout << "[3]Multiplos de 5" << endl;
  17.   cout << "[4]Multiplos de 7" << endl;
  18.   cout << "[5]Multiplos de 11" << endl;
  19.  
  20.   int a;
  21.   cin >> a;
  22.  
  23.   if (a < 6 && a > 0) {
  24.     cout << "Multiplos de " << mul[a-1] << endl;
  25.     cout << "---------------------" << endl;
  26.     multiple(mul[a-1]);
  27.   }
  28.   else
  29.     cout << "Introduzca un numero del 1 al 5" << endl;
  30.  
  31.   cin.ignore();
  32.   cin.get();
  33.   return 0;
  34. }

Saludos.