Practica 8. Tipos enumerados, typedef y struct

Anuncio
Departamento de Computación y Tecnologías de Información
Asignatura: Computación I. CI-2125
Practica 8. 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. 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.
•
3. 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 usando typedef colocando los
dias de la semana y meses de nacimiento de sus parientes.
e) Indique cuantos nacen un lunes y cuantos en enero.
4. Un consultorio medico realiza el diagnóstico de las posibles enfermedades que sufren sus
pacientes confrontando la información de los síntomas que presenta el paciente con
información de los síntomas que caracterizan las enfermedades por ellos registradas, Así, a
un paciente se le diagnostica una enfermedad si sus síntomas coinciden exactamente con
los registrados para esa enfermedad.
Considerando que dicho consultorio tiene caracterizadas a M enfermedades con a lo sumo
N síntomas cada una. Suponga que se tiene las siguientes definiciones de tipos y
declaraciones de variables:
#define
#define
#define
#define
#define
#define
TotalEnfermedades 100
TotalSintomas 50
LongNombre 20
LongEnfermedad 30
LongSintomas 20
NumeroPacientes 200
typedef struct {
char nombre[LongNombre];
char sexo;
char enfermedad[LongEnfermedad];
int cantidadSintomas;
char sintomas[TotalSintomas][LongSintomas];
} PACIENTE;
typedef struct {
char enfermedad[LongEnfermedad];
int cantidadSintomas;
char sintomas[TotalSintomas][LongSintomas];
} ENFERMEDAD;
PACIENTE pacientes[NumeroPacientes];
ENFERMEDAD SintomasEnfermedad[TotalEnfermedades];
Suponiendo que dichas variables ha sido inicializada. Escriba un trozo de código en
lenguaje C para determinar:
a) La enfermedad más frecuente.
b) Cantidad de pacientes con cada una de las enfermedades.
Descargar