Código:
Me sale esto:#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <time.h> typedef struct Arriendo { int codigo_arriendo; //Código del arriendo int codigo_auto; //Código del auto char rut[10]; //Rut arrendatario char fecha_arriendo[10]; //Fecha en la que se arrendo char fecha_vencimiento[10]; //Fecha en la que vence el arriendo char estado[7]; //Estado del arriendo struct Arriendo *next; }Arriendo; struct Arriendo *CabezaArriendo; void CrearArriendo(struct Arriendo **CabezaArriendo) { *CabezaArriendo = NULL; } int VaciaArriendo(struct Arriendo *CabezaArriendo) { if (CabezaArriendo == NULL) return 1; else return 0; } main() { system("title Automotora (C) 1.0 - Power By El_Metallick"); system("color 3f"); CrearArriendo(&CabezaArriendo); struct Arriendo *Anterior; struct Arriendo *Siguiente; struct Arriendo *Nuevo; int cod; char fve[10]; time_t tiempo; char fecha[10]; struct tm *tmPtr; printf("INSERCION DE ARRIENDOS\n"); printf("----------------------\n"); Nuevo = (Arriendo *)malloc(sizeof(Arriendo)); printf("\nEscriba el c%cdigo del Auto: ", 162); scanf("%d", &cod); printf("\nEscriba el rut del usuario (en formato XXXXXXXX-X y sin puntos (.)): "); scanf("%s", Nuevo->rut); printf("\nEscriba la fecha de vencimiento del arriendo (en formato aaaa/mm/dd): "); scanf("%s", fve); tiempo = time(NULL); tmPtr = localtime(&tiempo); strftime( fecha, 11, "%Y/%m/%d", tmPtr); Nuevo->codigo_arriendo = 1; Nuevo->codigo_auto = cod; strcpy(Nuevo->fecha_arriendo,fecha); strcpy(Nuevo->fecha_vencimiento,fve); strcpy(Nuevo->estado,"Vigente"); if (VaciaArriendo(CabezaArriendo) || (strcmp(Nuevo->fecha_vencimiento,(CabezaArriendo)->fecha_vencimiento) < 0)) { Nuevo->next = CabezaArriendo; CabezaArriendo = Nuevo; } else { Anterior = CabezaArriendo; Siguiente = Anterior->next; while ((Siguiente != NULL) && (strcmp(Siguiente->fecha_vencimiento,Nuevo->fecha_vencimiento) <= 0)) { Anterior = Siguiente; Siguiente = Siguiente->next; } Anterior->next = Nuevo; Nuevo->next = Siguiente; } printf("\nAl auto %d fue arrendado por %s hoy %s hasta %s satisfactoriamente.\n\n", Nuevo->codigo_auto, Nuevo->rut, Nuevo->fecha_arriendo, Nuevo->fecha_vencimiento); getch(); }
Al auto 1 fue arrendado por 15148154-82006/09/122006/09/15Vigente hoy 2006/09/12
2006/09/15Vigente hasta 2006/09/15Vigente satisfactoriamente.
y me deveria salir esto:
Al auto 1 fue arrendado por 15148154-8 hoy 2006/09/12 hasta 2006/09/15 satisfactoriamente.
Saludos