lunes, 8 de junio de 2026

La empresa CursoSys lo contrata para desarrollar un software que permita registrar el dictado de su curso

La empresa CursoSys lo contrata para desarrollar un software que permita registrar el dictado de su curso. La empresa dicta un curso y tiene diferentes tipos de alumnos: 

 • Alumno invitado: es gratuito y aprueba el curso con una nota mayor a 60 en el examen. 

 • Alumno medio: el cual paga una suscripción y aprueba el curso con 3 exámenes los cuales tienen que tener un promedio mayor a 70. 

 • Alumnos premium: el cual paga una suscripción y aprueba el curso con 5 exámenes los cuales tienen que ser mayores a 70 y tener un promedio mayor a 80% 

El alumno tiene un código, nombre y apellido y las notas dependientes del tipo. 

1. Realice un diseño 

2. Realice una función que liste los alumnos que aprobaron el curso. 

3. La empresa necesita una funcionalidad que permita al usuario invitado cambiar a usuario medio o premium.

sábado, 6 de junio de 2026

Empresa de venta de combustibles

La empresa combustibles lo contrata para realizar el sistema de cobro, el sistema recibe un archivo de texto el cual tiene el consumo de los clientes con el siguiente formato:
 
int id
char[250] nombre_cliente
int litros_consumidos

Cuando un cliente consume menos de 1000 litros es considerado un consumo pequeño y paga $220 pesos por litro.
Cuando un cliente consume más de 1000 litros, pero menos de 5000 es considerado un consumo industrial- productivo mediano y paga $200 pesos por litro.
Cuando un cliente consume más de 5000 litros, es considerado un consumo extra y paga $150 por litro y un plus por excedente de $15000.

1.Diseñe la solución utilizando los conceptos de poo, permitiendo imprimir por pantalla el nombre de los clientes y lo que deben pagar, ordenado por monto a pagar. Sobrescribir el operador <<.

2.Guardar la información como respaldo en un archivo binario con los consumos agrupados e importes correspondientes.

Teoría: Defina de forma resumida: clase, objeto, herencia y polimorfismo. Para implementar polimorfismo en c++, ¿es necesario que la clase padre tenga un método abstracto? Justifique

viernes, 8 de mayo de 2026

Desarrollo de software que calcule estadísticas sobre textos

La empresa Análisis S.A. lo contrata para desarrollar un programa que calcule estadísticas sobre textos. El sistema debe leer un archivo de texto (solo una vez) y ejecutar distintas estadísticas para analizar su contenido.

Las estadísticas deben ser dinámicas: para un texto podría calcularse sólo la cantidad de palabras y, para otro, la cantidad de palabras y caracteres. Y es necesario que el diseño permita fácilmente agregar estadísticas.


  1. (25) Realice el diseño de la solución e implemente las clases. ¿Qué utilizaría para resolverlo: herencia, composición o ambos? Justifique su respuesta. 

  2. (30) Realice los siguientes estadísticas utilizando STL: 

    1. Obtener la cantidad de palabras que tiene el texto. 

    2. Obtener la palabra que más veces se repite.  

    3. Obtener la cantidad de caracteres sin contar los espacios. 

  3. (20) Guarde en un archivo binario los siguientes datos: Nombre del archivo (char 200) , cantidad de palabras (int), cantidad de caracteres (int) , la palabra que más veces se repite (char 200) 

  4. (25) En un archivo binario se almacena la siguiente información: nombre del autor (char[100]), cantidad de palabras (int), cantidad de caracteres (int) y la palabra más repetida (char[200]).

Dadas las estadísticas de un texto, determine quién es su autor comparando la información con los registros almacenados. Si no existe coincidencia, se debe indicar "desconocido".


Libre: Lo contratan porque necesitan diseñar paquetes de estadísticas para facilitar la configuración, es decir, estadísticas que se realizan en un conjunto de estadísticas. Diseñe e implemente las clases.

viernes, 27 de febrero de 2026

Diseño de software para analizar las conversaciones de su sistema de chat corporativo

