Ejercicios estructira con arrays

4
struct en C 1 HOJA DE EJERCICIOS PARA RESOLVER: STRUCT EN C 1. La información de todos los empleados de la empresa DATASYSTEM está almacenada en una variable de tipo struct llamada “empleado”. La información con que se cuenta de cada empleado es: nombre, sexo y sueldo. Por tanto se pide: Realizar un programa en C que lea en un array de estructuras los datos de los N trabajadores de la empresa y que imprima los datos del empleado con mayor y menor salario. Solución: #include<stdio.h> struct empleado { char nombre[30]; char sexo[12]; float salario; }; void main() { struct empleado emp[100]; int e,nemp,pmay,pmen; float mayor=0.0, menor=9999.0; printf("Introduzca el numero de empleados: "); scanf("%d",&nemp); for(e=0;e<nemp;e++) { printf("\n"); printf("Nombre[%d]: ",e+1); scanf("%s",emp[e].nombre); printf("Sexo[%d]: ",e+1); scanf("%s",emp[e].sexo); printf("Salario[%d]: ",e+1); scanf("%f",&emp[e].salario); if(emp[e].salario>mayor) { mayor=emp[e].salario; pmay=e; } if(emp[e].salario<menor) { menor=emp[e].salario; pmen=e; } } printf("\n\n%s es el trabajador con MAYOR salario\n",emp[pmay].nombre); printf("%s es el trabajador con MENOR salario\n",emp[pmen].nombre); }

Transcript of Ejercicios estructira con arrays

Page 1: Ejercicios estructira con arrays

struct en C

1

HOJA DE EJERCICIOS PARA RESOLVER: STRUCT EN C

1. La información de todos los empleados de la empresa DATASYSTEM está almacenada en una variable de tipo struct llamada “empleado”. La información con que se cuenta de cada empleado es: nombre, sexo y sueldo.

Por tanto se pide: Realizar un programa en C que lea en un array de estructuras los datos de los N trabajadores de la empresa y que imprima los datos del empleado con mayor y menor salario.

Solución: #include<stdio.h> struct empleado { char nombre[30]; char sexo[12]; float salario; }; void main() { struct empleado emp[100]; int e,nemp,pmay,pmen; float mayor=0.0, menor=9999.0; printf("Introduzca el numero de empleados: "); scanf("%d",&nemp); for(e=0;e<nemp;e++) { printf("\n"); printf("Nombre[%d]: ",e+1); scanf("%s",emp[e].nombre); printf("Sexo[%d]: ",e+1); scanf("%s",emp[e].sexo); printf("Salario[%d]: ",e+1); scanf("%f",&emp[e].salario); if(emp[e].salario>mayor) { mayor=emp[e].salario; pmay=e; } if(emp[e].salario<menor) { menor=emp[e].salario; pmen=e; } } printf("\n\n%s es el trabajador con MAYOR salario\n",emp[pmay].nombre); printf("%s es el trabajador con MENOR salario\n",emp[pmen].nombre); }

Page 2: Ejercicios estructira con arrays

struct en C

2

Ejemplo de Salida:

2. A partir de la declaración de las siguientes estructuras realice un programa en C que lea el array “ats” y devuelva los datos (nombre, país, deporte) del atleta que ha ganado mayor número de medallas.

struct datos {

char nombre[40]; char pais[25];

};

struct atleta {

char deporte[30]; struct datos pers; int nmedallas;

};

struct atleta ats[30];

Page 3: Ejercicios estructira con arrays

struct en C

3

Solución: //atletas.c #include<stdio.h> struct datos {

char nombre[40]; char pais[25];

}; struct atleta {

char deporte[30]; int nmedallas; struct datos pers;

}; //Array de Estructuras struct atleta ats[3]; void main() { int a,posmay,maynmed=0; for(a=0;a<3;a++) { printf("\n"); printf("Nombre[%d]: ",a+1); scanf("%s",ats[a].pers.nombre); printf("Pais[%d]: ",a+1); scanf("%s",ats[a].pers.pais); printf("Deporte[%d]: ",a+1); scanf("%s",ats[a].deporte); printf("Numero de Medallas[%d]: ",a+1); scanf("%d",&ats[a].nmedallas); } //nmed=ats[0].nmedallas; for(a=1;a<3;a++) { if(ats[a].nmedallas>maynmed) { posmay=a; maynmed=ats[a].nmedallas; } } printf("\n\t****DATOS DEL ATLETA CON MAYOR NUMERO DE MEDALLAS****\n"); printf("NOMBRE: %s\n",ats[posmay].pers.nombre); printf("PAIS: %s\n",ats[posmay].pers.pais); printf("DEPORTE: %s\n",ats[posmay].deporte); printf("NUMERO DE MEDALLAS: %d\n",ats[posmay].nmedallas); }

Page 4: Ejercicios estructira con arrays

struct en C

4

Ejemplo de Salida: