[C con Clase] ayuda en progrma

jose omar leon luna gyakuza en gmail.com
Mie Feb 29 02:50:58 CET 2012


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) */
 
}


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