HOJA DE EJERCICIOS PARA RESOLVER: STRUCT EN C 1. La

Anuncio
struct en C
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);
}
1
struct en C
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];
2
struct en C
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);
}
3
struct en C
Ejemplo de Salida:
4
Descargar
Colecciones de estudio