La empresa de comunicación ChatCorp necesita que diseñes y programes un software que permita analizar las conversaciones de su sistema de chat corporativo.
El sistema actual guarda las conversaciones en archivos de texto, donde cada línea representa una afirmación o mensaje enviado por un usuario.
Algunas afirmaciones pueden generar respuestas directas, formando así hilos de conversación.

Por ejemplo, un archivo podría contener la siguiente conversación:
1. nombreUsuario1. ¿Cómo va el proyecto?
1.1.nombreUsuario2. Bien, estamos avanzando.
1.1.1.nombreUsuario1. Excelente, sigan así.
1.2.nombreUsuario3. Todavía falta terminar las pruebas.
2.nombreUsuario1. Recordá subir el informe hoy.
2.1.nombreUsuario2. Si, amo
3.nombreUsuario4. Pedimos unas pizzas?

Cada mensaje puede tener respuestas anidadas.
 
(25) Realice el diseño de la solución e implemente las clases.

(25) Realice un procedimiento que dado el nombre del archivo de texto que permita leerlo y crear los objetos.

(30) Realice los siguientes métodos utilizando STL:
Obtener el o las líneas de chat con mayor cantidad de hilos.
Obtener el usuario que generó mayor cantidad de hilos.
Obtener el usuario y la cantidad de veces que escribió en el chat.

(20) Guarde el nombre de usuario (char de 200) y la cantidad de veces que escribió en el chat en un archivo binario.
 

Libre: La empresa lo vuelve a contratar dado que desea implementar el concepto de reacción (como “👍”, “❤️”, “😂”). Estos serían implementados como un hilo más pero es necesario distinguirlos para futuros análisis. El archivo de texto va a ser así : 

1. nombreUsuario1. ¿Cómo va el proyecto?

1.1.nombreUsuario2. Bien, estamos avanzando.

1.1.1.nombreUsuario1. :D

Donde la línea 1.1.1 es una reacción 😀. Las reacciones no pueden contener sub hilos. 

Indique que debe de cambiar en el modelo para implementar dicha funcionalidad.





viernes, 13 de febrero de 2026

Empresa Game X - Diseño e implementación de Sistema de puntaje

 La empresa Game X lo contrata dado que quiere implementar un nuevo sistema de puntaje para sus jugadores. Los jugadores tienen diferentes niveles y cada nivel calcula de forma diferentes sus puntos: 

  • junior: cada logro suma 10 puntos. 

  • semi sr:  cada logro suma 5 puntos.

  • sr : cada logro suma 2 puntos y cada 10 logros tenes un punto más. 


Un jugador junior pasa a semi sr cuando logra 100 puntos y un jugador semi sr, se convierte en sr cuando llega a los 1000 puntos. 

El objetivo del sistema es calcular el puntaje de los jugadores para esto se cuenta con los siguientes archivos binarios: 


jugador.dat

logros.dat

int nro

char nombre[200]

int nro_jugador


El sistema debe leer los archivos donde jugador.dat contiene la info del jugador y en logros.dat cada vez que aparece el nro de jugador es porque se registro un logro. 


  1. (25) Realice el diseño de la solución e implemente las clases. 

  2. (25) Realice un procedimiento que permita leer los archivos. 

  3. (20) Realice un procedimiento que genere un archivo de texto con el nombre del jugador y su puntaje. Para esto sobreescriba el operador <<.

  4. (30) Realice los siguientes métodos utilizando STL: 

    1. Obtener el o los jugadores que tienen mayor cantidad de puntos

    2. Obtener la cantidad de jugadores por nivel. 

    3. Obtener el o los nombres de jugadores que se repiten.  


Libre: La empresa lo vuelve a contratar dado que necesita que los niveles no dependan de la cantidad de puntos, sino que sean asignados y guardados en el archivos. ¿Haría un cambio en el modelo de clases? ¿en los archivos?




viernes, 12 de diciembre de 2025

Diseñar e implementar sistema de descuentos

 La empresa mayorista MA lo contrata dado que quiere implementar un nuevo sistema de descuentos. El objetivo principal del sistema es que dada una nueva venta calcule el porcentaje de descuento a aplicar. 

