• Viernes 8 de Noviembre de 2024, 12:29

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - kizami

Páginas: [1]
1
C/C++ / Me Sobreescribe Los Datos
« en: Lunes 10 de Septiembre de 2007, 04:22 »
Hola amigos, espero que me puedan ayudar con un problema que tengo:

Hice un programa que captura los datos de 5 empleados donde debe incluir nombre, apellido paterno, apellido materno y datos de los 3 trabajos mas recientes en los que ha laborado donde debe de especificarse nombre de la empresa, del jefe y fecha de inicio y final del trabajo.

Esto lo hice por medio de estructuras: una para el empleado y sus datos, otra para el trabajo y una ultima para la fecha.

El problema es que me sobrescribe los datos del trabajo y me despliega los ingresados en el ultimo empleado para todos los demas.

Aqui el codigo:

Código: Text
  1.  
  2. #include<stdio.h>
  3. #include<conio.h>
  4. #include<string.h>
  5. #include<dos.h>
  6. #include<iostream.h>
  7.  
  8. int x,y;
  9.  
  10.  
  11.   struct fecha{   //estructura para fecha
  12.     int dia,mes,ano;
  13.     }feci,fect;
  14.  
  15.  
  16.   struct trabajo{     //estructura para indicar los trabajos del empleado
  17.     char nomempr[30],nomjef[30];
  18.     struct fecha pertrab;
  19.     }trab[3];
  20.  
  21.        struct empleado{     //estructura para datos del empleado
  22.     char nombre[15],apepat[15],apemat[15];
  23.     struct trabajo work;
  24.     }emp[5];
  25.  
  26.  
  27.  
  28.  
  29. void main (void)     //comienza programa principal
  30. {
  31.  
  32.   clrscr();
  33.    
  34.  
  35.         for(x=1;x<=5;x++)
  36.   {
  37.   fflush(stdin);
  38.   printf("Datos del empleado: %d ",x);
  39.   printf("\n\nNombre del empleado: ");
  40.   gets(emp[x].nombre);
  41.   printf("\nApellido paterno del empleado: ");
  42.   gets(emp[x].apepat);
  43.   printf("\nApellido materno del empleado: ");
  44.   gets(emp[x].apemat);
  45.   for(y=1;y<=3;y++)
  46.   {
  47.   fflush(stdin);
  48.   printf("\n\nDatos del trabajo: %d",y);
  49.   printf("\n\nNombre de la empresa donde trabajo: ");
  50.   gets(trab[y].nomempr);
  51.   printf("\nNombre del jefe para el que trabajaba: ");
  52.   gets(trab[y].nomjef);
  53.   printf("\n\nFecha en que inici¢ a laborar: \n");
  54.   printf("\nDia: ");
  55.   scanf("%d",&feci.dia);
  56.   printf("\nMes: ");
  57.   scanf("%d",&feci.mes);
  58.   printf("\nAno: ");
  59.   scanf("%d",&feci.ano);
  60.   printf("\n\nFecha en que termin¢ de laborar: \n");
  61.   printf("\nDia: ");
  62.   scanf("%d",&fect.dia);
  63.   printf("\nMes: ");
  64.   scanf("%d",&fect.mes);
  65.   printf("\nAno: ");
  66.   scanf("%d",&fect.ano);
  67.   }
  68.        getch();
  69.        clrscr();
  70.        }
  71.      
  72.   for(x=1;x<=5;x++)
  73.   {
  74.   printf("Los datos capturados fueron: \n");
  75.   printf("\n\nNombre del empleado: ");
  76.   puts(emp[x].nombre);
  77.   printf("\nApellido paterno del empleado: ");
  78.   puts(emp[x].apepat);
  79.   printf("\nApellido materno del empleado: ");
  80.   puts(emp[x].apemat);
  81.   for(y=1;y<=3;y++)
  82.   {
  83.   printf("\n\nDatos del trabajo: %d",y);
  84.   printf("\n\nNombre de la empresa donde trabajo: ");
  85.   puts(trab[y].nomempr);
  86.   printf("\nNombre del jefe para el que trabajaba: ");
  87.   puts(trab[y].nomjef);
  88.  
  89.   printf("\nFecha en que inici¢ a laborar: %d/%d/%d",feci.dia,feci.mes,feci.ano);
  90.   printf("\nFecha en que termin¢ de laborar: %d/%d/%d",fect.dia,fect.mes,fect.ano);
  91.   }
  92.   getch();
  93.   clrscr();
  94.   }
  95.  
  96. }
  97.  
  98.  

Espero que me puedan ayudar

Páginas: [1]