[C con Clase] Resumen de Cconclase, Vol 70, Envío 1

gakusei yakuza gyakuza en gmail.com
Jue Mar 1 21:27:28 CET 2012


gracias giorgi tomere en cuenta tus sugerencias bay

El 1 de marzo de 2012 05:00, <cconclase-request en listas.conclase.net>escribió:

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


Más información sobre la lista de distribución Cconclase