Título: Programa de arreglo de estructuras en C Publicado por: daz08 en 5 Octubre 2014, 18:23 pm Buenos días, tengo este programa de estructuras con arreglos en C hecho en dev-c++. No me salen errores, pero al ejecutarlo no corre después de un punto y se cierra:
#include <stdio.h> #include <string.h> #include<conio.h> struct fecha { int dia, mes, anyo; }; typedef struct { char nombre[30], sexo[5]; fecha nacimiento; float sueldo; }empleados; int i,p,d,m,a; float may, men; char nbr[30], sx[5]; void laf (); main() { printf("Cuantos empleados son? "); scanf("%d", p); empleados n[p]; for(i=1;i<=p;i++) { printf("\nEcriba el nombre del empleado %d :",i); scanf("%s",&n.nombre); printf("\nEscriba su fecha de nacimiento:"); printf("\nDia: "); scanf("%d",&n.nacimiento.dia); printf("\nMes: "); scanf("%d",&n.nacimiento.mes); printf("\nAnyo: "); scanf("%d",&n.nacimiento.anyo); printf("\nEscriba su sexo (f/m): "); scanf("%s",&n.sexo); printf("\nEscriba su sueldo: "); scanf("%f",&n.sueldo); } laf (); getch(); } void laf () { empleados n[p]; may=n[1].sueldo; for(i=1;i<=p;i++) { if(n.sueldo>may) { may=n.sueldo; strcpy(nbr,n.nombre); d=n.nacimiento.dia; m=n.nacimiento.mes; a=n.nacimiento.anyo; strcpy(sx,n.sexo); } } printf("\nEmpleado con mayor sueldo:\n\n "); printf("\nNombre: %s ",nbr); printf("\nFecha de nacimiento: "); printf("\nDia: %d ",d); printf("\nMes: %d ",m); printf("\nAnyo: %d ",a); printf("\nSexo: %s",sx); printf("\nSueldo: %f",may); men=n[1].sueldo; for(i=1;i<=p;i++) { if(n.sueldo<men) { men=n.sueldo; strcpy(nbr,n.nombre); d=n.nacimiento.dia; m=n.nacimiento.mes; a=n.nacimiento.anyo; strcpy(sx,n.sexo); } } printf("\nEmpleado con menor sueldo:\n\n "); printf("\nNombre: %s ",nbr); printf("\nFecha de nacimiento: "); printf("\nDia: %d ",d); printf("\nMes: %d ",m); printf("\nAnyo: %d ",a); printf("\nSexo: %s",sx); } El problema está en que se pare después de ingresar la cantidad de empleados. Agradecería cualquier sugerencia... Título: Re: Programa de arreglo de estructuras en C Publicado por: ThePinkPanther en 5 Octubre 2014, 21:51 pm Estas utilizando mal el scanf..
tenes una variable entera i .. int i y usas de la siguiente forma el scanf.. scanf("%d", p); , el segundo parámetro de scanf es la dirección de memoria . prueba así scanf("%d",&p); Modifico : perdón, una variable entera p. XD Título: Re: Programa de arreglo de estructuras en C Publicado por: daz08 en 5 Octubre 2014, 22:02 pm Estas utilizando mal el scanf.. Muchisímas gracias, de tanto codigo a veces uno se le olvidan cosas. De verdad gracias ;Dtenes una variable entera i .. int i y usas de la siguiente forma el scanf.. scanf("%d", p); , el segundo parámetro de scanf es la dirección de memoria . prueba así scanf("%d",&p); Modifico : perdón, una variable entera p. XD |