Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2
Ejemplo
Acceso a los elementos
void main( ) {
struct persona { struct persona empleado;
• Para dirigirnos a un campo de una estructura printf(“ingrese nombre”);
int edad;
existe un operador que relaciona al nombre scanf(“%s”,empleado.nombre);
float estatura, peso;
de ella con un campo determinado, este char nombre [50]; printf(“ingrese edad”);
operador es el punto. char sexo; scanf(“%d”,&empleado.edad);
• Su sintaxis es }; printf(“ingrese estatura”);
scanf(“%f”,&empleado.estatura);
Nombre_estructura. nombre_campo
printf(“ingrese peso”);
• Ejemplo scanf(“%f”,&empleado.peso);
gente1.edad=30; gente1.peso=80.5; printf(“ingrese sexo (M o F)”);
scanf(“%c”,&empleado.sexo);
printf(“ingrese nombre”); }
struct alumno {
char nombre [50];
char rol[12]; void main() {
Ejemplo int exa1, exa2, ex3; struct alumno alum_prg;
float prom; printf(“ingrese nombre”);
}; scanf(“%s”,alum_prg.nombre);
• Desarrollar un programa que utilice la definición del
tipo alumno que se muestra abajo, permita llenar los printf(“ingrese rol”);
datos y calcular su promedio de notas, e informar por scanf(“%s”,alum_prg.rol);
pantalla si aprobó o no. printf(“ingrese los 3 examenes”);
struct alumno { scanf(“%d %d %d”, &alum_prg.exa1,
&alum_prg.exa2, &alum_prg.exa3);
char nombre [50];
alum_prg.prom=(alum_prg.exa1+
char rol[12]; alum_prg.exa2+ alum_prg.exa3)/3;
int examen1, examen2, examen3; if(alum_prg.prom>=55)
float promedio; printf(“aprobado”);
} else
printf(“reprobado”);
}
3
Un arreglo dentro de una
struct coord{
estructura int x, y;
• Dentro de una estructura podemos tener no solo datos };
simples, sino tipo de datos estructurados e incluso struct datos{ int main( ){
otras estructuras float velocidad; struct datos movil;
struct coord{ int eventos[20]; int i;
int x, y; struct coord posicion; movil.velocidad=1.45;
}; }; movil.posicion.x=3;
Struct datos{ movil.posicion.y=7;
float velocidad; for(i=0; i<20; i++)
int eventos[20]; movil. eventos[i]=i;
struct coord posicion;
}
};
Año
autos (unos 50), no sólo la de uno. Ante esto podríamos crear 50 printf("Ingrese nº serie marca año y costo del vehiculo"); costo
scanf("%d", &stock[i].num_serie);
variables y llenarlas con información. Pero si analizamos, tenemos scanf("%s", stock[i].marca);
50 variables que pueden conformar una colección de datos de un
mismo tipo, definición de: ARREGLO
scanf("%d",&stock[i].anio);
scanf("%f", &stock[i].costo); ...
}
for(i=1;i<50;i++)
De esta manera se llega a un Arreglo de Estructuras: printf("%d %s %d %f", stock[i].num_serie, stock[i].marca, stock[i].anio, stock[i].costo );
Num_serie
return 0;
struct vehiculo inventario[50]; 49 Año
Marca
}
costo
4
Ejercicio Ejercicio
• Una librería desea almacenar sus productos en un struct alumno {
arreglo de registros. Cada registro debe incluir los char nombre [30];
Se requiere almacenar la información de un
campos título, autor, SDBN (código), precio y char rol [12];
curso de a=10 alumnos al arreglo de registros int nota[n];
stock. Diseñe un programa C que permita realizar que se muestra en un costado. A cada alumno float promedio;
las siguientes operaciones: se le deben ingresar las n=3 notas, y luego } curso[a];
– Ingresar una partida de 100 libros calcular su promedio.
Se pide desarrollar un programa que:
– Encontrar un libro a partir de un código ISBN - permita el ingreso de todos los datos del alumno, las 3 notas, y se le
ingresado por el usuario, mostrando el título, autor, calcule promedio
- Mostrar por pantalla, nombre promedio, y además mostrar el promedio
precio y stock correspondiente.
del curso.