Autor
|
Tema: Arreglos y estructuras en C. Ayuda. (Leído 3,291 veces)
|
Xgirl12
Desconectado
Mensajes: 27
|
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. #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( "\n Refugio para perros -Ladrido Feliz- \n" ); printf( "\n----------------------------------------\n"); printf( "1) Registrar un perro \n" ); printf( "2) Buscar un perro \n" ); printf( "Elige una opcion:",162 ); switch (op){ case 1: /*Opcion 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 Y los guarda en el registro c del arreglo */ printf( "Ingresa los datos del perro:"); printf( "fecha de ingreso[dd/mm/aa]: "); scanf( "%s", perros [c ]. fecha); scanf("%d" ,&perros [c ]. edad); scanf("%f" ,&perros [c ]. peso); c++; } break; case 2: /* Opcion buscar perro */ printf( "\n-------------------------------\n"); /* 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); perros[clave].edad,164); perros[clave].peso); break; case 3: /* Caso salir, no hace nada */ break; default: /* Caso opcion invalida */ printf( "Opcion no valida\n"); } }while (op!=3) /* El ciclo do-while se repite mientras la opción no sea salir (3) */ }
|
|
|
En línea
|
|
|
|
85
|
por queeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeé? fijate lo que hice fue hacer que compile en mi PC, NADA más, porque tu código no compilaba. #include <stdio.h> #include <stdlib.h> #include <conio.h> int 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( "\n Refugio 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 opcion:",162 ); scanf("%d",&op); switch (op){ case 1: /*Opcion 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 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: /* Opcion 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 opcion invalida */ printf( "Opcion no valida\n"); break; } }while (op!=3); /* El ciclo do-while se repite mientras la opci¨®n no sea salir (3) */ return 0; }
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.phpSaludos
|
|
|
En línea
|
|
|
|
durasno
Desconectado
Mensajes: 373
|
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
Mensajes: 27
|
Gracias a ambos por sus consejos. Checando y les comento.
|
|
|
En línea
|
|
|
|
85
|
La estructura te conviene hacerlo convencionalmente así: 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
|
|
|
|
Xgirl12
Desconectado
Mensajes: 27
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con arreglos.
Programación C/C++
|
acega
|
8
|
3,481
|
6 Marzo 2013, 02:46 am
por rir3760
|
|
|
[Ayuda] Estructuras
« 1 2 »
Programación C/C++
|
Zodiak98
|
10
|
5,339
|
22 Agosto 2013, 16:56 pm
por do-while
|
|
|
Ayuda con estructuras de C
Programación C/C++
|
yonkikong
|
1
|
1,622
|
25 Mayo 2015, 01:20 am
por Seyro97
|
|
|
Problema con arreglos, estructuras y funciones
Programación C/C++
|
ody532
|
3
|
2,460
|
21 Abril 2017, 10:43 am
por MAFUS
|
|
|
‚Cómo manipular arreglos de estructuras?
Programación C/C++
|
diseho2880
|
1
|
1,948
|
18 Mayo 2021, 04:14 am
por prosebas
|
|