Universidad Tecnológica Nacional – Facultad Regional Tucumán Ingeniería Electrónica Asignatura: Informática I – 1R2 Trabajo Práctico N° 5 - Año 2015 OBJETIVOS: Que el alumno desarrolle programas básicos en C utilizando estructuras y haga un análisis de funcionamiento de los mismos. Para ello debe editar, compilar y linkear, obteniendo los ejecutables correspondientes de los problemas tipos suministrados. ACTIVIDADES A REALIZAR P.N° 1: Realizar un programa que muestre cómo asignar contenidos a una estructura y como asignar una estructura a otra estructura. #include <stdio.h> int main(void){ struct{ int a; int b; }x, y; x.a = 10; x.b = 20; y = x; /*asigna una estructura a otra*/ printf(“Contenido de y: %d %d”, y.a, y.b); return 0;} Tras la asignación, y.a e y.b contienen los valores 10 y 20, respectivamente. P.N°2: Realizar un programa en C que permita el ingreso y escritura de una estructura. #include <stdio.h> #include <conio.h> void main(){ clrscr(); struct datos{ int NRO_LEG; char NOMBRE[30];}; //Definición de una variable que contiene la estructura struct datos empleado; //Ingreso de datos printf("\nINGRESO DE LA ESTRUCTURA\n"); printf("Ingrese el Nº de Legajo: "); scanf("%d",&empleado.NRO_LEG); flushall(); /* Vacía la memoria intermedia o buffer del teclado*/ printf("Ingrese el Nombre: "); gets(empleado.NOMBRE); 1/5 Universidad Tecnológica Nacional – Facultad Regional Tucumán Ingeniería Electrónica Asignatura: Informática I – 1R2 Trabajo Práctico N° 5 - Año 2015 //Impresión por pantalla printf("\nESTRUCTURA INGRESADA\n"); printf("Legajo Nro %d",empleado.NRO_LEG); printf("\nNombre del Empleado: "); puts(empleado.NOMBRE); getch();} P.N°3: Realizar un programa en C que permita el ingreso y escritura de 3 estructuras. #include <stdio.h> #include <conio.h> void main(){ clrscr(); struct datos{ int NRO_LEG; char NOMBRE[30];}; //Definición de una variable que contiene la estructura struct datos empleado[3]; int i; //Ingreso printf("\nINGRESO DE LA ESTRUCTURA\n"); for (i=0; i<3; i++){ printf("Ingrese el N§ de Legajo: "); scanf("%d",&empleado[i].NRO_LEG); flushall(); printf("Ingrese el Nombre: "); gets(empleado[i].NOMBRE);} //Impresión por pantalla printf("\nESTRUCTURA INGRESADA\n"); for (i=0; i<3; i++){ printf("Legajo Nro %d",empleado[i].NRO_LEG); printf("\nNombre del Empleado: "); puts(empleado[i].NOMBRE);} getch();} P.N° 4: Realizar un programa en C que permita el ingreso y escritura de 3 estructuras, con omisión de la etiqueta “datos”. #include <stdio.h> #include <conio.h> void main(){ clrscr(); struct { int NRO_LEG; 2/5 Universidad Tecnológica Nacional – Facultad Regional Tucumán Asignatura: Informática I – 1R2 Ingeniería Electrónica Trabajo Práctico N° 5 - Año 2015 char NOMBRE[30];}empleado[3]; //Definición de una variable que contiene la estructura int i; //Ingreso printf("\nINGRESO DE LA ESTRUCTURA\n"); for (i=0; i<3; i++){ printf("Ingrese el N§ de Legajo: "); scanf("%d",&empleado[i].NRO_LEG); flushall(); printf("Ingrese el Nombre: "); gets(empleado[i].NOMBRE);} //Escritura printf("\nESTRUCTURA INGRESADA\n"); for (i=0; i<3; i++){ printf("Legajo N§ %d",empleado[i].NRO_LEG); printf("\nNombre del Empleado: "); puts(empleado[i].NOMBRE);} getch();} P.N° 5: Realizar un programa en C que permita el ingreso y escritura de 3 estructuras, definiendo la estructura fuera de “main()”. #include <stdio.h> #include <conio.h> struct { int NRO_LEG; char NOMBRE[30];}empleado[3]; void main(){ clrscr(); //Definición de una variable que contiene la estructura int i; //Ingreso printf("\nINGRESO DE LA ESTRUCTURA\n"); for (i=0; i<3; i++){ printf("Ingrese el N§ de Legajo: "); scanf("%d",&empleado[i].NRO_LEG); flushall(); printf("Ingrese el Nombre: "); gets(empleado[i].NOMBRE);} //Escritura printf("\nESTRUCTURA INGRESADA\n"); for (i=0; i<3; i++){ printf("Legajo N§ %d",empleado[i].NRO_LEG); printf("\nNombre del Empleado: "); puts(empleado[i].NOMBRE);} 3/5 Universidad Tecnológica Nacional – Facultad Regional Tucumán Asignatura: Informática I – 1R2 Ingeniería Electrónica Trabajo Práctico N° 5 - Año 2015 getch();} P.N° 5: Realizar un programa en C que permita el ingreso y escritura de 3 estructuras, utilizando estructuras anidadas. #include <stdio.h> #include <conio.h> struct fecha{ int dia; int mes; int anio;}; struct { int NRO_LEG; char NOMBRE[30]; struct fecha FEC_ING;}empleado[3]; void main(){ clrscr(); //Definición de una variable que contiene la estructura int i; //Ingreso printf("\nINGRESO DE LA ESTRUCTURA\n"); for (i=0; i<3; i++){ printf("Ingrese el N§ de Legajo: "); scanf("%d",&empleado[i].NRO_LEG); flushall(); printf("Ingrese el Nombre: "); gets(empleado[i].NOMBRE); printf("\n FECHA DE INGRESO: "); printf("\n Dia : "); scanf("%d", &empleado[i].FEC_ING.dia); printf("Mes : "); scanf("%d", &empleado[i].FEC_ING.mes); printf("A¤o : "); scanf("%d", &empleado[i].FEC_ING.anio);} //Escritura clrscr(); printf("\nESTRUCTURA INGRESADA\n"); for (i=0; i<3; i++){ printf("\nLegajo N§ %d",empleado[i].NRO_LEG); printf("\nNombre del Empleado: "); puts(empleado[i].NOMBRE); printf("\n FECHA DE INGRESO:"); printf("\n Dia : %d", empleado[i].FEC_ING.dia); printf("\n Mes : %d", empleado[i].FEC_ING.mes); 4/5 Universidad Tecnológica Nacional – Facultad Regional Tucumán Ingeniería Electrónica Asignatura: Informática I – 1R2 Trabajo Práctico N° 5 - Año 2015 printf("\n A¤o : %d", empleado[i].FEC_ING.anio);} getch();} ALUMNO : ................................ ALUMNO : ................................ FECHA DE INICIO: 16/10/15 FECHA DE PRESENTACIÓN: 06/11/15 5/5