Codigo fuente - videoclub hecho en c

Solo disponible en BuenasTareas
  • Páginas : 5 (1101 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de diciembre de 2010
Leer documento completo
Vista previa del texto
#include
#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++;
}...
tracking img