elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa de arreglo de estructuras en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa de arreglo de estructuras en C  (Leído 6,737 veces)
daz08

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Programa de arreglo de estructuras en C
« 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...


« Última modificación: 5 Octubre 2014, 19:00 pm por daz08 » En línea

ThePinkPanther

Desconectado Desconectado

Mensajes: 82



Ver Perfil
Re: Programa de arreglo de estructuras en C
« Respuesta #1 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


En línea

daz08

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Programa de arreglo de estructuras en C
« Respuesta #2 en: 5 Octubre 2014, 22:02 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
Muchisímas gracias, de tanto codigo a veces uno se le olvidan cosas. De verdad gracias  ;D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda. Problema con arreglo de estructuras.
Programación C/C++
Gorka82 1 3,303 Último mensaje 11 Julio 2010, 06:26 am
por Littlehorse
arreglo de estructuras
Programación C/C++
mapers 0 2,451 Último mensaje 11 Marzo 2011, 07:56 am
por mapers
Proyecto Arreglo con estructuras (struct) En C++
Programación C/C++
Antarezx 0 8,775 Último mensaje 26 Septiembre 2011, 00:26 am
por Antarezx
Problema Con Un Arreglo Dinamico De Estructuras [?]
Programación C/C++
Omar_2013 2 2,731 Último mensaje 2 Septiembre 2013, 19:21 pm
por Omar_2013
Ayuda, Arreglo de estructuras
Programación C/C++
NicoSanhueza 2 2,384 Último mensaje 14 Junio 2018, 19:41 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines