Codigo fuente - videoclub hecho en c
#include
struct cliente{
char Nombre[30];
char Apellidos[30];
char Rut[20];
char Direccion[30];
int Telefono;
struct cliente *sgte;
struct cliente *ant;
};
struct pelicula{
int codigo;
char Nombre[15];
char formato[5];
char tipo[10];
int TotalCopias;int TotalArrendadas;
struct pelicula *sgte;
struct pelicula *ant;
};
struct arriendo{
int codigo;
char rut[20];
int CodigoPelicula;
char FechaArriendo[10];
char FechaDevolucion[10];
char Estado[10];
struct arriendo *sgte;
struct arriendo *ant;
};
struct ClienteDoble{
struct cliente*Principio;
struct cliente *Final;
};
void Insertar(struct ClienteDoble *ListaD,char nombre[], char apellido[], char rut[], char direccion[], int telefono)
{
struct cliente *Actual,*Anterior,*Nuevo;
Nuevo =(struct cliente *)malloc(sizeof(struct cliente));
strcpy(Nuevo->Nombre,nombre);
strcpy(Nuevo->Apellidos,apellido);
strcpy(Nuevo->Rut,rut);strcpy(Nuevo->Direccion,direccion);
Nuevo->Telefono=telefono;
Nuevo->ant=NULL;
Nuevo->sgte=NULL;
if(ListaD->Principio==NULL){
ListaD->Principio=Nuevo;
ListaD->Final=Nuevo;
return;
}
Anterior=ListaD->Principio;
Actual=ListaD->Principio;
while(Actual!=NULL && strcmp(apellido,Actual->Apellidos) > 0){
Anterior=Actual;
Actual=Actual->sgte;
}
if(Anterior==Actual){Nuevo->sgte=ListaD->Principio;
ListaD->Principio=Actual->ant=Nuevo;
}
else{
Nuevo->ant=Anterior;
Nuevo->sgte=Actual;
Anterior->sgte=Nuevo;
if(Actual) Actual->ant=Nuevo;
}
}
void ImprimeLista(struct ClienteDoble ListaD)
{
struct cliente *Actual=ListaD.Principio;
if(Actual==NULL)
printf("La lista esta vacia.\n");
else{while(Actual!=NULL){
printf("Nombre: %s", Actual->Nombre);
printf("\n");
printf("Apellido: %s", Actual->Apellidos);
printf("\n");
printf("Rut: %s", Actual->Rut);
printf("\n");
printf("Direccion: %s", Actual->Direccion);
printf("\n");
printf("Telefono: %d", Actual->Telefono);
printf("\n");
printf("\n");
Actual=Actual->sgte;
}
}
}
int main(intargc, char *argv[])
{
struct ClienteDoble ListaD;
ListaD.Principio=NULL;
ListaD.Final=NULL;
struct cliente *PrimerCliente,*C1, *C2, *C3, *C4;
struct pelicula *PrimeraPelicula,*P1, *P2, *P3, *P4;
struct arriendo *PrimerArriendo, *A1, *A2, *A3, *A4;
int i, CuentaCliente=0, CuentaPelicula=0, CuentaArriendo=0, opcion;
int cod, codp, Telefono;
charrut[20], fechaA[10], fechaD[10], estado[10], Nombre[20], Apellidos[30], Rut[20], Direccion[30];
FILE *clientes;
clientes=fopen("Clientes.txt" , "r+");
FILE *peliculas;
peliculas=fopen("Peliculas.txt" , "r+");
FILE *arriendos;
arriendos=fopen("Arriendos.txt" , "r+");
/* if(!feof(clientes) ){
C1=(struct cliente *)malloc(sizeof(struct cliente));PrimerCliente=(struct cliente *)malloc(sizeof(struct cliente));
fscanf(clientes, "%s %s %s %s %d", Nombre ,Apellidos ,Rut, Direccion, Telefono );
// &C1->Nombre ,&C1->Apellidos ,&C1->Rut, &C1->Direccion, &C1->Telefono
Insertar( &ListaD, Nombre, Apellidos, Rut, Direccion, Telefono);
// C1->sgte=C2;
// PrimerCliente=C1;
// CuentaCliente=1;}*/
while(!feof(clientes) ) {
//C2=(struct cliente *)malloc(sizeof(struct cliente));
fscanf(clientes, "%s %s %s %s %d", Nombre ,Apellidos ,Rut, Direccion, Telefono );
//&C2->Nombre ,&C2->Apellidos ,&C2->Rut, &C2->Direccion, &C2->Telefono
Insertar( &ListaD, Nombre, Apellidos, Rut, Direccion, Telefono);
//C1->sgte=C2;
//C1=C2;
//CuentaCliente++;
}...
Regístrate para leer el documento completo.