
Listas enlazadas
Publicado por Jorge (16 intervenciones) el 09/09/2015 05:36:28
Este programa lo he creado en C , pro no domino mucho el Dev C++ si pueden ayudarme a retificarlo.
Favor su ayuda en el codigo en C , si esta mal corregir.
Gracias
Jorge
Favor su ayuda en el codigo en C , si esta mal corregir.
Gracias
Jorge
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
//Programa de Lista simplemente Enlazada, para los datos de Alumno como
//Código, Nombre y género, y la modificación de los respectivos módulos de dicha lista.
#include <iostream>
#include <conio.h>
#include <stdlib.h>
typedef int tipo;
struct estudiante
{ int codigo[5];
char nombre[50];
char genero[1];
} ;
struct nodo{ //esta es la estructura del nodo
tipo s_dato;
nodo* s_sig;
};
void crear(nodo**);
void insertar(nodo**, tipo);
void quitar(nodo**, tipo);
void recorrer(nodo**);
int buscar();
int main()
{
nodo* cabeza;
int dat;
int dato;
char op;
struct estudiante x;
crear(&cabeza);
system("pause");
df; //tambien se puede hacer con do while
cout << "1.-INSERTAR" << endl;
cout << "2.-VER" << endl;
cout << "3.-QUITAR" << endl;
op = getch();
switch(op)
{
case '1':
cout << "introduce el codigo: ";
scanf("%s",&x->codigo);
cout << "introduce el nombre: ";
scanf("%d",&x->nombre);
cout << "introduce el Sexo: ";
scanf("%d",&x->genero);
insertar(&cabeza, dat);
system("pause");
goto df;
case '2':
recorrer(&cabeza);
system("pause");
goto df;
case '3':
cout << "introduzca dato a quitar";
cin >> dato;
quitar(&cabeza,dato);
goto df;
}
}
void crear(nodo** siguiente)
{
*siguiente = NULL;
}
void insertar(nodo**siguiente, tipo dato)
{
struct estudiante *x;
nodo* aux;
x=s_sig= NUll;
aux = estudiante;
aux->s_dato = dato;
aux->s_sig = (*siguiente);
*siguiente = aux;
}
void quitar(nodo**siguiente, tipo dato)
{
nodo* ptr,*ant;
ptr = *siguiente;
ant = NULL;
while (ptr!= NULL && ptr->s_dato!=dato)
{
ant = ptr;
ptr = ptr->s_sig;
}
if ( ptr->s_dato!=dato)
{
cout << "dato no existe";
}
else
ant->s_sig = ptr->s_sig;
delete ptr;
}
void recorrer(nodo**siguiente)
{
nodo* ptr;
ptr = *siguiente;
while (ptr!= NULL)
{
cout << ptr->s_dato << endl; // aqui es donde necesito mostrar la estructura
ptr=ptr->s_sig;
}
}
Valora esta pregunta


0