C – Ejercicio resuelto sobre gestión de películas

En este post de programación en C voy a resolver un ejercicio que trata sobre cines y la gestión de películas. Es un ejercicio para practicar ANSI C. Dice así:

Diseñar un programa en Lenguaje C que almacene la información de las películas que se proyectan en las distintas salas de los siguientes cines: CDMX Norte, CDMX Oriente, Reforma y Perisur.

Cada cine tiene 3 salas, hay 2 horarios distintos en cada sala (4:00 pm y 6:00 pm) Realizar un menú para el uso de este programa. En el programa debe definirse las estructuras de datos (struct) necesarias para almacenar la información sobre las películas: título de la película, hora de inicio, cines y salas donde se proyecta, clasificación (A todo público, B adolescentes y adultos y C mayores de 21 años).

El menú del programa debe tener las siguientes opciones:

  1. Registrar una película. Si ya había alguna película, está será sustituida por la proporcionada en esta opción.
  2. Desplegar toda la información de la película que se proyecta en la sala de un cine. Se pedirá al usuario que proporcione el cine, la sala, la hora y el día correspondiente, y el programa listará la información de la película que está proyectada en la cartelera. En caso de no haber película proyectada, se visualizará el mensaje correspondiente.
  3. Buscar película. El usuario elige la película que quiere buscar y desplegar toda la información.
  4. Listar películas que se están exhibiendo en un cierto día por clasificación de edad.
  5. Salir del Programa.

Veamos entonces cómo resolver ese ejercicio.

(más…)

C – Frecuencia de números aleatorios

Hoy vamos a ver un ejercicio de programación en lenguaje C, también conocido como ANSI C. Se trata de generar números aleatorios, agregarlos a una lista (arreglo) y luego agruparlos para obtener la frecuencia con la que se repiten.

El ejercicio dice así:

Realizar un programa que genere de manera aleatoria 100 números en el intervalo del conjunto del 1 al 20, y después genera una lista con la frecuencia de cada número. Los números generados de manera aleatoria se deben de visualizar; la frecuencia de números se debe visualizar.

Veamos cómo resolverlo usando una pila, arreglos y algunas funciones.

(más…)

Pila dinámica en C

Implementación de una pila dinámica en C

Pila o stack dinámica en el lenguaje C

Una pila es una estructura de datos simple. Los datos se van apilando uno tras otro. Podemos abstraer cada elemento como un nodo que puede apuntar a otro nodo.

Su modo de acceso es LIFO: el último en entrar es el primero en salir. Las operaciones que tiene son 2: push y pop; la primera le pone un elemento y la segunda quita el último.

Pila dinámica en C

Pila dinámica en C

Veremos las operaciones básicas de una pila o stack en C; además de otras que hice para exponer aquí. Son:

  • Tamaño: devolver el tamaño de la pila
  • Apilar, también conocido como push: agregar un elemento
  • Desapilar, o la operación pop: quitar el último elemento; es decir, el elemento superior
  • Leer último: leer el elemento superior de la pila
  • Vacía: indica si la pila está vacía
  • Imprimir: recorrer la pila e imprimir sus valores

Por cierto, esta pila será dinámica: podremos poner elementos infinitos siempre y cuando nuestra memoria RAM alcance (cosa que es muy, muy difícil que ocurra)

(más…)