Ejercicios estructira con arrays
-
Upload
wuiller-angel-maldonado -
Category
Education
-
view
46 -
download
12
Transcript of 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); }
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];
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); }
struct en C
4
Ejemplo de Salida: