Aplicación de terminal para manejar la contabilidad de una empresa pequeña.
Este sistema fue entregado como proyecto final para la asignatura Lógica y Algoritmos en junio, 2024.
Los clientes son identificados por un ID, su nombre, su dirección e información de contacto.
Una venta esta compuesta por un ID, la fecha, el nombre del cliente, la cantidad del producto comprado y el monto de la venta. Para poder calcular el monto, se requiere que el usuario haya especificado el precio por unidad previamente; el monto de una venta se calcula automáticamente con este cuando se ingresa la cantidad comprada en una venta. Adicionalmente, se le pregunta al usuario si el cliente ya pagó el monto. Si no se ha pagado, la venta se agrega al registro de pagos pendientes.
Los pagos pendientes se registran a la hora de crear una venta que no se ha pagado. Se almacenan con los datos de la venta a la que corresponden: el ID, la fecha, el nombre del cliente y el monto de la venta. En el menú de este módulo, solamente se pueden mostrar y eliminar pagos pendientes. Cuando uno se elimina, el registro de venta al que corresponde se actualiza para reflejar que el cliente ya pagó. Similarmente, cuando una venta se edita para registrar el pago del cliente, se elimina el registro correspondiente de pago pendiente.
Un costo fijo esta compuesto por un ID, el monto del costo y una pequeña descripción.
El módulo de costos variables es igual al de costos fijos; la única diferencia es que a la hora de registrar un costo variable, también se le pide al usuario el mes al que corresponde el costo.
El sistema permite calcular los totales de todos los montos que ha registrado el usuario. A la hora de calcular ingresos, se suman los montos de todas las ventas del mes actual. Similarmente, cuando se calculan los costos totales, solamente se suman los costos variables del mes actual.
g++ main.cpp src/calculos.cpp src/clientes.cpp src/costos.cpp src/menus.cpp src/pendientes.cpp src/precio.cpp src/titulos.cpp src/util_funcs.cpp src/ventas.cpp -Iheaders -o mainclang++ main.cpp src/calculos.cpp src/clientes.cpp src/costos.cpp src/menus.cpp src/pendientes.cpp src/precio.cpp src/titulos.cpp src/util_funcs.cpp src/ventas.cpp -Iheaders -o main| Lenguaje | Archivos | Líneas | Código | Comentarios |
|---|---|---|---|---|
| C Header | 11 | 411 | 198 | 71 |
| C++ | 10 | 3815 | 2796 | 201 |
| Markdown | 1 | 79 | 0 | 46 |
| Total | 22 | 4305 | 2994 | 318 |
- LemonLib:
- Utilizado como base para
headers/colors.h. El código deLemonLib/LemonLibCSB.h, y su funcionalidad para colorear texto en el terminal fue adaptada y simplificada para este proyecto.
- Utilizado como base para
- patorjk.com:
- Utilizado para crear el arte ASCII de los menús.