ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Rastreo de pedidos en una empresa de mensajería


Enviado por   •  19 de Octubre de 2018  •  Ensayo  •  733 Palabras (3 Páginas)  •  164 Visitas

Página 1 de 3

Nombre: Jorge Marin Garcia

Nombre de la profesora: Ing. Alejandra Ivette Gálvez Basurto

Materia: Estructura de Datos

Carrera: Ing. Sistemas computacionales

Tema: Rastreo de pedidos en una empresa de mensajería

Fecha de entrega: 04 de marzo del 2018

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <string.h>

int max=0,ban=0;

struct treeNode{

struct treeNode *leftPtr;

int guia;

char remitente[1000];

char destinatario[1000];

char estado[1000];

char destino[1000];

struct treeNode *rightPtr;

};

typedef struct treeNode TREENODE;

typedef TREENODE *TREENODEPTR;

void registra(TREENODEPTR *treePtr,

int guia,char remitente[1000],char destinatario[1000],

char estado[1000],char destino[1000])

{

if(*treePtr == NULL)

{

*treePtr=malloc(sizeof(TREENODE));

if(*treePtr != NULL)

{

(*treePtr)->guia=guia;

strcpy((*treePtr)->remitente,

remitente);

strcpy((*treePtr)->destinatario,

destinatario);

strcpy((*treePtr)->estado,

estado);

strcpy((*treePtr)->destino,

destino);

(*treePtr)->leftPtr=NULL;

(*treePtr)->rightPtr=NULL;

}

else

printf("%d no insertado. No hay memoria disponible.\n",guia);

}

else{

if((guia)<((*treePtr)->guia))

registra(&((*treePtr)->leftPtr),

guia,remitente,destinatario,

estado,destino);

else

if((guia)>((*treePtr)->guia))

registra(&((*treePtr)->rightPtr),

guia,remitente,

destinatario,estado,destino);

else

printf("DUP");

}

}

void buscarGuia(TREENODEPTR treePtr,int guia){

if(treePtr !=NULL)

{

buscarGuia(treePtr->leftPtr,guia);

if((treePtr->guia)==(guia))

{

printf("\n\nGuia: %3d\n",treePtr->guia);

printf("Remitente: %s\n",treePtr->remitente);

printf("Destinatario: %s\n",treePtr->destinatario);

printf("estado: %s\n",treePtr->estado);

printf("Destino: %s\n",treePtr->destino);

ban=1;

}

buscarGuia(treePtr->rightPtr,guia);

}

}

void imprimir(TREENODEPTR treePtr)

{

if(treePtr !=NULL)

{

imprimir(treePtr->leftPtr);

printf("\n\nGuia: %3d\n",treePtr->guia);

printf("Remitente: %s\n",treePtr->remitente);

printf("Destinatario: %s\n",treePtr->destinatario);

printf("estado: %s\n",treePtr->estado);

printf("Destino: %s\n",treePtr->destino);

imprimir(treePtr->rightPtr);

}

}

void obtenerGuia(TREENODEPTR treePtr)

{

if(treePtr !=NULL)

{

obtenerGuia(treePtr->leftPtr);

if((treePtr->guia)>(max))

max=treePtr->guia;

obtenerGuia(treePtr->rightPtr);

}

}

int menu()

{

int op;

printf("\n1. Registrar envio\n");

printf("2. Rastrear envio\n");

printf("3. Imprimir\n");

printf("4. Salir\n\n");

printf("Seleccione la opcion deseada: ");

scanf("%d",&op);

return op;

}

int main()

{

int op,guia;

char remitente[1000]={"\0"},

destinatario[1000]={"\0"},

estado[1000]={"\0"},

destino[1000]={"\0"};

TREENODEPTR rootPtr=NULL;

srand(time(NULL));

do

{

op=menu();

switch(op)

{

case 1:

obtenerGuia(rootPtr);

guia=max+1;

printf("\nGuia: %d\n",guia);

printf("Remitente: \n");

fflush(stdin);

gets(remitente);

printf("\nDestinatario: \n");

fflush(stdin);

gets(destinatario);

printf("\nEstado: \n");

fflush(stdin);

gets(estado);

printf("\nDestino: \n");

fflush(stdin);

gets(destino);

registra(&rootPtr,

guia,remitente,destinatario,

estado,destino);

break;

case 2:

printf("Guia: \n");

scanf("%d",&guia);

buscarGuia(rootPtr,guia);

if(ban==0)

printf("\nGuia no encontrada...\n\n");

break;

case 3:imprimir(rootPtr);break;

case 4:printf("\nHasta pronto...\n\n");break;

default:printf("\nOpcion no valida...\n\n");break;

}

}while(op!=4);

return 0;

}

Nombre: Jorge Marin Garcia

Nombre de la profesora: Ing. Alejandra Ivette Gálvez Basurto

Materia: Estructura de Datos

Carrera: Ing. Sistemas computacionales

Tema: Rastreo de pedidos en una empresa de mensajería

Fecha de entrega: 04 de marzo del 2018

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <string.h>

int max=0,ban=0;

struct treeNode{

struct treeNode *leftPtr;

int guia;

char remitente[1000];

char destinatario[1000];

char estado[1000];

char destino[1000];

struct treeNode *rightPtr;

};

typedef struct treeNode TREENODE;

typedef TREENODE *TREENODEPTR;

void registra(TREENODEPTR *treePtr,

int guia,char remitente[1000],char destinatario[1000],

char estado[1000],char destino[1000])

{

if(*treePtr == NULL)

{

*treePtr=malloc(sizeof(TREENODE));

if(*treePtr != NULL)

{

(*treePtr)->guia=guia;

strcpy((*treePtr)->remitente,

remitente);

strcpy((*treePtr)->destinatario,

destinatario);

strcpy((*treePtr)->estado,

estado);

strcpy((*treePtr)->destino,

destino);

(*treePtr)->leftPtr=NULL;

(*treePtr)->rightPtr=NULL;

}

else

printf("%d no insertado. No hay memoria disponible.\n",guia);

}

else{

if((guia)<((*treePtr)->guia))

registra(&((*treePtr)->leftPtr),

...

Descargar como (para miembros actualizados) txt (20 Kb) pdf (80 Kb) docx (30 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com