Informe
Informe
1. Inexactitud en el Registro de Inventario: Es posible que las diferencias entre el stock registrado y
el stock físico se deban a errores de entrada de datos, pérdidas de productos, o movimientos no
registrados. Esto puede generar confusión sobre la verdadera disponibilidad de productos.
2. Diferencias en Conteo: Cuando se realizan conteos manuales, pueden presentarse errores
humanos, lo que podría ocasionar una discrepancia en los resultados. La necesidad de repetir el
conteo si el personal no está convencido de las diferencias agrega tiempo y recursos al proceso.
3. Documentación y Registros: El ajuste de inventario requiere una documentación meticulosa que
debe incluir varios elementos, como la fecha del ajuste, el serial del producto, el motivo del ajuste
y los stocks anterior y nuevo. La falta de un sistema eficiente para gestionar esta documentación
puede llevar a errores y pérdida de información.
4. Interrupciones en el Proceso de Inventario: Durante el proceso de inventario, es crítico que no se
realicen operaciones automatizadas que puedan alterar el stock. Esto requiere un control riguroso
y bien definido, y cualquier error en este aspecto puede llevar a inconsistencias que afecten la
confiabilidad del inventario.
5. Necesidad de Automatización: La implementación de un software que facilite y automatice este
proceso en C++ es esencial para mejorar la eficiencia, reducir el riesgo de errores humanos y
asegurar un registro claro y accesible de todos los ajustes de inventario que se realicen.
6. Impacto en la Gestión del Almacén: Las discrepancias en el inventario pueden tener impactos
significativos en la cadena de suministro, afectando la capacidad de satisfacer la demanda del
cliente y generando pérdidas económicas.
Código Impreso
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <iomanip>
#include <windows.h>
struct Producto {
int serial;
string nombre;
string motivo;
int inventario;
string fecha_ajuste;
};
vector<Producto> productos;
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
for (i=x1;i<x2;i++){
for (i=y1;i<y2;i++){
if (p.serial == producto.serial) {
p = producto;
return;
}
productos.push_back(producto);
void mostrarProductos() {
if (productos.empty()) {
return;
if (producto.serial == serial) {
if (diferencia != 0) {
cout << "Diferencia en producto " << serial << ": ";
archivoComparacion << "Producto con serial " << serial << ": ";
if (diferencia > 0) {
cout << "+" << diferencia << " (positivo)" << "\n";
archivoComparacion << "+" << diferencia << " (positivo)" << "\n";
} else {
producto.inventario = existencia_fisica;
} else {
cout << "No hay diferencia en producto " << serial << " (0)" << "\n";
archivoComparacion << "No hay diferencia en producto " << serial << " (0)" << "\n";
if (archivo.is_open()) {
archivo.close();
cuadro(0,0,30,2);
} else {
cuadro(0,0,45,2);
ifstream archivo(nombreArchivo);
if (archivo.is_open()) {
string header;
Producto producto;
productos.push_back(producto);
}
archivo.close();
cout << "Datos cargados desde " << nombreArchivo << endl;
if (archivo.is_open()) {
archivo.close();
cuadro(0,0,46,2);
gotoxy(2,1); cout << "Conteo fisico guardado en " << nombreArchivo << endl<<endl;
int main() {
system("color 75");
cargarDesdeArchivo("inventario.txt");
char opcion;
do {
system("cls");
cuadro(40,0,60,2);
gotoxy(45,1); cout<<"INVENTARIO";
gotoxy(46,3); cout<<"OPCIONES";
gotoxy(41,7); cout<<"4-Guardar";
gotoxy(41,9); cout<<"6-Salir";
system("cls");
if (opcion == '1') {
cuadro(0,0,20,2);
getline(cin, nuevoProducto.nombre);
getline(cin, nuevoProducto.motivo);
getline(cin, nuevoProducto.fecha_ajuste);
agregarOEditarProducto(nuevoProducto);
cuadro(0,0,20,2);
gotoxy(5,1);cout<<"Comparacion";
mostrarProductos();
guardarConteoFisico("conteo_fisico.txt");
system("pause");
archivoComparacion.close();
return 0;