gracias giorgi tomere en cuenta tus sugerencias bay<br><br><div class="gmail_quote">El 1 de marzo de 2012 05:00,  <span dir="ltr"><<a href="mailto:cconclase-request@listas.conclase.net">cconclase-request@listas.conclase.net</a>></span> escribió:<br>

<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">Envíe los mensajes para la lista Cconclase a<br>
        <a href="mailto:cconclase@listas.conclase.net">cconclase@listas.conclase.net</a><br>
<br>
Para subscribirse o anular su subscripción a través de la WEB<br>
        <a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
<br>
<br>
O por correo electrónico, enviando un mensaje con el texto "help" en<br>
el asunto (subject) o en el cuerpo a:<br>
        <a href="mailto:cconclase-request@listas.conclase.net">cconclase-request@listas.conclase.net</a><br>
<br>
Puede contactar con el responsable de la lista escribiendo a:<br>
        <a href="mailto:cconclase-owner@listas.conclase.net">cconclase-owner@listas.conclase.net</a><br>
<br>
Si responde a algún contenido de este mensaje, por favor, edite la<br>
linea del asunto (subject) para que el texto sea mas especifico que:<br>
"Re: Contents of Cconclase digest...". Además, por favor, incluya en<br>
la respuesta sólo aquellas partes del mensaje a las que está<br>
respondiendo.<br>
<br>
<br>
Asuntos del día:<br>
<br>
   1. Re: ayuda en progrma (Ezequiel Hernan Di Giorgi)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Wed, 29 Feb 2012 08:02:26 -0300<br>
From: Ezequiel Hernan Di Giorgi <<a href="mailto:hernan.digiorgi@gmail.com">hernan.digiorgi@gmail.com</a>><br>
To: "Lista de correo sobre C y C++" <<a href="mailto:cconclase@listas.conclase.net">cconclase@listas.conclase.net</a>><br>
Subject: Re: [C con Clase] ayuda en progrma<br>
Message-ID:<br>
        <<a href="mailto:CAHRx9sxsBcL%2BU%2BYko0a511F_BAJBCWJqRjj%2Bphg8-_GrjmJWRw@mail.gmail.com">CAHRx9sxsBcL+U+Yko0a511F_BAJBCWJqRjj+phg8-_GrjmJWRw@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
