Universidad de Antioquia Departamento de Ingeniería Electrónica y Telecomunicaciones
Informática I
ESTRUCTURAS
ESTRUCTURAS
En todos los programas deberá dar la información adecuada al usuario para su correcta ejecución.
Cada programa deberá ser desarrollado mediante FUNCIONES y ESTRUCTURAS. Recuerde
realizar el código y la presentación en pantalla de manera ordenada.
1. Una aplicación informática de un centro universitario dispone de la siguiente información sobre
un programa:
Por cada asignatura:
a) Código de asignatura (único de 4 dígitos).
b) Nombre de la asignatura.
c) Créditos.
Por cada profesor:
a) Nombre del profesor.
b) Años de experiencia.
c) Categoría (catedrático(1), titular(2), asociado(3) o ayudante(4)).
d) Código de asignatura.
A. Realizar un algoritmo en C que tome el nombre del profesor e imprima los años de
experiencia, la categoría y el código de la asignatura.
B. Realizar un algoritmo en C que tome el nombre de la asignatura e imprima el código de la
asignatura y el número de créditos.
C. A partir de las estructuras de datos adecuadas calcular el sueldo medio al año de los
profesores del centro. El sueldo base anual depende de la categoría:
a) Catedrático: 2000 euros
b) Titular: 1500 euros
c) Asociado: 1000 euros
d) Ayudante: 800 euros
D. A partir del nombre de la asignatura, obtener el nombre, años de experiencia y categoría del
profesor que imparte la asignatura. Devolverá FALSO si no se puede obtener la
información por cualquier circunstancia.
E. A partir del nombre del profesor, obtener el nombre, código y número de créditos de la
asignatura. Devolverá FALSO si no se puede obtener la información por cualquier
circunstancia.
2. Agenda telefónica. Diseña un programa C que gestione una agenda telefónica. Cada entrada de
la agenda contiene el nombre de una persona y hasta 3 números de teléfono. El programa
permitirá añadir nuevas entradas a la agenda y nuevos teléfonos a una entrada ya existente. El
menú del programa permitirá, además, borrar entradas de la agenda, borrar números de teléfono
concretos de una entrada o mostrar la lista de contactos. Las opciones disponibles de la agenda
telefónica se mostrarán en un menú.
Universidad de Antioquia Departamento de Ingeniería Electrónica y Telecomunicaciones
Informática I
ESTRUCTURAS
NOTA: Al momento de eliminar un contacto, no mostrar espacios en blanco en la lista, sino
que se debe hacer un corrimiento de los datos. Solo se sale de la agenda con una opción de
salida.
3. Números complejos: Diseñar e implementar, por medio de un menú, los siguientes
procedimientos para la manipulación de complejos:
Leer un complejo de teclado
Mostrar un complejo por pantalla
La magnitud de un complejo
El conjugado de un complejo
La suma de dos complejos
La diferencia de dos complejos
El producto de dos complejos
La división de dos complejos
Estructura del número complejo:
Typedef struct {
float real;
float imag;
}complejo;
4. Gestión de una colección de CDs: De cada CD almacenar los siguientes datos:
a) el título (una cadena con, a lo sumo, 80 caracteres),
b) el intérprete (una cadena con, a lo sumo, 40 caracteres),
c) la duración (en minutos y segundos – cree otra estructura para este campo),
d) el año de publicación.
El programa permitirá, por medio de un menú, efectuar las siguientes acciones:
Añadir un CD a la base de datos.
Listar toda la base de datos.
Listar los CDs de un intérprete.
Suprimir un CD dado su título y su intérprete.
Salir
5. Una empresa de transporte aéreo tiene un archivo con el siguiente diseño:
Descripción del campo Tipo campo Observaciones
Nombre de la ciudad de destino Alfanumérico Ciudades de Colombia
Valor del pasaje Numérico
Número de pasajeros que viajaron en
cada mes del año por ciudad destino.
Numérico Arreglo de doce (12)
elementos.
Hacer un algoritmo para hallar el total recaudado por transporte en la empresa.
a) ¿En cuál mes se recaudó más dinero en la empresa?. (Tomando en cuenta todas las ciudades
destino).
Universidad de Antioquia Departamento de Ingeniería Electrónica y Telecomunicaciones
Informática I
ESTRUCTURAS
b) ¿En cuál mes se recaudó menos dinero en la empresa?. (Tomando en cuenta todas las ciudades
destino).
c) Nombre de la ciudad de destino, número de pasajeros que viajaron en el año y valor recaudado
por transporte a esa ciudad destino.
d) ¿A cuál ciudad viajaron menos pasajeros en el año?.
e) ¿A cuál ciudad viajaron mas pasajeros en el año?.
f) Salir
NOTA: Hacer un arreglo de estructuras con al menos 5 ciudades destino y el arreglo debe ser
manejado con apuntadores a estructuras. El usuario llena todos los campos de la estructura: ciudad
destino, valor pasaje a esa ciudad y número de pasajeros que viajaron en cada mes a esa ciudad
destino. Cuando termine de ingresar toda la información, debe salir un menú que permita escoger
entre las operaciones posibles (según requerimientos del algoritmo).
6. Una librería dispone de un archivo de ventas de la semana con el siguiente diseño de registro:
Descripción de campo Tipo Observaciones
Título del libro Alfanumérico
Editorial Alfanumérico 1. Springer.
2. Santillana.
3. Norma.
Valor venta Numérico
Área Numérico 1. Informática
2. Cálculo
3. Vivamos la física
Cantidad vendida Numérico
Hacer un algoritmo para hallar la siguiente información solicitada por el administrador:
a) Título del libro del área de Informática, de menor cantidad vendida.
b) De qué área entre Cálculo y Vivamos la física, se vendieron más libros.
c) Título del libro, editorial y total de ventas de cada libro.
d) Total de ventas en la semana y promedio de venta de cada área.
e) Salir
NOTA: El algoritmo debe permitir llenar un arreglo de estructuras hasta que el usuario decida no
ingresar más libro. A través de un menú de selección se debe permitir llenar la estructura. Cuando
se está llenando la información de un libro debe salir un menú que permita escoger entre las
editoriales y otro entre las áreas posibles. Cuando termine de ingresar todos los libros con su
respectiva información, debe salir un menú que permita escoger entre las operaciones posibles
(según requerimientos del algoritmo).