C/Visual C - Ayuda Ficheros - Listas enlazadas (doblemente y simple)

 
Vista:
Imágen de perfil de Matias

Ayuda Ficheros - Listas enlazadas (doblemente y simple)

Publicado por Matias (2 intervenciones) el 13/04/2018 16:29:01
Necesito ayuda!, estoy trabajando en un proyecto para la universidad, y es un sistema de "gestion" de viviendas (cabañas, sitios, casas, etc) , tenemos 3 struct, la categoria de vivienda (cabaña, casa, depto, etc) como una lista doblemente enlazada, cada uno de esos nodos tiene una lista enlazada simple con cada vivienda (si fuese categoria cabaña, tendria cabaña1 cabaña2, etc), y cada nodo de la lista simple tiene los datos de la reserva.

Mi pregunta es como podria guardar y leer tal informacion de ficheros txt, cuantos me conviene hacer y todo eso por favor :(

los struct son :

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
struct Reserva{
	char* nombre;
	char* rut;
	struct tm *In;
	struct tm *Out;
	int totalpagar;
	int abono;
};
struct DatosAlojamientos{
	int Nalojamiento;
	int precio;
	int estadoAlojamiento;
	struct Reserva cliente;
};
struct NodoAlojamientos{
	struct DatosAlojamientos *Alojamiento;
	struct NodoAlojamientos*sig;
};
struct DatosVivienda{
	char* categoria;
	int iDcategoria;
	struct NodoAlojamientos* subvivienda;
};
struct NodoVivienda{
	struct DatosVivienda *Vivienda;
	struct NodoVivienda* sig;
	struct NodoVivienda* ant;
};
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 gregory
Val: 73
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ayuda Ficheros - Listas enlazadas (doblemente y simple)

Publicado por gregory (24 intervenciones) el 29/04/2018 07:46:06
Si sabe operar con lista normal trabajar con dobleenlace solo cambia en insertar

en vez de si inicio==null
.....
sino
ultimo.sig=nuevodato;
ultimo =nuevodato


la operacion insertar sera ahora
no recuerdo como se usa pero asi crea memoria dinamica
nuevodato=malloc()
if (inicio==null)
inicio=nuevodato;
else
nuevo.sig=inicio.sig;
inicio.ant=nuevo;
inicio=nuevo;

la operacion borrar es lo mismo
buscar tambien
ordenar tambien incluso mas facil
porque te puedes mover hacia atras.

leer datos del fichero se traduce a insertar ya te di la mecanica de como tiene que ser.
guardar hay que recorrer la lista e ir guardando
el trucaso es aprender a realizar la operaciones basicas de la lista doble enlazada
culquier duda me dice.
Veo que nadie por aqui le echa a este tema.
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