Dev - C++ - Insertar elementos a una lista - Dev C++ - Ayuda

 
Vista:
sin imagen de perfil
Val: 5
Ha disminuido su posición en 42 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Insertar elementos a una lista - Dev C++ - Ayuda

Publicado por Frank Axel (4 intervenciones) el 16/07/2020 19:49:06
Buen día a todos, el día de hoy vengo a ustedes con un inconveniente durante la compilación de un código en Dev C++

Estuve desarrollando un programa básico para insertar elementos a una lista, siguiendo un ecuatorial para aprender el lenguaje poco a poco. Sin embargo pese a seguir todo los pasos y tipear a mano linea a linea me saltaron un gran grupo de errores. He investigado por mi cuenta, al igual que repasado el vídeo a detalle, pero no soy capaz de dar con la solución.

Aquí les dejo e código:

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <conio.h>
using namespace std;
 
struct nodo {
	int dato;
	nodo *siguiente;
 
};
 
//prototipo de funcion
 
void InsertarLista(Nodo *&,int);
 
int main (){
	Nodo *lista = NULL;
 
	int dato;
 
	cout<<"Introduzca un numero ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	getch();
	Return 0;
}
 
void InsertarLista(Nodo *&lista, int n) {
	Nodo *Nuevo_Nodo = New Nodo();
	Nuevo_Nodo->dato = n;
 
	Nodo *aux1 = lista;
	Nodo *Aux2;
 
	while((aux1 != NULL) && (aux1->dato < n)) {
		aux2 = aux1;
		aux1 = aux1->siguiente;
	}
 
	if(lista == aux1){
		lista = Nuevo_Nodo;
 
	}
	else{
		aux2->siguiente = Nuevo_Nodo;
	}
 
	Nuevo_Nodo->siguiente = aux1;
 
	cout<<"\tElemento " <<n<< " insertado a lista con exito\n";

Me vendría bien algo de ayuda.

los codigos de error son:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Error] variable or field 'InsertarLista' declared void
	[Error] 'Nodo' was not declared in this scope
	[Error] expected primary-expression before ',' token
	[Error] expected primary-expression before 'int'
	In function 'int main()':
	[Error] 'Nodo' was not declared in this scope
	[Error] 'lista' was not declared in this scope
	[Error] 'InsertarLista' was not declared in this scope
	[Error] 'Return' was not declared in this scope
	At global scope:
	[Error] variable or field 'InsertarLista' declared void
        [Error] 'Nodo' was not declared in this scope
	[Error] 'lista' was not declared in this scope
         [Error] expected primary-expression before 'int'

Mientras mas intento resolver los errores, aparecen otros que antes no estaban. Soy bastante nuevo en este campo ya me quedé sin ideas.

Agradezco su apoyo de ante mano.
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 Rodrigo
Val: 1.366
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Insertar elementos a una lista - Dev C++ - Ayuda

Publicado por Rodrigo (385 intervenciones) el 16/07/2020 22:24:39
Cambia struct nodo (con minuscula) a struct Nodo (con mayuscula), cambia "nodo" por Nodo, en el campo siguiente tambien.
o bien agrega un

typedef struct nodo Nodo;

justo despues de la definicion del struct. Mejor renombra la estructura con mayuscula si no la usas nunca con minuscula.
Despues de este cambio, ve que errores aparecen y cuando no puedas avanzar vuelves a preguntar, mostrando el programa actualizado.
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
sin imagen de perfil
Val: 5
Ha disminuido su posición en 42 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Insertar elementos a una lista - Dev C++ - Ayuda

Publicado por Frank Axel (4 intervenciones) el 17/07/2020 01:42:16
Vaya, una vez localizado el problema no era tan grave como el programa lo hacia parecer; al cambiar "struct nodo" por "struct Nodo" desaparecieron la mayoría de errores, y siguiendo la misma lógica, pude solventar el resto sin inconvenientes. Las mayúsculas y minúsculas son mas relevantes de lo que esperaba. Muchas gracias por la asistencia,la verdad fue un gran dolor de cabeza no saber que estaba mal.

P.D: Soy escritor, supongo que el habito que me hice de siempre comenzar con mayúscula me jugó una mala pasada.
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
Imágen de perfil de Rodrigo
Val: 1.366
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Insertar elementos a una lista - Dev C++ - Ayuda

Publicado por Rodrigo (385 intervenciones) el 17/07/2020 02:02:05
Una manera de retribuir al foro que sugiero es publicar el codigo como quedo' despues de corregido.

(Tal vez hayan cosas por corregir o mejorar aun)
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
sin imagen de perfil
Val: 5
Ha disminuido su posición en 42 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Insertar elementos a una lista - Dev C++ - Ayuda

Publicado por Frank Axel (4 intervenciones) el 19/07/2020 00:02:12
He aquí el código corregido, no se si se pueda mejorar de alguna forma, pero al menos es funcional. Consiste en crear una lista, complementando con nodos auxiliares para mantener organizados los elementos a medida que se van integrando a la misma.

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <iostream>
#include <conio.h>
using namespace std;
 
struct Nodo {
	int dato;
	Nodo *siguiente;
 
};
 
//Función de insertar a lista
 
void InsertarLista(Nodo *&,int);
 
int main (){
	Nodo *lista = NULL;
 
	int dato;
 
	cout<<"Introduzca un numero ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	cout<<"Introduzca un numero: ";
	cin>>dato;
	InsertarLista(lista,dato);
 
	getch();
	return 0;
}
 
void InsertarLista(Nodo *&lista, int n) {
	Nodo *Nuevo_Nodo = new Nodo();
	Nuevo_Nodo->dato = n;
 
	Nodo *aux1 = lista;
	Nodo *aux2;
 
	while((aux1 != NULL) && (aux1->dato < n)) {
		aux2 = aux1;
		aux1 = aux1->siguiente;
	}
 
	if(lista == aux1){
		lista = Nuevo_Nodo;
 
	}
	else{
		aux2->siguiente = Nuevo_Nodo;
	}
 
	Nuevo_Nodo->siguiente = aux1;
 
	cout<<"\tElemento " <<n<< " insertado a lista con exito\n";
 
}
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