{"id":51033133,"url":"https://github.com/jp-zuniga/sistema-contable","last_synced_at":"2026-06-22T02:33:21.688Z","repository":{"id":299342157,"uuid":"988703060","full_name":"jp-zuniga/sistema-contable","owner":"jp-zuniga","description":"Proyecto de curso de la asignatura Lógica y Algoritmos.","archived":false,"fork":false,"pushed_at":"2025-07-15T04:30:13.000Z","size":582,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-15T10:14:02.617Z","etag":null,"topics":["accounting","cpp","finance","sales","sales-analysis","terminal-app","terminal-based","terminal-colors","terminal-ui","tui"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jp-zuniga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-23T00:28:28.000Z","updated_at":"2025-07-15T04:30:17.000Z","dependencies_parsed_at":"2025-06-16T04:15:35.131Z","dependency_job_id":"23ac05d6-15a7-4a9a-bd3f-8d4d90ec659d","html_url":"https://github.com/jp-zuniga/sistema-contable","commit_stats":null,"previous_names":["jp-zuniga/sistema-contable"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jp-zuniga/sistema-contable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jp-zuniga%2Fsistema-contable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jp-zuniga%2Fsistema-contable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jp-zuniga%2Fsistema-contable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jp-zuniga%2Fsistema-contable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jp-zuniga","download_url":"https://codeload.github.com/jp-zuniga/sistema-contable/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jp-zuniga%2Fsistema-contable/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34632718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accounting","cpp","finance","sales","sales-analysis","terminal-app","terminal-based","terminal-colors","terminal-ui","tui"],"created_at":"2026-06-22T02:33:16.534Z","updated_at":"2026-06-22T02:33:21.680Z","avatar_url":"https://github.com/jp-zuniga.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sistema Contable\n\nAplicación de terminal para manejar la contabilidad de una empresa pequeña.\n\n![Pantalla inicial del sistema.](./assets/menu-inicial.png \"Pantalla inicial del sistema.\")\n\n\u003e *Este sistema fue entregado como proyecto final para la asignatura Lógica y Algoritmos en junio, 2024.*\n\n---\n\n## Módulos\n\n### 1. Gestión de Clientes:\n\nLos clientes son identificados por un ID, su nombre, su dirección e información de contacto.\n\n![Menú de Gestión de Clientes.](./assets/menu-clientes.png \"Menú de Gestión de Clientes.\")\n\n### 2. Gestión de Ventas:\n\nUna 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.\n\n![Menú de Gestión de Ventas.](./assets/menu-ventas.png \"Menú de Gestión de Ventas.\")\n\n### 3. Gestión de Pagos Pendientes:\n\nLos 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.\n\n![Menú de Gestión de Pagos Pendientes.](./assets/menu-pendientes.png \"Menú de Gestión de Pagos Pendientes.\")\n\n### 4. Gestión de Costos Fijos:\n\nUn costo fijo esta compuesto por un ID, el monto del costo y una pequeña descripción.\n\n![Menú de Gestión de Costos Fijos.](./assets/menu-fijos.png \"Menú de Gestión de Costos Fijos.\")\n\n### 5. Gestión de Costos Variables:\n\nEl 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.\n\n![Menú de Gestión de Costos Variables.](./assets/menu-variables.png \"Menú de Gestión de Costos Variables.\")\n\n### 6. Cálculo de Totales:\n\nEl 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.\n\n![Menú de Finanzas.](./assets/menu-finanzas.png \"Menú de Finanzas.\")\n\n---\n\n## Compilación\n\n```bash\ng++ 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\n```\n\n```bash\nclang++ 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\n```\n\n---\n\n## Estadísticas\n\n| Lenguaje | Archivos | Líneas | Código | Comentarios |\n| :------- | :------: | :----: | :----: | :---------: |\n| C Header | 11       | 411    | 198    | 71          |\n| C++      | 10       | 3815   | 2796   | 201         |\n| Markdown | 1        | 79     | 0      | 46          |\n| Total    | 22       | 4305   | 2994   | 318         |\n\n---\n\n## Créditos\n\n* *[LemonLib](https://github.com/sea2horses/LemonLib):*\n    * Utilizado como base para `headers/colors.h`. El código de `LemonLib/LemonLibCSB.h`, y su funcionalidad para colorear texto en el terminal fue adaptada y simplificada para este proyecto.\n* *[patorjk.com](http://patorjk.com/software/taag/):*\n    * Utilizado para crear el arte ASCII de los menús.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjp-zuniga%2Fsistema-contable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjp-zuniga%2Fsistema-contable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjp-zuniga%2Fsistema-contable/lists"}