Actualmente la empresa mayorista cuenta con los siguientes descuentos: 

  • Descuento por cantidad anual: se le indica un 1% de descuento cada 100 productos vendidos

  • Descuento por monto anual: se le indica un 20% de descuento si el cliente realizo compras por más de 10 mil pesos o 25% si realizo compras por más de 20 mil

Además la empresa cuenta con 2 archivos binarios, uno para cliente y otro para ventas: 


cliente.dat

ventaAnual.dat

int nro

char nombre[200]

char tipo //A o B 

int nro_cliente

int cantidad

double montoTotal


Los clientes pueden ser de tipo A o B, en el caso de los clientes de tipo A aplican todos los descuentos (es decir el descuento total esta dado por la suma de los descuentos) y el tipo B solo los descuentos por monto anual. 


El objetivo del sistema es que dado una nueva venta se calcule el descuento que se debe aplicar. 


Además se debe de tener en cuenta que los clientes pueden cambiar de tipo a lo largo del año. 


  1. (25) Realice el diseño de la solución e implemente las clases. 

  2. (20) Realice la funcionalidad que dada una nueva venta calcule el descuento que se debe aplicar en la clase que corresponda.

  3. (25) Realice un procedimiento que permita leer los archivos.

  4. (30) Realice las siguientes métodos utilizando STL: 

    1. Obtener el o los clientes que compraron la mayor cantidad de items. 

    2. Obtener el monto total de todas las ventas

    3. Obtener el o los nombres de clientes que se repiten.  


Libre: La empresa lo vuelve a contratar dado que necesita un nuevo tipo de cliente “C”, el cual tiene un nuevo tipo de descuento que obtiene el mayor de los descuentos (calcula los dos y obtiene el mayor). Realice el diseño que permite resolver este problema.

viernes, 28 de noviembre de 2025

Diseñar y programar un software que permita calcular el bono anual de los empleados

 La empresa Venta S.A. lo contrata para diseñar y programar un software que permita calcular el bono anual de los empleados. En la empresa hay 2 tipos de empleados: 

  • Vendedores, cobran un porcentaje de todo lo vendido en el año

  • Jefes, cobran un porcentaje de todo lo que vendieron sus empleados o personas a cargo. 

La información de los empleados se encuentra en 2 archivos binarios, que tienen el siguiente formato: 

Empleado.dat

Jefe.dat

int nro

char[200] nombre

double ventas 

double porcentaje

char tipo //V o J 

int nro_jefe

int nro_empleado


En el caso del jefe las ventas no son cargadas y no tienen importancia. 

El archivo Jefe.dat contiene la relación entre el jefe y su empleado a cargo.  

Por ejemplo, Juan y Pedro vendieron 1000 pesos en el año y tienen un porcentaje de 10% por lo tanto cobran 100 pesos de bono cada uno y su jefe Andres, tiene un porcentaje del 10 % por lo tanto cobra 200 pesos de bono. 

Los Jefes pueden tener a cargo empleados y/o jefes. De esta manera, Ana que solo es jefa de Andres y tiene un porcentaje del 10% cobra 200 también. 


  1. (30) Realice el diseño de la solución e implemente las clases. Conteste: ¿Se puede utilizar polimorfismo, cual es la ventaja o desventaja? 

  2. (25) Realice un procedimiento que permita leer los archivos.

  3. (15) Guardar en un archivo de texto todo los empleados (nro y nombre) y el monto a cobrar. Para esto sobreescriba el operador <<  

  4. (30) Realice las siguientes métodos utilizando STL: 

    1. Obtener el o los empleados que cobran la mayor cantidad.

    2. Obtener el o los jefes que tienen más empleados a cargo. 

    3. Obtener el nombre de los empleados que más se repite.  


Libre: La empresa lo vuelve a contratar dado que surgió un nuevo tipo de empleado que tiene muchas ventas y estas ventas están en un archivo binario con el siguiente formato: 

int nro_empleado

double monto_venta


Diseñe este nuevo tipo de empleado y realice el procedimiento que permita leer los datos.


La empresa CursoSys lo contrata para desarrollar un software que permita registrar el dictado de su curso

La empresa CursoSys lo contrata para desarrollar un software que permita registrar el dictado de su curso. La empresa dicta un curso y tien...