Practica sobre tipos enumerados, typedef y struct

Anuncio
Practica sobre tipos enumerados, typedef y struct
1. Dada la siguiente especificación:
TIPO REGISTRO ASIGNACIÓN =
REAL TRANSPORTE;
REAL COMIDA;
REAL VACACIONES;
FREGISTRO
TIPO REGISTRO DEDUCCIÓN =
REAL SEGURO;
REAL AH; //Ahorro Habitacional
FREGISTRO
REGISTRO EMPLEADO =
ENTERO CODIGO;
ENTERO ACTIVO;
CARACTER SEXO;
REAL SUELDO_HORA;
ENTERO HORAS_TRAB; ASIGNACIÓN AS; DEDUCCIÓN DE;
FREGISTRO
Realice un programa que permita:
a) Declarar una variable de tipo EMPLEADO.
b) Inicializar cada campo del registro.
c) Calcular el sueldo de un empleado activo, dado que ST = (SH * HT) + A – D, siendo las variables las
siguientes: ST = Sueldo Total, SH = Sueldo por Hora, HT = Horas Trabajadas, A = Asignaciones, D =
Deducciones
2. Usando tipos enumerados, arreglos y estructuras, dé definiciones de tipos para:
a) Días de la semana
b) Deportes en equipos
c) Meses del año
d) Defina arreglos de cada uno de estos tipos enumerados, inicializando los dias de la semana y meses de
nacimiento de sus parientes.
e) Escriba un trozo de código en C para determinar cuántos nacen un lunes y cuantos en enero.
3. Explique el significado de las siguientes declaraciones en lenguaje C (coloque comentarios):
// Cantidad de valores posibles para el sexo de los empleadoa #define NUM_SEX 2
// Cantidad de valores posibles para el estado civil de los empleados #define NUM_EDO 4
// Longitud máxima para un nombre en la aplicación #define LON_NOM 15
// Edad mínima de los empleados #define MIN_EDD 18
// Edad máxima de los empleados #define MAX_EDD 65
// Tipo para los géneros posibles de los empleados typedef enum {
Masculino, Femenino } SEXO;
// Tipo para estados civiles de los empelados typedef enum { Soltero, Casado, Viudo, Divorciado } ESTADO;
// Tipo para los nombres en la aplicación typedef char NOMBRE[LON_NOM+1];
// Tipo para las edades de los empleados typedef short EDAD;
// Tipo para el registro de un empleado
typedef struct { NOMBRE apellido; // Primer Apellido NOMBRE nombre; // Primer Nombre EDAD edad;
// Edad en años cumpeldos SEXO sexo; // Género del empleado ESTADO estado; // Estado
Civil
} EMPLEADO;
// Texto correspondiente a los valores de tipo SEXO (para entra y salida) const
char *sexo[NUM_SEX] = {"Masculino","Femenino"};
// Texto correspondiente a los valores de tipo ESTADO (para entra y salida) const char
*estado[NUM_EDO] = {"Soltero","Casado","Viudo","Divorciado"};
4. Realizar un programa que pregunte al usuario su número de cédula de identidad, primer nombre y
primer apellido, guardando estos datos en una variable de tipo estructurado. El programa debe imprimir
un mensaje con la información leída. La longitud máxima del nombre es de 12 caracteres, al igual que el
apellido. La cédula de identidad es un número entero.
5. Realizar un programa que permita al usuario ingresar siete fechas en formato DD/MM/AAAA y luego
presentarlas ordenadas ascendentemente. Para ello debe definir el tipo estructurado FECHA y usar un
arreglo con elementos de este tipo. Ayuda: En lenguaje C, si s1 y s2 son dos variables del mismo tipo
estructurado (struct), es válido hacer asignaciones del tipo s1=s2, lo cual copia todo el contenido de la
variable s2 en la variable s1.
6. Defina el tipo de datos FichaComUniv, el cual puede almacenar los datos de cualquiera de los miembros
de la Comunidad universitaria. Existen cuatro clases de miembros universitarios: Estudiantes,
Profesores, Obreros y Empleados. Para todos se almacenan datos personales como: cédula, nombres,
apellidos, edad, teléfono, dirección, sexo, número de hijos. Pero hay algunos datos que son propios a
cada clase, entre ellos:
• Para los estudiantes: carnet, carrera, número de créditos aprobados, número de créditos inscritos,
número de créditos reprobados, número de trimestres inscritos, índice académico
• Para los profesores: departamento académico al que pertenece, fecha de ingreso a la universidad,
cargo desempeñado (instructor, asistente, agregado, asociado, titular), dedicación (convencional,
integral o exclusiva), sueldo.
• Para los obreros: empresa contratista a la que pertenece, sueldo, categoría (I,II,III,IV,V,VI)
• Para los empleados: departamento administrativo al que pertenece, fecha de ingreso, sueldo, cargo.
Realice un programa que permita llenar los datos de una ficha. Use menues para seleccionar tipos
enumerados.
7. Proponga estructuras de datos que simulen las siguientes situaciones:
a) Información académica de un estudiante
b) Datos del mundial para una quiniela
c) Datos para juegos con niveles de preferencia
d) Dado los resultados de una quiniela calcule la puntuacion si: un score acertado son 3 puntos y un
resultado acertado representa 1 punto. Suponga una variable de tipo quiniela que tiene todos los resultados
de la fase eliminatoria.
Descargar