elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Hola. Estoy realizando un proyecto de clinica Veterinaria y tengo un error.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Hola. Estoy realizando un proyecto de clinica Veterinaria y tengo un error.  (Leído 2,425 veces)
JoseLAP1995

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Hola. Estoy realizando un proyecto de clinica Veterinaria y tengo un error.
« en: 15 Marzo 2016, 15:39 pm »

Soy nuevo en el manejo de las listas. Y estoy haciendo todo lo posible xD

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. typedef struct consulta{
  5.    float peso;
  6.    char serialvacuna[25];
  7.    char tipovacuna[25];
  8.    char diagnostico[250];
  9.    char observaciones[250];
  10.    char fecha[10];
  11.    struct consulta *sig;
  12. }NODOCONSULTA;
  13.  
  14. typedef struct mascota{
  15.    char nombre[20];
  16.    char animal[20];
  17.    char nacimiento[10];
  18.    char sexo[10];
  19.    char raza[20];//Solo si es perro o gato
  20.    char color[20];//Solo si es perro o gato
  21.    NODOCONSULTA *historialmedico;
  22.    struct mascota *sig;
  23. }NODOMASCOTA;
  24.  
  25. typedef struct cliente{
  26.    char nombre[50];
  27.    char direccion[100];
  28.    double cedula;
  29.    char telefono[15];
  30.    NODOMASCOTA *listamascotas;
  31.    struct cliente *sig;
  32. }NODOCLIENTE;
  33.  
  34. NODOMASCOTA* crearNodoMascota(){
  35.    NODOMASCOTA *nuevo;
  36.    nuevo=(NODOMASCOTA*)malloc(sizeof(NODOMASCOTA));
  37.    if(nuevo){
  38.        strcpy(nuevo->nombre, "\0");
  39.        strcpy(nuevo->animal, "\0");
  40.        strcpy(nuevo->nacimiento, "\0");
  41.        strcpy(nuevo->sexo, "\0");
  42.        strcpy(nuevo->raza, "\0");
  43.        strcpy(nuevo->color, "\0");
  44.        nuevo->sig=NULL;
  45.    }
  46.    return nuevo;
  47. }
  48.  
  49. NODOCONSULTA* crearNodoConsulta(){
  50.    NODOCONSULTA *nuevo;
  51.    nuevo=(NODOCONSULTA*)malloc(sizeof(NODOCONSULTA));
  52.    if(nuevo){
  53.        nuevo->peso=0;
  54.        strcpy(nuevo->serialvacuna, "\0");
  55.        strcpy(nuevo->tipovacuna, "\0");
  56.        strcpy(nuevo->diagnostico, "\0");
  57.        strcpy(nuevo->observaciones, "\0");
  58.        strcpy(nuevo->fecha, "\0");
  59.        nuevo->sig=NULL;
  60.    }
  61.    return nuevo;
  62. }
  63.  
  64. NODOCLIENTE* crearNodoCliente(){
  65.    NODOCLIENTE *nuevo;
  66.    nuevo=(NODOCLIENTE*)malloc(sizeof(NODOCLIENTE));
  67.    if(nuevo){
  68.        strcpy(nuevo->nombre, "\0");
  69.        strcpy(nuevo->direccion, "\0");
  70.        strcpy(nuevo->telefono, "\0");
  71.        nuevo->cedula=0;
  72.        nuevo->sig=NULL;
  73.    }
  74.    return nuevo;
  75. }
  76.  
  77. NODOCLIENTE* IniciarLista(){
  78.    NODOCLIENTE *nuevo;
  79.    nuevo=crearNodoCliente();
  80.    nuevo->listamascotas=crearNodoMascota();
  81.    nuevo->listamascotas->historialmedico=crearNodoConsulta();
  82.    return nuevo;
  83. }
  84.  
  85. void addcliente(NODOCLIENTE **ListaClientes){
  86.    NODOCLIENTE* Nuevo=crearNodoCliente();
  87.    NODOCLIENTE* aux=(*ListaClientes);
  88.    while(aux->sig!=NULL){
  89.        aux=aux->sig;
  90.    }
  91.    printf("Ingrese nombre del cliente: ");
  92.    gets(Nuevo->nombre);
  93.    fflush(stdin);
  94.    printf("Ingrese direccion de hogar: ");
  95.    gets(Nuevo->direccion);
  96.    fflush(stdin);
  97.    printf("Ingrese cedula del cliente (Sin Puntos ni Espacios): ");
  98.    scanf("%ld",&Nuevo->cedula);
  99.    fflush(stdin);
  100.    printf("Ingrese telefono del cliente (Ej: 04161234567): ");
  101.    gets(Nuevo->telefono);
  102.    fflush(stdin);
  103.    Nuevo->sig=NULL;
  104.    aux->sig=Nuevo;
  105.    system("cls");
  106. }
  107.  
  108. void mostrarclientes (NODOCLIENTE *Clientes){
  109.    NODOCLIENTE *aux;
  110.    aux=crearNodoCliente();
  111.    *aux=*Clientes;
  112.    do{
  113.        aux=aux->sig;
  114.        printf("%ld\n",aux->cedula);
  115.    }while(aux->sig!=NULL);
  116. }
  117.  
  118. void addmascota(NODOCLIENTE **ListaClientes){
  119.    NODOCLIENTE *busqueda;
  120.    busqueda=crearNodoCliente();
  121.    *busqueda=**ListaClientes;
  122.    mostrarclientes(busqueda);
  123.    int encontrado=0; //Bandera que indica si se encontro el usuario
  124.    double cedauxiliar=0; //Cedule que ingrese el usuario para buscar
  125.    printf("Ingrese la cedula del due%co de la mascota(Sin Puntos ni Espacios): ",164);
  126.    scanf("%ld",&cedauxiliar);
  127.    while(busqueda!=NULL){
  128.        if(cedauxiliar==busqueda->cedula){
  129.            encontrado=1;
  130.            break;
  131.        }
  132.        busqueda=busqueda->sig;
  133.    }
  134.    if(encontrado==1){
  135.        NODOMASCOTA *aux; //En esta linea me da un error
  136.        aux=busqueda->listamascotas;
  137.        if(aux=NULL){
  138.            aux=crearNodoMascota();
  139.        }
  140.        NODOMASCOTA* Nuevo=crearNodoMascota();
  141.        while(aux->sig){
  142.            aux=aux->sig;
  143.        }
  144.        printf("Ingrese nombre de la mascota: ");
  145.        gets(Nuevo->nombre);
  146.        fflush(stdin);
  147.        printf("Ingrese que animal es: ");
  148.        gets(Nuevo->animal);
  149.        fflush(stdin);
  150.        printf("Ingrese fecha de nacimiento(DD/MM/AAAA): ");
  151.        gets(Nuevo->nacimiento);
  152.        fflush(stdin);
  153.        printf("Ingrese su sexo (M/F): ");
  154.        gets(Nuevo->sexo);
  155.        fflush(stdin);
  156.        printf("Ingrese su raza: ");
  157.        gets(Nuevo->raza);
  158.        fflush(stdin);
  159.        printf("Ingrese color del animal: ");
  160.        gets(Nuevo->color);
  161.        fflush(stdin);
  162.        aux->historialmedico=crearNodoConsulta();
  163.        Nuevo->sig=NULL;
  164.        aux->sig=Nuevo;
  165.    }else{
  166.        printf("No se encontro el cliente.\n");
  167.    }
  168.    system("Pause");
  169.    system("cls");
  170. }
  171.  
  172. int main(){
  173.    NODOCLIENTE *ListaClients;
  174.    ListaClients=IniciarLista();
  175.    addcliente(&ListaClients);
  176.    addcliente(&ListaClients);
  177.    addmascota(&ListaClients);
  178.    return 1;
  179. }


En mi funcion addmascota, el programa se me cierra cuando se logra encontrar la cedula del dueño de la mascota.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hola necesito ayuda estoy atascado !!!
Programación Visual Basic
5 4,033 Último mensaje 15 Mayo 2005, 15:13 pm
por
Tengo un Error a la ora de Ejecutar mi Proyecto.
Programación Visual Basic
terrorista 3 2,475 Último mensaje 27 Junio 2010, 14:35 pm
por raul338
Estoy realizando un CMS (pequeña duda de lógica) « 1 2 3 »
PHP
dimitrix 25 8,410 Último mensaje 9 Marzo 2011, 15:30 pm
por dimitrix
buenas estoy realizando estas fuciones miembro y m da el siguiente problema
Programación C/C++
eduardo17445 8 3,269 Último mensaje 2 Abril 2014, 09:58 am
por eferion
Hola, estoy liado hasta la medula. « 1 2 »
Ingeniería Inversa
centiane 14 7,837 Último mensaje 7 Febrero 2015, 23:39 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines