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)
| | |-+  Arreglos y estructuras en C. Ayuda.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Arreglos y estructuras en C. Ayuda.  (Leído 3,283 veces)
Xgirl12

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Arreglos y estructuras en C. Ayuda.
« en: 7 Abril 2013, 06:59 am »

Hola de nuevo.

Tengo un pequeño problemita, digo pequeño porque ya es al final con while. Esté es el código que estoy utilizando y espero que me ayuden porque ya le hice unas cosas por las que tampoco corría, pero ya nada más me falta este detalle y pues no sé como hacerle. Espero sus comentarios y saludos a todos.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. main(){
  5. /* Declaración del arreglo de tipo estructura perro */
  6. struct perro{
  7. char fecha[10];
  8. char raza[30];
  9. char color[50];
  10. char nombre[30];
  11. int edad;
  12. float peso;
  13. } perros[100];
  14. int c=0, op, clave;
  15. do{ /* Inicio del ciclo que imprime el menú*/
  16. printf( "\n----------------------------------------\n");
  17. printf( "\n Refugio para perros -Ladrido Feliz- \n" );
  18. printf( "\n----------------------------------------\n");
  19. printf( "1) Registrar un perro \n" );
  20. printf( "2) Buscar un perro \n" );
  21. printf( "3) Salir \n" );
  22. printf( "Elige una opcion:",162 );
  23. scanf("%d",&op);
  24. switch (op){
  25. case 1: /*Opcion Registrar perro */
  26. printf( "\n------------------------------\n");
  27. if(c>=100) /* Verifica si hay espacio */
  28. printf("El refugio esta lleno\n");
  29. else{
  30. /*Si hay espacio pide los datos del perro y
  31.  Y los guarda en el registro c del arreglo */
  32. printf( "Ingresa los datos del perro:");
  33. printf( "Clave:%.3d\n", c);
  34. printf( "fecha de ingreso[dd/mm/aa]: ");
  35. scanf( "%s", perros[c].fecha);
  36. printf( "nombre: ");
  37. fflush(stdin);
  38. gets( perros[c].nombre);
  39. printf( "color: ");
  40. gets( perros[c].color);
  41. printf( "raza: ");
  42. gets( perros[c].raza);
  43. printf( "edad: ");
  44. scanf("%d" ,&perros[c].edad);
  45. printf( "peso: ");
  46. scanf("%f" ,&perros[c].peso);
  47. c++;
  48. }
  49. break;
  50. case 2: /* Opcion buscar perro */
  51. printf( "\n-------------------------------\n");
  52. printf( "Clave: ");
  53. scanf("%d",&clave);
  54. /* verifica que la clave sea válida */
  55. while(clave>=100 || clave <0){
  56. /* Imprime los datos del perro correspondiente
  57.  a la clave */
  58. printf("nombre:%s\n",perros[clave].nombre);
  59. printf( "fecha de ingreso: %s\n");
  60. perros[clave].fecha;
  61. printf( "color: %s\n", perros[clave].color);
  62. printf( "raza: %s\n", perros[clave].raza);
  63. printf( "edad: %d a%cos\n",
  64. perros[clave].edad,164);
  65. printf( "peso: %.2f kilos\n",
  66. perros[clave].peso);
  67. break;
  68. case 3: /* Caso salir, no hace nada */
  69. break;
  70. default: /* Caso opcion invalida */
  71. printf( "Opcion no valida\n");
  72. }
  73. }while (op!=3) /* El ciclo do-while se repite mientras la
  74.  opción no sea salir (3) */
  75. }




En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Arreglos y estructuras en C. Ayuda.
« Respuesta #1 en: 7 Abril 2013, 16:11 pm »

por queeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeé?

fijate lo que hice fue hacer que compile en mi PC, NADA más, porque tu código no compilaba.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. int main(){
  5.  
  6. /* Declaraci¨®n del arreglo de tipo estructura perro */
  7. struct perro{
  8. char fecha[10];
  9. char raza[30];
  10. char color[50];
  11. char nombre[30];
  12. int edad;
  13. float peso;
  14. } perros[100];
  15.  
  16. int c=0, op, clave;
  17.  
  18. do{ /* Inicio del ciclo que imprime el men¨²*/
  19.  
  20. printf( "\n----------------------------------------\n");
  21. printf( "\n Refugio para perros -Ladrido Feliz- \n" );
  22. printf( "\n----------------------------------------\n");
  23. printf( "1) Registrar un perro \n" );
  24. printf( "2) Buscar un perro \n" );
  25. printf( "3) Salir \n" );
  26. printf( "Elige una opcion:",162 );
  27. scanf("%d",&op);
  28. switch (op){
  29.  
  30. case 1: /*Opcion Registrar perro */
  31. printf( "\n------------------------------\n");
  32. if(c>=100) /* Verifica si hay espacio */
  33. printf("El refugio esta lleno\n");
  34. else{
  35. /*Si hay espacio pide los datos del perro y
  36. Y los guarda en el registro c del arreglo */
  37. printf( "Ingresa los datos del perro:");
  38. printf( "Clave:%.3d\n", c);
  39. printf( "fecha de ingreso[dd/mm/aa]: ");
  40. scanf( "%s", perros[c].fecha);
  41. printf( "nombre: ");
  42. fflush(stdin);
  43. gets( perros[c].nombre);
  44. printf( "color: ");
  45. gets( perros[c].color);
  46. printf( "raza: ");
  47. gets( perros[c].raza);
  48. printf( "edad: ");
  49. scanf("%d" ,&perros[c].edad);
  50. printf( "peso: ");
  51. scanf("%f" ,&perros[c].peso);
  52. c++;
  53. }
  54. break;
  55. case 2: /* Opcion buscar perro */
  56. printf( "\n-------------------------------\n");
  57. printf( "Clave: ");
  58. scanf("%d",&clave);
  59. /* verifica que la clave sea v¨¢lida */
  60. while(clave>=100 || clave <0){
  61. /* Imprime los datos del perro correspondiente
  62. a la clave */
  63. printf("nombre:%s\n",perros[clave].nombre);
  64. printf( "fecha de ingreso: %s\n");
  65. perros[clave].fecha;
  66. printf( "color: %s\n", perros[clave].color);
  67. printf( "raza: %s\n", perros[clave].raza);
  68. printf( "edad: %d a%cos\n",
  69. perros[clave].edad,164);
  70. printf( "peso: %.2f kilos\n",
  71. perros[clave].peso);
  72. }
  73. break;
  74. case 3: /* Caso salir, no hace nada */
  75. break;
  76. default: /* Caso opcion invalida */
  77. printf( "Opcion no valida\n");
  78. break;
  79. }
  80. }while (op!=3); /* El ciclo do-while se repite mientras la
  81. opci¨®n no sea salir (3) */
  82.  
  83. return 0;
  84. }
  85.  

por qué usan con IO ?

probá poner tu código en este compilador online, está en modo C
http://www.compileonline.com/compile_c_online.php

Saludos




En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Arreglos y estructuras en C. Ayuda.
« Respuesta #2 en: 8 Abril 2013, 00:03 am »

Citar
Tengo un pequeño problemita, digo pequeño porque ya es al final con while....
revisa los cierres de las llaves, tenes algunas mal y faltan... Esa forma de declarar la estructura creo q ya no se usa(raro q los hayas creado asi); ademas pasarlas a las funciones como parametro es bastante moleste. Te conviene crearlas de forma global


Saludos
En línea

Ahorrate una pregunta, lee el man
Xgirl12

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Arreglos y estructuras en C. Ayuda.
« Respuesta #3 en: 11 Abril 2013, 06:52 am »

Gracias a ambos por sus consejos. Checando y les comento.
En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Arreglos y estructuras en C. Ayuda.
« Respuesta #4 en: 12 Abril 2013, 02:09 am »

La estructura te conviene hacerlo convencionalmente así:

Código:
struct perro{	
      char fecha[10];
      char raza[30];
      char color[50];
      char nombre[30];
      int edad;
      float peso;
};

int main()
{

     struct perro perros[100];
...

Es más profesional, así ves que separo lo que es un tipo de dato personalizado que debería ser global (aunque puede ser local), y lo separo de lo que es la declaración de una variable local o un conjunto de variables (un array en este caso) dentro de la función 'main'.
La variable es del tipo de tu estructura.
« Última modificación: 12 Abril 2013, 02:11 am por 85 » En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Xgirl12

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Arreglos y estructuras en C. Ayuda.
« Respuesta #5 en: 12 Abril 2013, 06:23 am »

Gracias 85 por contestar de nuevo. Si, se ve mejor como me dices. Entonces modifico unas cosas y comento que tal.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con arreglos.
Programación C/C++
acega 8 3,473 Último mensaje 6 Marzo 2013, 02:46 am
por rir3760
[Ayuda] Estructuras « 1 2 »
Programación C/C++
Zodiak98 10 5,318 Último mensaje 22 Agosto 2013, 16:56 pm
por do-while
Ayuda con estructuras de C
Programación C/C++
yonkikong 1 1,611 Último mensaje 25 Mayo 2015, 01:20 am
por Seyro97
Problema con arreglos, estructuras y funciones
Programación C/C++
ody532 3 2,437 Último mensaje 21 Abril 2017, 10:43 am
por MAFUS
‚Cómo manipular arreglos de estructuras?
Programación C/C++
diseho2880 1 1,934 Último mensaje 18 Mayo 2021, 04:14 am
por prosebas
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines