Está en la página 1de 3

Enunciado

Un Laboratorio de reparación de teléfonos celulares necesita que se desarrolle un programa


en lenguaje C que cubra las siguientes necesidades:

 Al ejecutar el programa se le deberá solicitar al usuario una contraseña la cual estará


predeterminada en el código fuente y siempre será la misma: “abc”. Si el usuario
ingresa una clave incorrecta no podrá acceder a las opciones de menú.

 El programa deberá presentar un menú con las siguientes opciones:


1. Ingresar nuevo teléfono a reparar.
2. Imprimir la cantidad total de pedidos de reparación que han sido ingresados.
3. Imprimir detalles de reparaciones a realizar y costo promedio.
4. Salvar datos en Archivo.
5. Salir

 Opción 1 de menú: deberá solicitar al usuario que ingrese los datos correspondientes
a cada teléfono a reparar.
Todos los datos ingresados deberán almacenarse en un vector de estructuras que
tendrá un máximo de 300 posiciones.
Por cada teléfono a reparar se deberá ingresar los siguientes datos a almacenar en una
posición del vector de estructuras mencionado:
o Fecha: deberá almacenarse en un vector de caracteres de 10 posiciones.
o Nombre y Apellido del cliente: deberá almacenarse en un vector de caracteres
de 50 posiciones.
o Marca y Modelo de teléfono: deberá almacenarse en un vector de caracteres
de 50 posiciones.
o Reparación a realizar: deberá almacenarse en un vector de caracteres de 200
posiciones.
o Costo de la reparación: deberá almacenarse en una variable del tipo float.

Para clarificar, se detalla un ejemplo de los datos a ingresar por teclado:

Impresión por pantalla Dato ingresado


por el usuario
Por favor ingrese la fecha: 07/02/23
Ingrese Nombre y Apellido: Juan Perez
Ingrese la marca y el modelo Samsung A10
del teléfono a reparar:
Ingrese la reparación a Reemplazo de
realizar: Pantalla
Ingrese el costo de 5000
reparación:

 Opción 2 de menú: Se deberá contabilizar la cantidad total de teléfonos a reparar que


han sido ingresados desde que se ejecutó el programa.
Para esto se podría utilizar un contador que se incremente durante el ingreso de los
datos.
Al ingresar a la opción 2 de menú se deberá imprimir el valor del contador.
Tener en cuenta que si se sale del programa y se vuelve a ingresar el contador quedará
inicializado en cero.

 Opción 3 de menú: Se deberá imprimir el contenido de todas las estructuras


contenidas en el vector de estructuras.
Solo habrá que imprimir los datos correspondientes a las solicitudes de reparación
ingresadas. Por ejemplo, si se ingresaron solo 3 reparaciones, se deberá imprimir solo
3 estructuras.
Para implementar esta opción de menú se solicita crear una función en un archivo
fuente diferente al main.c que reciba un puntero que apunte al comienzo del vector
de estructuras, también deberá recibir la cantidad total de reparaciones registradas.
Dentro de dicha función se deberá realizar las siguientes tareas:
o Imprimir por pantalla el contenido de cada estructura de manera tal de que el
usuario del programa pueda ver los datos correspondientes a cada reparación
registrada. La impresión se deberá realizar utilizando el puntero recibido por
parámetro.
o Calcular el promedio del costo de reparación. Para el cálculo será necesario
sumar el costo de todas las reparaciones ingresadas y dividir dicho valor por la
cantidad total de reparaciones. El valor obtenido tendrá que almacenarse en
una variable del tipo float la cual deberá retornarse al programa principal.
o Desde el programa principal se invocará a la función mencionada. La función
retornará el promedio de costo de reparación. Dicho valor deberá imprimirse
desde el programa principal main.c.

 Opción 4 de Menú: Almacenar en un archivo de texto llamado “Reparaciones.txt” los


datos correspondientes a cada estructura agregando las descripciones
correspondientes para que cualquier usuario pueda interpretar la información. Los
datos de cada reparación deberán almacenarse en una nueva línea al final del archivo.
Ejemplo:

07/02/23, Juan Perez, Marca: Samsung A10, Reparacion: Pantalla, Costo: 5000.
07/02/23, Pedro Zeta, Marca: Apple iPhone7, Reparacion: Pin Carga, Costo: 10000.

El modo de apertura de este archivo deberá permitir agregar nuevas líneas al final del
mismo. Si se cierra el programa y se vuelve a ejecutar al otro día, se deberá agregar las
nuevas solicitudes de reparación al final del contenido previo.

Condiciones de entrega:
 Se debe entregar la carpeta completa del proyecto de CodeBlocks comprimida. El
nombre del archivo debe ser APELLIDO-NOMBRE-DNI todo en minúsculas.
 Recordar salvar/guardar el proyecto antes de entregar, para una correcta
incorporación de las fuentes adicionales.

Condiciones de aprobación:
 El programa deberá compilar sin errores SIN EXCEPCIÓN. En caso de que no compile
no será evaluado el código.
 En caso de existir Warnings sugerimos su revisión.
 El programa deberá tener al menos una función que reciba parámetros.
 El programa deberá tener al menos una función que devuelva un parámetro.
 El programa deberá realizarse con múltiples fuentes.
 El programa deberá utilizar vector de estructuras.

Se tendrá en cuenta la estética de programación, nombres de variables, legibilidad del código,


comentarios, y todo lo que facilite y optimice el programa.

Notas:
 Tener en cuenta que no es necesario realizar todos los puntos para aprobar el
examen. Aquellos alumnos que lo logren podrían obtener la nota máxima. Los
alumnos que solo realicen algunos puntos podrían aprobar con una nota menor.

 Aquellos alumnos que entreguen el examen de manera escrita, deberán hacerlo con
letra clara y legible.

También podría gustarte