El 28 de febrero de 2012 22:50, jose omar leon luna <<a href="mailto:gyakuza@gmail.com">gyakuza@gmail.com</a>>escribió:<br>
<br>
> podrian ayudarme tengo el siguiente codigo y me piden que lo compile y<br>
> encientre los errores, corrija y describa como es que funciona pero no le<br>
> encuentro como sobre todo cuando guarda los datos en el registro c del<br>
> arreglo y en donde pide buscar al perro por la clave, podrian checarlo<br>
> gracias, mi correo es <a href="mailto:gyakuza@gmail.com">gyakuza@gmail.com</a> po si no sale con el comentario:<br>
><br>
> #include <stdio.h><br>
><br>
> #include <stdlib.h><br>
><br>
> #include <conio.h><br>
><br>
> main(){<br>
><br>
> /* Declaración del arreglo de tipo estructura perro */<br>
><br>
> struct perro{<br>
><br>
> char fecha[10];<br>
><br>
> char raza[30];<br>
><br>
> char color[50];<br>
><br>
> char nombre[30];<br>
><br>
> int edad;<br>
><br>
> float peso;<br>
><br>
> } perros[100];<br>
><br>
> int c=0, op, clave;<br>
><br>
> do{ /* Inicio del ciclo que imprime el menú*/<br>
><br>
> printf( "\n----------------------------------------\n");<br>
><br>
> printf( "\nRefugio para perros -Ladrido Feliz- \n");<br>
><br>
> printf( "\n----------------------------------------\n");<br>
><br>
> printf( "1) Registrar un perro \n");<br>
><br>
> printf( "2) Buscar un perro \n");<br>
><br>
> printf( "3) Salir \n");<br>
><br>
> printf( "Elige una opci%cn:",162 );<br>
><br>
> scanf("%d",&op);<br>
><br>
> switch (op){<br>
><br>
> case 1: /*Opción Registrar perro */<br>
><br>
> printf( "\n------------------------------\n");<br>
><br>
> if(c>=100) /* Verifica si hay espacio */<br>
><br>
> printf("El refugio esta lleno\n");<br>
><br>
> else{<br>
><br>
> /*Si hay espacio pide los datos del perro y los guarda en el registro c<br>
> del arreglo */<br>
><br>
> printf( "Ingresa los datos del perro:");<br>
><br>
> printf( "Clave:%.3d\n", &c);<br>
><br>
> printf( "fecha de ingreso[dd/mm/aa]: ");<br>
><br>
> scanf( "%s", perros[c].fecha);<br>
><br>
> printf( "nombre: ");<br>
><br>
> fflush(stdin);<br>
><br>
> gets( perros[c].nombre);<br>
><br>
> printf( "color: ");<br>
><br>
> gets( perros[c].color);<br>
><br>
> printf( "raza: ");<br>
><br>
> gets( perros[c].raza);<br>
><br>
> printf( "edad: ");<br>
><br>
> scanf("%d" ,&perros[c].edad);<br>
><br>
> printf( "peso: ");<br>
><br>
> scanf("%f" ,&perros[c].peso);<br>
><br>
> c++;<br>
><br>
> }<br>
><br>
> break;<br>
><br>
> case 2: /* Opción buscar perro */<br>
><br>
> printf( "\n-------------------------------\n");<br>
><br>
> printf( "Clave: ");<br>
><br>
> scanf("%d",&clave);<br>
><br>
> /* verifica que la clave sea válida */<br>
><br>
> while(clave>=100 || clave <0){<br>
><br>
> /* Imprime los datos del perro correspondiente a la clave */<br>
><br>
> printf( "nombre:%s\n",perros[clave].nombre);<br>
><br>
> printf( "fecha de ingreso: %s\n", perros[clave].fecha);<br>
><br>
> printf( "color: %s\n", perros[clave].color);<br>
><br>
> printf( "raza: %s\n", perros[clave].raza);<br>
><br>
> printf( "edad: %d a%cos\n", perros[clave].edad,164);<br>
><br>
> printf( "peso: %.2f kilos\n", perros[clave].peso);<br>
><br>
> }<br>
><br>
> break;<br>
><br>
> case 3: /* Caso salir, no hace nada */<br>
><br>
> break;<br>
><br>
> default: /* Caso opción inválida */<br>
><br>
> printf( "Opcion no valida\n");<br>
><br>
> }<br>
><br>
> }while (op!=3); /* El ciclo do-while se repite mientras la opción no sea<br>
> salir (3) */<br>
><br>
> }<br>
> _______________________________________________<br>
> Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
> <a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
> Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
><br>
<br>
<br>
Hola amigo, CREO que arregle tu codigo, pero ahi esta... a mi no me da<br>
errores, lo compile con el gcc, agrege un perrito y lo vi. Si sigue sin<br>
funcionar avisame.<br>
Ahaa, algo bonito seria que escribas con identacion, osea que no sea todo<br>
en la misma linea. Yo identee a mano  las partes que modifique. FIjate los<br>
comentarios. BYE.<br>
<br>
<br>
#include <stdio.h><br>
<br>
#include <stdlib.h><br>
<br>
//Existiendo tantas librerias portables por que esta!! solo funciona en<br>
windows,<br>
//Y lo mejor es q no la usas.<br>
//#include <conio.h><br>
<br>
main(){<br>
<br>
/* Declaración del arreglo de tipo estructura perro */<br>
<br>
//Recomiendo declarar los struct fuera del main, para que puedan ser vistos<br>
por otras funciones<br>
struct perro{<br>
<br>
char fecha[10];<br>
<br>
char raza[30];<br>
<br>
char color[50];<br>
<br>
char nombre[30];<br>
<br>
int edad;<br>
<br>
float peso;<br>
<br>
} perros[100];<br>
<br>
int c=0, op, clave;<br>
<br>
do{ /* Inicio del ciclo que imprime el menú*/<br>
<br>
printf( "\n----------------------------------------\n");<br>
<br>
printf( "\nRefugio para perros -Ladrido Feliz- \n");<br>
<br>
printf( "\n----------------------------------------\n");<br>
<br>
printf( "1) Registrar un perro \n");<br>
<br>
printf( "2) Buscar un perro \n");<br>
<br>
printf( "3) Salir \n");<br>
<br>
printf( "Elige una opci%cn:",162 );<br>
<br>
scanf("%d",&op);<br>
<br>
<br>
switch (op){<br>
<br>
  case 1: /*Opción Registrar perro */<br>
<br>
    printf( "\n------------------------------\n");<br>
<br>
    if(c>=100) /* Verifica si hay espacio */<br>
      printf("El refugio esta lleno\n");<br>
<br>
    else{<br>
<br>
      /*Si hay espacio pide los datos del perro y los guarda en el registro<br>
c del arreglo */<br>
<br>
      printf( "Ingresa los datos del perro:");<br>
<br>
      //%d espera tipo int y no int*, lo que quiere decir es q le estas<br>
mandando un puntero donde no va<br>
      printf( "Clave:%.3d\n", /*&c*/c);<br>
<br>
      printf( "fecha de ingreso[dd/mm/aa]: ");<br>
<br>
      scanf( "%s", perros[c].fecha); //Usa este para mi gusto (no acepta<br>
espacios, eso si jejeje)<br>
<br>
      printf( "nombre: ");<br>
<br>
      fflush(stdin);//Quieres limpiar el buffer? pero si luego...<br>
<br>
      gets( perros[c].nombre); //Capturas lo que hay en el, osea nada.<br>
<br>
      printf( "color: ");<br>
<br>
      gets( perros[c].color);<br>
<br>
      printf( "raza: ");<br>
<br>
      gets( perros[c].raza);<br>
<br>
      printf( "edad: ");<br>
<br>
      scanf("%d" ,&perros[c].edad);<br>
<br>
      printf( "peso: ");<br>
<br>
      scanf("%f" ,&perros[c].peso);<br>
<br>
      c++;<br>
<br>
    }<br>
<br>
break;<br>
<br>
  case 2: /* Opción buscar perro */<br>
<br>
    printf( "\n-------------------------------\n");<br>
<br>
    printf( "Clave: ");<br>
<br>
    scanf("%d",&clave);<br>
<br>
    /* verifica que la clave sea válida */<br>
<br>
    //La condicion es terrible, primero que es un while, lo que ara es<br>
iniciar un ciclo,<br>
    //osea MIENTRAS la condicion se repita, hace tal cosa. Bueno... pero tu<br>
quieres mostrar<br>
    //un solo perro y no varios.<br>
    //Segundo mientras sea mayor a 100? no tienes mayores a cien ni tampoco<br>
menores a 0 :)<br>
    //while(clave>=100 || clave <0){<br>
<br>
    //Ademas te puede dar fallo de segmentacion si accedes a perros[100],<br>
ya que puedes acceder<br>
    //desde perror[0] a perros [99]. Yo cuando aprendi estas cosas lo hice<br>
con java.<br>
    //Te recomiendo java por su simpleza, y por que "cada error te avisa",<br>
no es tan asi en c<br>
    if (clave<100 || clave>=0) {<br>
      /* Imprime los datos del perro correspondiente a la clave */<br>
<br>
      printf( "nombre:%s\n",perros[clave].nombre);<br>
<br>
      printf( "fecha de ingreso: %s\n", perros[clave].fecha);<br>
<br>
      printf( "color: %s\n", perros[clave].color);<br>
<br>
      printf( "raza: %s\n", perros[clave].raza);<br>
<br>
      printf( "edad: %d a%cos\n", perros[clave].edad,164);<br>
<br>
      printf( "peso: %.2f kilos\n", perros[clave].peso);<br>
<br>
    }<br>
<br>
break;<br>
<br>
case 3: /* Caso salir, no hace nada */<br>
<br>
break;<br>
<br>
default: /* Caso opción inválida */<br>
<br>
printf( "Opcion no valida\n");<br>
<br>
}<br>
<br>
}while (op!=3); /* El ciclo do-while se repite mientras la opción no sea<br>
salir (3) */<br>
<br>
}<br>
------------ próxima parte ------------<br>
Se ha borrado un adjunto en formato HTML...<br>
URL: <<a href="http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120229/059a9016/attachment-0001.html" target="_blank">http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120229/059a9016/attachment-0001.html</a>><br>


<br>
------------------------------<br>
<br>
_______________________________________________<br>
Cconclase mailing list<br>
<a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
<br>
<br>
Fin de Resumen de Cconclase, Vol 70, Envío 1<br>
********************************************<br>
</blockquote></div><br>