Dev - C++ - Tengo un arreglo cuyo tamaño lo declara el usuario, pero no lo puedo mostrar

 
Vista:

Tengo un arreglo cuyo tamaño lo declara el usuario, pero no lo puedo mostrar

Publicado por Sara Reyes Robles (1 intervención) el 08/04/2019 23:05:24
Tengo un arreglo cuyo tamaño lo declara el usuario, pero no lo puedo mostrar, se trata de un menú en el que una opción es ingresar los datos en un vector y otra, mostrar los datos del mismo vector, pero al compilar, me dice que el arreglo no fue declarado en éste ámbito, esto sucede cuando agrego la parte que muestra el vector.
cuando muestro el vector dentro del if en el que se solicitan los datos, los muestra sin problema.

Obviamente está en construcción, pero mi código está así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "iostream"
 
using namespace std;
 
int main()
{
   char tipo;
   int tama, i, j, op;
   tipo=' ';
   i=0;
   j=0;
   tama=0;
 
	do{
		system("cls");
		cout << "* * * M E N U * * *  " <<'\n';
		cout << "1. Ingresar datos numéricos a un vector." <<'\n';
		cout << "2. Modificar datos al vector mediante la posición." <<'\n';
		cout << "3. Eliminar datos en el vector mediante el valor." <<'\n';
		cout << "4. Ordenar datos en el vector de mayor a menor." <<'\n';
		cout << "5. Consultar datos en el vector." <<'\n';
		cout << "6. Salir." <<'\n';
		cout << "Elige una opcion: " <<'\n';
        cin >> op;
		if (op==1){
            cout<<"tamaño del vector:";
            cin>>tama;
            int numeros[tama];
            for (int i = 0; i <tama; i++)
            {
                cout << "Dame un número: " <<'\n';
                cin >> numeros[i];
            };
		};
	    if (op==2){
	    	cout <<"Modificar datos al vector mediante la posición.";
	    	system("pause");
		}
	    if (op==3){
	    	cout <<"Eliminar datos al vector mediante el valor.";
	    	system("pause");
		}
	    if (op==4){
	    	cout <<"Ordenar datos en el vector de mayor a menor.";
	    	system("pause");
		}
	    if (op==5){
	    	cout << "Los números guardados en el vector son: " <<'\n';
		    for (int j = 0; j <tama; j++)
		    {
		       cout << numeros[j] <<'\n';;
		    };
	    	//cout <<"Consultar datos en el vector.";
	    	system("pause");
		}
 
 
 
		}while (op!=6);
 
	 return 0;
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Tengo un arreglo cuyo tamaño lo declara el usuario, pero no lo puedo mostrar

Publicado por Alfil (1444 intervenciones) el 08/04/2019 23:55:18
Deberías pensar en poner cada opción ( cada case ) en una función independiente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    char tipo;
    int op, tama;
 
     cout <<"\nTamaño del vector: ";
    cin >> tama;
    int numeros[tama];
 
    do{
        system("cls");
        cout << "* * * M E N U * * * "
             << "\n1. Ingresar datos numéricos a un vector."
             << "\n2. Modificar datos al vector mediante la posición."
             << "\n3. Eliminar datos en el vector mediante el valor."
             << "\n4. Ordenar datos en el vector de mayor a menor."
             << "\n5. Consultar datos en el vector."
             << "\n6. Salir."
             << "\nElige una opcion: ";
        cin >> op;
 
        switch( op ) {
 
            case 1:
                for( int i = 0; i < tama; i++ ) {
                    cout << "Dame un número: ";
                    cin >> numeros[i];
                }
                break;
 
            case 2:
                cout << "\nModificar datos al vector mediante la posición.";
                system("pause");
                break;
 
            case 3:
                cout << "\nEliminar datos al vector mediante el valor.";
                system("pause");
                break;
 
            case 4:
                cout << "\nOrdenar datos en el vector de mayor a menor.";
                system("pause");
                break;
 
            case 5:
                cout << "\nLos números guardados en el vector son: \n";
                for( int i = 0; i < tama; i++ ){
                    cout << numeros[i] << " ";
                }
                cout << endl;
                system("pause");
                break;
 
            case 6:
                break;
 
            default:
                cout << "\nOpcion no valida\n";
                break;
 
        }
 
    }while( op != 6 );
 
    return 0;
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar